ADI’s ADEPT Framework now supports Ethernet for Control Automation, EtherCAT, for use in Real-Time Linux servers. EtherCAT is a fieldbus system suitable for both hard and soft real-time computing, making it a great choice for use in ADI’s ADEPT Framework and real-time Linux servers. The EtherCAT protocol, standardized in IEC 61158, brings the power and flexibility of Ethernet to the world of industrial automation, motion control, real-time control systems, and data acquisitions systems. The advantages of EtherCAT are its high performance, deterministic behavior, flexible topology, ease of operation, and affordability. These advantages, coupled with ADI’s ADEPT Framework, make short work of integrating high performance MBSE projects.
What is EtherCAT?
EtherCAT is an Ethernet-based fieldbus system invented by Beckoff Automation. The goal was to apply Ethernet for automation applications requiring short data update times with low communication jitter and reduced costs. The protocol is standardized in IEC 61158.
The EtherCAT network consists of one master device and one or more slave devices. EtherCAT uses a standard Ethernet frame. The slave devices read from and write to the frame as the frame is processed “on the fly” in the slave hardware. The Ethernet protocol is optimized for process data and is transported in the standard IEEE 802.3 Ethernet frame using Ethertype 0X88a4. Since the microprocessors in the slave devices are not involved, short cycle times can be achieved. Typical network update rates are 1-30 kHz, but EtherCAT can also be used with slower cycle times. Since additional nodes and data do not require separate frames, bandwidth utilization is maximized.
Slave devices have one or more ports. Slave devices close any open port automatically and return the frame if no downstream device is detected. This allows for a multitude of network topologies, including line, tree, ring, star, or any combination.
A distributed clock mechanism is used to accomplish synchronization. At initialization and during operation, the EtherCAT master will send a broadcast message. When the message is received, each slave will latch the value of their internal clock when the message is received and again when it returns. The master can then calculate a delay for each slave. These delays (saved in an offset register) are used by the master to establish the first slave as the reference clock and forcing all the other slaves to set their internal clocks appropriately. To keep synchronization, the master will regularly send out the broadcast to counter any effects of speed differences of the slave internal clocks. This leads to very low jitter, typically less than 1 usec, and allows an EtherCAT master device to be implemented in software on any standard Ethernet MAC.
What is an ADEPT Industrial Real-Time Linux Server?
An Industrial real-time Linux server is a computer server, low-cost or very high-end, with a real-time Linux operating system installed and providing a set of services for time-deterministic, frequency-based, computing and data handling. This real-time Linux server is used to connect your industrial capability, e.g. test facility, manufacturing line, electrical power system, into a Linux computing environment for the purpose of adding capability, e.g. predictive quality, anomaly detection, operational optimization, live data analysis, supervisory control, predictive maintenance.
ADI has integrated industrial real-time Linux servers with the ADEPT Framework. The ADEPT Framework encapsulates common industrial communication standards into logical devices, which hide protocol complexity and provide a consistent interface for data to be shared across the framework. This data-centric architecture also allows control logic and models to be implemented and tested independent of the communication standard.
ADEPT and EtherCAT
ADEPT enables industrial real-time Linux server deployments that support distributed and accelerated computation through all stages of product development, supervisory control, verification testing, demonstration and training. By leveraging commercially available off-the-shelf (COTS) and open hardware components, ADEPT enables extremely high-performance cyberphysical systems with industry leading support.
Combining industrial real-time Linux servers with EtherCAT brings the power and flexibility of Ethernet to the world of industrial automation, motion control, real-time control systems, and data acquisitions systems. A list of EtherCAT slave devices can be found in the EtherCAT Product Guide at https://www.ethercat.org/en/products.html. Below is the list of EtherCAT slave devices from Kollmorgen.
Applied Dynamics is a member of the EtherCAT Technology Group.
Case study: Koll-Morgen AKD Drive Integration
In the ADEPT Framework, setting up an EtherCAT master can be accomplished in just a few steps using the ADEPT Development Environment (ADEPT-DE).
Step 1: Create a framework, Framework_1, then add a project, Project_1 to the framework.
Step 2: Add a Model Assembly. Model assemblies are containers for models. In ADEPT, model assemblies can contain C code (as in this example named autogen), Simulink, ADSIM, C++, or an FMI/FMU model.
Step 3: Drag the EtherCAT logical device, from the Bound Server, rtx9, and drop it into the Logical Devices for the autogen Model Assembly. Connect the ports in the logical device to the corresponding model ports.
Step 4: Configure the EtherCAT logical device. To configure network devices in the ADEPT framework, create a CSV file to configure the network device and a dictionary file to allocate memory.
The CSV file consists of 3 sections. The first section defines the EtherCAT master and slave. Information like slave and master names and ports are defined in this section.
The second section defines the initialization commands for the slave device(s). Process Data Objects (PDOs) and application parameters are defined in this section. This section also defines how the PDOs that will be mapped to the sync manager.
The final section defines transmit (output) and receive (input) PDOs and Service Data Objects (SDOs). If the system contains multiple slaves, those could be defined in a single CSV or in separate CSV files for each slave.
The dictionary, shown here in ADEPT-DE, provides a method to map the signals needed for EtherCAT into and out of the model.
For this project, ADI worked with the Mackubin Group, Inc, who have created an evaluation unit using Kollmorgen devices.
The evaluation unit consists of a Kollmorgen (KM) EtherCAT master with servo controller, a KM slave servo controller, a KM slave I/O device, and 2 rotary servo motors. In this demonstration only the slave servo controller and one of the rotary servo motors were used.
Commands are sent to the EtherCAT slave sending values using the ControlWord. The ControlWord values can be set programmatically in the model, using Python scripts, or through ADEPT user interface panels. In this project an ADEPT panel was created to set the values of the ControlWord.
Pushing the ReadyToSwithOn, SwitchedOn, and OperationEnable buttons, in that order, causes the motor to turn. The rotation is indicated by the value of PositionActual. Pushing the ToSwitchOnDisable button stops the motion.
Using the ADEPT Framework, industrial Linux Server, and EtherCAT offers an easy environment to create an EtherCAT master for your industrial control project.
With ADEPT and industrial real-time Linux servers, it is easier than ever to implement an EtherCAT master integrated with the latest MBSE tools. Leveraging built-in support for C/C++, Simulink, ADSIM, and FMI/FMU models, the ADEPT Framework enables MBSE practices for industrial automation, motion control, data acquisition, and real-time control systems using the EtherCAT fieldbus.
How can the ADEPT Framework supercharge your EtherCAT network? Contact your local ADI representative today to see how the ADEPT Framework and industrial Linux servers can improve the quality and efficiency of your development process.