The need for Ethernet-based communication within the factory has grown over the past 10 years. Detailed information about the tasks and performance of machines at every stage is critical to productivity. As capabilities have expanded from performance reporting to predictive maintenance warnings and beyond, the need to connect multiple controllers within the same machine and elsewhere in the factory has also grown.

Machine Control Formats

There are two formats when incorporating high-performance servo motion control in a machine. In Figure 1, the motion and machine controllers are separate. The motion controller focuses on motion and the machine control — a resident programmable logic controller (PLC) or personal computer (PC) — handles the rest of the machine control. The advantage of having a separate motion controller is that it will often have more functionality and processing power dedicated to motion performance.

Figure 1. One format for incorporating high-performance servo motion control in a machine is to have the motion and machine controllers separate.

More motion types such as camming and more operational modes such as torque, speed, gearing, and more time-critical I/O (Input/Output) are benefits of standalone motion controllers. In addition, with motion control as the central focus, higher motion performance and precision is often possible when motion and machine controllers are separate.

The second type of machine control combines both the machine and motion control into one controller, as demonstrated in Figure 2. Thanks to increasingly powerful processors, there are now motion controllers that include PLC functionality. This can eliminate the need for the PLC or a PC-based machine controller, which increases the potential for lower total machine control cost.

Figure 2. A second format for machine control combines the machine and motion control into one controller.

Information Transferred

Motion controllers are used in a variety of industries including medical, laboratory automation, robotics, printing, labeling, material forming, pharmaceutical, packaging, food and beverage, tire and rubber, and postal sorting. The primary data out of the motion controller is performance-related. The data can include how efficiently the machine is making widgets, how many widgets have been made, warnings about machine errors or limitations, and unexpected variations such as a heater in the machine operating at the incorrect temperature.

While knowing that a machine is operating properly and at peak efficiency provides peace of mind, knowing when it is not running properly can save money, time, and resources. Suppose you have a motor drawing more current than it should, indicating a mechanical problem, or a cut-to-length machine making improper cuts. Having a system programmed to provide machine performance data is critical to identifying and fixing these issues quickly.

Information moving from the machine controller to the motion controller is command-focused. These commands could be instructions or recipes for machine setup; for instance, part numbers or the parameters for making a specific widget type. They could also include motion specs such as distance, speed, camming motion points, and other operational details like periodic reminders for machine operators to perform routine maintenance.

Three types of information transfer mediums are:

  • Ethernet-PLC Oriented Networks — These are the common Industrial Ethernet Fieldbuses incorporated into traditional PLCs such as Ethernet/IP, Profinet, EtherCAT, SERCOSIII, vendor-specific, and others.

  • Ethernet-PC Oriented Networks — These are traditional PC-based networks such as UDP and HTTP.

  • Other Methods — Web servers, SD cards, remote memory, FTP, and VPN/eWON.

Ethernet Communications Basics

  • Transportation medium is copper wire, CAT5 or CAT6 cable with RJ45 termination. Cables can be up to 100 meters in length between each node.

  • Connection topology can be a line, a star, or a ring, although many network implementations only support a subset of the three.

  • Built-in electrical isolation is needed in a lot of motion or machine applications to help eliminate part variances and maintain precision motion control.

  • Deterministic or non-deterministic transfer of information, depending on the network and how it is configured.

  • Update times can be 500 milliseconds or higher, and down to 250 microseconds, depending on the applications and the network.

  • Automatic network configuration and integrity checks are available to ensure the quality of the network transmission.

  • Information passed between the motion controller and the machine controller or external controller is often called parameters, variables, or tags in the form of single objects or in the form of a data array or structure.

Modbus TCP/IP

The Ethernet-based Modbus TCP/IP is built on the Modbus RTU protocol. It is an industrial standard used with and supported by a variety of devices and control products. Modbus TCP/IP has a standard address block scheme for transferring binary and non-binary data in 32-bit or 16-bit formats. It is non-deterministic, and the data update time can vary. In general, the performance range for update times between two devices is 20 to 500 milliseconds.

To integrate a Modbus TCP/IP interface into a motion controller, there will typically be a configuration setup in the motion controller’s programming software. In Figure 3, there is a selection for inserting a network into a Fieldbus editor.

Linking Modbus addresses to preset tags or variables is straightforward as there is no text programming required. Links are established either by the drag-and-drop method or by adding them via a dropdown dialog box.

