Skip to main content

 Communications Between Numerically Controlled Machines

Numerically controlled machines have their functions determined and executed by a controller. These include, but are not limited to robots, computer numerically controlled (CNC) machine tools, and 3D printers. In an automated manufacturing work cell, a supervisory controller (generally a programmable logic controller (PLC)) acts as the cell’s main controller working with the controllers of a robot and a CNC of the cell. Communications between the numerically controlled (CNC) machines and other controllers like PLCs are handled through input and output signals (I/Os).

3D Printer

Analog and Digital Signals

Input and output signals are analog or digital in nature.

Analog Signals Digital Signals
Analog Signals Digital Signals
  1. An analog signal is continuous in time. It can be either an alternating current (AC) signal or a direct current (DC) signal.
  1. A digital signal is discrete. It is not continuous.
  1. An analog signal can represent small changes.
  1. A digital signal can have two levels (ON, OFF).
  1. An analog signal is a direct representation of a physical quantity. The voltage vs. seconds graph above could be produced by the revolutions per minute (rpm) of a motor shaft measured with a sensor like a tachometer.
  1. A digital signal is an indirect representation of a physical quantity. The voltage vs. seconds graph above could be produced by an incremental encoder. There are slots around the encoder's internal disk that allows a light beam to pass through. These beams strike a photocell generating the pulses shown above. Each pulse represents a certain degree of a motor shaft rotation. The total shaft rotations divided by elapsed time equals the rotational speed (rpm).

Industrial Robot I/Os

Some industrial robots use four different types of input signals and four different types of output signals.

  • Analog, digital, group, and robot inputs
  • Analog, digital, group, and robot outputs

Analog and digital I/Os are commonly used with outside devices and machines. For example, a robot could receive a digital input signal from a proximity switch when a part gets near that switch. The robot could also send out a digital output signal to a CNC machine. This signal could check if the CNC machine is available to move a part to be worked on.

A group I/O is a combination of multiple digital input and output signals working together.
Robot inputs and outputs are reserved for sensors or devices like pneumatic valves placed on the robot’s arm. Robot I/Os are usually digital.


Handshaking is the process that two network devices use to initiate communications between one other (a laptop computer and a wi-fi router, a modem, and another modem). It starts when one device sends a message to another device indicating that it wants to establish a communications channel. The two devices then send several messages back and forth that enable them to establish a communications protocol. Industrial robotic controllers initiate communication in a similar fashion.

Robot Handshake

Robot/CNC Handshake

In the case of industrial robots, as mentioned earlier, they have to work with other machines within their work-cell by communicating through I/Os.

For example, a robot to CNC handshake asks the CNC machine if it is available to work on the part the robot is holding. The robot waits for approval from the CNC machine. Once the approval comes, the robot places the part in the machine.

Robot/Robot Handshake

If two robots have to work in a work cell in a coordinated manner or in very close proximity, they have to use handshaking to prevent collisions.

For example, two robots can each use two digital outputs and two digital inputs to communicate with one another. The digital output for one robot is connected to the digital input of the second robot and vice versa. The handshaking is handled as two background tasks in the robots’ main program to keep the two robots from colliding with one another.

Transmitting signals/packets of data:

There are several ways in which robots can transmit their input/output signals and packets of programmed information. Some of these methods include:

Wired communication - with this type of communication the two robots are hardwired together using some type of communication cabling. Traditionally this has been the most common method of connecting industrial devices because it's robust, nearly fail-proof, and allows for high speeds of transmission.

Wi-Fi communication - uses Wi-Fi protocols to communicate packets of information between the two robotic systems. This allows communication between devices without having them connected to one another. It also allows for interfacing with internet-enabled devices.

Bluetooth communication - uses Bluetooth radio waves to connect the robotic systems together. This allows devices to be paired together for communication when the devices are in fairly close proximity.