Connectivity: Fieldbus and Communications
Fieldbus interfaces such as CANopen, Modbus, EtherNet/IP, Profibus can be added as simple as EtherCAT, without affecting the application software. Cloud connectivity for ERP/MES/SCADA management functions are seamlessly integrated as these technologies are already readily available for Industrial PC platforms with Windows and CODESYS environment.

Configuring the interface to each fieldbus is simply a few choices in GUI dialog windows. Application software is developed independent of the fieldbus communication protocol. Hence, the same application can be easily reconfigured to work with a different or additional fieldbuses.
Cloud connectivity is supported by OPC UA Server/Client model, where the PLC/Motion Controller with CODESYS Runtime provides the OPC UA Server functionality, as well as Web Server functionality. Then the factory floor controls can be accessed and monitored from the web, integrated into ERP/MES/SCADA management software tools at the higher level. This platform provides the option to control/monitor capability to even the simplest ON/OFF device on the automation cell from anywhere in the world via the Internet.
Motion Controller features include:
- Interface to any EtherCAT servo/stepper drive-motors and EtherCAT Slave I/O nodes from hundreds of global suppliers, up to 64 axis closed loop servo motion control in one EtherCAT cable network, controlled with as low as 100 microsecond loop update time, with up to 1024 additional I/O points via EtherCAT I/O modules.
- CODESYS application software development environment, IEC-61131-3 standard compliant, and CODESYS runtime, multi axis coordinated motion profiles to generate any path and trajectory: linear, circular, elliptical, polynomial, spline and PVT, electronic gearing and camming between axes, based on actual position or commanded position or any modification of these, rational number (numerator/denominator) gear ratio definition, registration mark/position capture based corrective position commands (super-imposed motion).
- Oracle Robotics provides robust and time-tested dependable motion control function blocks as library – key to effective development in performance and cost for any application. Oracle Robotics Motion Control Software Platform turns the industrial PLC hardware and CODESYS software into a “Motion Controller”: it defines project structure specific to the motion control technology and a host of motion control libraries. This is similar to a Laptop PC with Windows (analogous to CODESYS) and add Visual Studios which provide application specific project framework and large selection of libraries.
CODESYS and EtherCAT
The core design of the motion control system are
- Hardware: Industrial PC with EtherCAT, and many other communication ports
- Software: CODESYS development software and IEC 61131-3 Programming Languages standards.
EtherCAT is a global standard for real-time communication in robotics and automation applications. EtherCAT Version 1 was established in 2003. EtherCAT is based on Ethernet hardware. An EtherCAT based multi-axis motion control system hardware consists “motion controller” as the EtherCAT “Master” and individual servo drives, and I/O’s as the EtherCAT “Slaves”. Logically, all EtherCAT Slaves are daisy chained in a single loop including the EtherCAT Master. The communication protocol (rules of communication) is specialized for real-time input-output handling especially suitable for high performance, high precision, coordinated, motion control applications. The real-time motion control communication happens through EtherCAT between the Master and Slaves as “EtherCAT datagram” – a formatted message string.

Think of the EtherCAT communication protocol as the following analogy: a train travels on a closed path, like a circular path, starting at head-quarters station (“master”) and stopping at multiple stations (“slaves”) and ending up again at the “master”. The train has multiple cars. Let us assume that for each station there is a reserved car. At each station, people/goods who are supposed to get off at that station gets off and people/goods who want to get on the train gets on the train and takes their assigned place on the assigned car reserved for that station. By analogy, the train is the “EtherCAT datagram”. Railway is the RJ45 connector and cables. Head-quarter station is the master node. A station is the Slave node. Train car assigned to a station is the space reserved (allocated) for each station. Goods/people travel in a train car is data/commands associated with that station.
CODESYS software development tool, one of the World’s most widely used, has two components: the part that runs as CODESYS runtime engine on the target controller/device (CODESYS RTE) and the part the runs on a Laptop PC as IDE environment (CODESYS IDE). CODESYS is short for Control Development System. CODESYS provides a programming platform, that is an integrated development environment (IDE). In a typical application, we develop an application software on a Laptop PC using CODESYS IDE, and then download it to the Target Device (Motion Controller) which has CODESYS Runtime to run and test it.
CODESYS RTE: Runtime engine of CODESYS runs on the “Target” Controller(s), i.e. motion controller. There are over 400 industrial controllers in the market currently supports CODESYS Runtime, and that number increases everyday. This software turns a target controller hardware (i.e. ECU) into IEC-61131-3 programable device.
CODESYS IDE : CODESYS IDE is a software development environment for real-time control systems, including motion control systems. It is basically an IDE (integrated development environment) to use on laptop PCs to develop software for real-time control systems. CODESYS provides the usual tools of any IDE; editor, compiler, debugger, libraries for IEC-61131-3 programming languages standard.
IEC-61131-3 is an international standard for a collection of programming languages for embedded software development. CODESYS is a commercial implementation which supports IEC-61131-3, plus extensions. The only difference between the CODESYS IDE and general purpose IDE (i..e Visual C++ IDE) is that CODESYS is specifically targeted for real-time embedded control systems. We use it for motion control systems. The use of the editors and debugging functions is very similar to the development program environments of advanced programming languages such as Visual C++. For different applications, we can add additional libraries to simplify the software development, i.e. CODESYS libraries for Motion Control, CNC, Robotic Motion Control.
To this end, specific to motion control applications, PLCopen Motion Control Function Blocks defines a set of libraries specifically for motion control, hardware independent and IEC-61131-3 conforming. CODESYS IDE provides a commercial implementation of the PLCopen Motion Control Function Blocks.
A typical industrial control software used to be in the order of a few hundred lines of PLC Ladder Logic code. Now, with increasing integration, capabilities and sophistication, the industrial control software size is in in the order of hundreds of thousands of lines code. To manage this complexity, standardization in software is necessary so that layers of software can be build one upon the other by different vendors/supplier chain to solve an end-user automation project.