Setting up the Modbus connection on the machine controller side requires the configuration of an IP address. Then, by importing a tag file, motion parameters are available for use in the machine controller’s tag or variable dictionary and application program.

Ethernet/IP

Ethernet/IP is widely used because of its flexibility, scalability, and ease of integration. Possible configurations include Polled I/O, Flex I/O, and Explicit Messaging. It can be built into motion controllers and can provide direct access to the motion controller’s machine and process parameters. Transmission update rates can go down as low as 10 milliseconds, although many applications work well with update rates in the 30- to 100-millisecond range.

Implementation on the motion control side is accomplished through a setup screen in which a user sets the parameters pertinent to Ethernet/IP, and easily ties in the application program.

UDP (User Datagram Protocol)

UDP is gaining acceptance within the industrial automation world due to the simplicity and speed it delivers to machine control applications. UDP is often used in applications developed with Visual Basic (VB), Visual Studio (VS), and others. These languages have typically been used outside the machine automation world, but the low communication overhead makes the protocol appealing to automation applications. It can provide update rates down to 1-4 milliseconds.

Unlike in an Ethernet/IP setup, a UDP connection in some motion controllers is implemented without a fieldbus screen. Communication is established via PLC function blocks directly in the application program. Incoming information is read and parsed into motion control parameters.

HTTP (Hypertext Transfer Protocol)

HTTP has been called the language that “makes the Web work.” Although not specifically developed for machine automation, HTTP can also be used in the factory automation world. Languages used in PC-based controllers such as Visual Basic (VB), Visual Studio (VS), Excel, C#, C++, and Java offer HTTP communications support. HTTP is non-deterministic with communication rates of 50 to 300 milliseconds, which works well in applications that don’t need to pass time-critical information at the servo update rate, such as when communicating machine setup information.

In a motion controller, implementing the HTTP interface is done through the controller setup screen, making all of the variables in the dictionary available through the HTTP network. HTTP setup and communication of external controllers is simple, with transmissions only requiring the IP address of the motion controller and the parameter name.

EtherCAT

The speed and accuracy of EtherCAT makes it ideal for connecting devices to the motion controller such as remote I/O or drives. A common format in industrial automation applications is Can Over EtherCAT (COE), which enables data to be sent deterministically with update times as fast as ¼-millisecond or 250 microseconds. Data such as the type of part being made doesn’t need to be transferred during every cycle so a non-deterministic side of the protocol, called SDO or Mailbox, handles those updates.

A predefined ESI (EtherCAT Slave Information) file from the remote I/O or drives vendor defines a set of parameters that can be transferred. Some parameters, configured in process data objects (PDO), are updated cyclically. Other parameters that are transferred at a slower rate in the background (SDO or mailbox channel) can also be defined. Additionally, the motion controller, containing the EtherCAT master, can set device parameters when the network is initialized to configure the device for how it will be used in the application, as well as scan for devices on the network.

In the motion controller interface, a window shows which parameters are PDO parameters and can be sent cyclically. Parameters coming through the EtherCAT network can also be linked to PLC programming variables through specific controller function blocks; for example, if you need to read the position of a servo axis, a standard PLC open function block called MCReadActPosition can be used. On the device side, a wide range of variables can also be passed non-cyclically to the controller.

Multiple Interfaces

Some applications require multiple Ethernet-based network interfaces to connect to the motion controller. One way to accomplish this is through an external switch connected to a single RJ45 port on the motion controller. In Figure 4, there are three connections: Modbus TCP/IP, Ethernet/IP, and UDP. Modbus TCP/IP is going to the HMI. External controller #1 is connected via Ethernet/IP, and then a third connection uses UDP to connect to external controller #2 for SCADA implementation.

Figure 4. One way to connect multiple Ethernet-based network interfaces to the motion controller is through an external switch connected to a single RJ45 port on the motion controller. This example shows three connections: Modbus TCP/IP, Ethernet/IP, and UDP. Modbus TCP/IP is going to the HMI. External controller #1 is connected via Ethernet IP, and then a third connection uses UDP to connect to external controller #2 for SCADA implementation.

One practical question to ask is how using three networks will affect performance. Users should carefully plan the networks in use, optimizing the update rate for each and the information transferred, as well as the update rates of the programs in the motion controller to minimize any negative effects on performance.