Next Generation Control - Robot Integration Aid

Applies to machines built from: 
October, 2016


This document is intended to aid in the integration of a robot on a machine with the Next Generation Control (NGC). Always consult with robot integrators to help with your robot application.

The machine must have software version or higher.

Emergency Stop Setup

Connect the external Emergency Stop button to TB1-B on the I/O PCB as shown. Remove the jumper [1] at JP1.

Terminals 9 and 10 on TB1-B are an output, #111 RR_ESTOP_TO_ROBOT, that you can use to tell the robot that the machine is in an Emergency Stop state.

If a second Emergency Stop confirmation signal is necessary, add a third contactor (P/N 61-0046A NO, P/N 61-0047A NC) to each Emergency Stop button on the machine, wired directly to the robot.

Cell Safe Methods

The Cell Safe feature allows a program to continue running while the door is open in order to accommodate the use of the machine within a robot cell. Robot integrators are responsible for ensuring a safe cell enclosure. The presence of a robot cell is verified by detection of a signal which is sent from the robot cell to the control in one of two methods. Either or both can be used.

For the first method, the robot sends a pulse signal through Terminal 3 on TB1-A, discrete input #103 CELL_SAFE. The machine monitors that input for the discrete pulse. The pulse must be 2-10 hertz, 50% duty cycle, square wave.

For the second method the robot sets a timer value in program macro variable #3196 by Ethernet. This variable can be read at any time but it can only be set by Ethernet, not a g-code program. It has a range of 0-5000 milliseconds. The timer will count down from this value. When it reaches zero, the cell is no longer considered safe. In order to maintain continuity of cell safe, this variable should be reset before its counter reaches zero.

note: The second method may be better for use with a deadman switch, or in the robot’s teach mode.

The machine monitors both signal methods for the presence of a cell safe signal when there is a program running. This feature does not need to be enabled or disabled. If a door is opened when a cell safe signal is present, the active program will continue while the door is open. When there is a valid cell safe signal and the door is open, the spindle speed is limited. The maximum spindle speed is the value of Setting 292, Door Open Spindle Speed Limit. If the door is opened while the spindle speed is above this speed, the spindle will decelerate to the speed limit.

If a door is opened and the cell is NOT safe, the machine will go into a door hold—axis motion stops and the spindle speed is limited.

Robot Door Switches

On Haas machines, it is recommended that the control pendant and door open sensors are installed. These sensors will provide an input to the robot that can be used to determine if it is safe to operate. Any proximity sensor can be used for these applications. The control pendant proximity sensor is used to confirm that the pendant is in a safe position for robot operation. The door open sensors confirm the autodoors are completely open and it is safe to enter the machine.

If your machine has 2 doors, such as in a VMC, you can install 2 sensors, one for each door, and then have to separate inputs or wire them in series as shown below so that both must be energized to send a signal.

External sensors can either be directly wired to the robot, or can be wired to an interface used for communication with the robot.

M-Code Relays

The Next Generation Control I/O PCB has (5) user relay outputs.

The M-Code relays are in the lower-left corner of the I/O PCB. Use this illustration to find the terminal that corresponds to the desired M-Code.

These relays can activate probes, auxiliary pumps, clamping devices, etc. Connect these devices to the terminal strip for the individual relay. These relay contacts are isolated from all of the other circuits and can switch up to 120 V ac at 3.0 A. The relays are Single Pole Double Throw (SPDT).

  • NO - Normally Open
  • COM - Common
  • NC - Normally Closed


The M-Fin connector is at P8 on the I/O PCB. It has an input at Terminal 3, #18 M_FIN_INPUT, and an output at Terminal 1, #4 M_FIN_OUTPUT. You can purchase an M-Fin cable from Haas Automation (P/N 33-0404), or use the diagram to make your own cable.

M21-M25 Optional User M Function with M-Fin

M21 through M25 are for user-defined relays.

Each M-Code closes one of the optional relays and waits for an external finish (M-Fin) signal from the equipment. RESET stops any operation waiting for a relay-activated accessory to finish. Also, refer to M51 through M55 to activate the relay and M61 through M65 stop the relay. Only one relay can be switched at a time. A typical operation is to command a rotary product.

The sequence is:

  1. Run the machining portion of a CNC part program.
  2. Stop CNC motion and command a relay.
  3. Wait for a finish (M-Fin) signal from the equipment.
  4. Continue the CNC part program.

Optional 8M-code Relays

You can purchase additional M-Code relays in banks of 8.

Only the outputs on the I/O PCB are addressable with M21-M25, M51-M55, and M61-M65. If you use an 8M relay bank, you must use M29, M59, and M69 with P codes to activate the relays on the bank. The P codes for the first 8M bank are P90-P97.

M29 Set Output Relay with M-Fin

P - Discrete output relay from 0 to 255.

M29 turns on a relay, pauses the program, and waits for an external M-Fin signal. When the control receives the M-Fin signal, the relay turns off and the program continues. RESET stops any operation waiting for a relay-activated accessory to finish.

Setting 276 - Fixture Clamp Input Number

This setting specifies the input number to monitor for workholding fixture clamping. If the control receives a spindle start command while this input indicates that the workholding is not clamped, the machine gives an alarm.

The illustration shows an auxiliary presssure switch integration. The ground is connected to Terminal 6. Terminal 5 is input #97 WORK_HOLD_CLAMP. For this example, Setting 276 is set to 97.

Robot Intergration Troubleshooting

  1. Alarm 2001 - Make sure that both of the Emergency Stop contacts are correctly connected.

    Emergency Stop Testing

    Name PCB I/O Number Notes 0 Behavior 1 Behavior
    ESTOP_MASTER I/O PCB INPUT: 70 All E-Stop signals are “daisy chained.” They use a Normally Closed Contact. All E-Stop switches are released. One or more E-Stop switch(es) are pressed.
    Emergency Stop Flag MOCON N/A The signal is carried through the I/O PCB to the MOCON serial cable. All E-Stop switches are released. One or more E-Stop switch(es) are pressed.
    REDUNDANT_ESTOP SKBIF INPUT: 26 Normally Open Contact The E-Stop on the control pendant is pressed. The E-Stop on the control pendant is released.
    HMC_TC_CAGE_REDUNDANT_ESTOP I/O PCB INPUT: 13 Normally Open Contact The E-Stop on the tool changer cage is pressed. The E-Stop on the tool changer cage is released.
    PALLET_CHANGER_STATION_REDUNDANT_ESTOP I/O PCB INPUT: 19 Normally Open Contact The E-Stop on the pallet station is pressed. The E-Stop on the pallet station is released.
    RR_REDUNDANT_ESTOP I/O PCB INPUT: 98 Normally Open Contact The E-Stop on the tool changer door is pressed. The E-Stop on the tool changer door is released.

  2. The auto doors open but the robot does not advance. There is an incorrect cell safe signal.

Be aware: Many service and repair procedures should be done only by authorized personnel. The service technicians at your Haas Factory Outlet (HFO) have the training, experience, and are certified to do these tasks safely and correctly. You should not do machine repair or service procedures unless you are qualified and knowledgeable about the processes.

Danger: Some service procedures can be dangerous or life-threatening. DO NOT attempt a procedure that you do not completely understand. Contact your Haas Factory Outlet (HFO) and schedule a service technician visit if you have any doubts about doing a procedure.