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.

Figure 3. 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. Here, there is a selection for inserting a network into a Fieldbus editor.

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 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.


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.

Web Server

A Web server can also be used to process information in and out of motion controllers simply by entering the IP address. Once connected, machine operation information is available as well as a certain amount of remote control. Operational data generated by the motion controller during machine operation can also be exported through the Web server.

Memory Card

Another common way to access information is with a memory card. This method is not network-based, but a memory card allows users to import data into the motion controller and move operational data from the controller to a file. In addition, an SD (Secure Digital) card can be used to transfer controller, system, and drive configuration information from one motion controller to another. This provides a time-efficient setup method for duplication of the controller’s firmware, application software, and parameters from one machine to the next.

Remote Memory

Connecting to an external hard drive through an Ethernet connection is another option to pass information. To make the connection, the motion controller’s Web server is used to set up the IP address and other connection information. An external hard drive can be accessed in the same building or from elsewhere, making it easier for the user to put information on a remote central memory location that stores factory-wide operation information. Also, in the motion controller’s program, the remote memory files with operational information can be read when running the machine.

Which Network to Choose?

With all the options available, which one makes the most sense for your application? Considerations include:

  • What is available on the present controllers you are using?

  • What is your personal experience with the network? Having previous experience will help minimize the time to get the network up and working.

  • What is your supplier’s experience with a specific network? Do they have application experience that is often critical for a timely integration?

  • Can the network update at the rates the machine requires? Look at your application specifics to determine what update times you need to pass the information. In many applications, there will be two levels; for example, information that needs to get there in 1 to 5 milliseconds and information that can get there in 50 to 200 milliseconds.

  • What is the network’s effect on other areas of motion controller performance? Will the network loading compromise other areas of machine performance?

  • For a particular network, what tools and documentation does the product/vendor have to help establish communications and monitor information that is passed?

  • What technical support (human interaction) does the supplier have in case you need it?

  • What third-party tools are available? With Modbus, HTTP, or UDP, for example, there are free tools available online for setting up an interface to communicate with the motion controller.

  • What security and safety measures do they have in place?


Here are steps to getting the network to work and achieving the desired performance goals:

  • Define the need. What information needs to be passed through the network — motion, process, I/O, status, etc.?

  • What is the required update rate of each parameter?

  • Use an industrial-grade Ethernet cable. The extra cost is well worth it to prevent any noise issue and machine downtime.

  • Set up communication parameters such as update rate, data size, and IP address on the controller to establish the connection.

  • Start small. Get basic communication working first. Pick one or only a few parameters to send and receive successfully. It is faster to make adjustments to a few parameters during the development process.

  • Add the rest of the parameters.

  • Verify machine performance on both sides of the network. Is all the information getting there and at the needed update rate? Any effect on motion or other aspects of the control?


Transferring information in and out of motion controllers is a function that is critical to the daily operation and overall productivity of today’s factories. This article presented many of the setup options that are available, and many of the factors that need to be considered when determining which one works best for you.

Ethernet-based communication within factories has been on the rise over the past 10 years, and as more capabilities are developed to measure and track machine performance, it is sure to keep growing. The diversity of applications and information available can provide a competitive edge for those factories making use of the technology. Building the expertise of your staff to include the most current technologies will put you in position to capitalize on new advancements.

This article was written by Carroll Wontrop, Senior Systems Engineer at Kollmorgen, Radford, VA. For more information, visit here . Contact Mr. Wontrop at This email address is being protected from spambots. You need JavaScript enabled to view it..