- By Bill Lydon
- Factory Automation
- PLCopen motion control specifications and standards have made programming motion control simpler.
- The PLCopen motion control function blocks support the user by providing vendor- and platform-independence and reducing the overall development time.
- Before the introduction of PLCopen and the IEC 61131 standard, the motion control industry was very fragmented.
PLCopen standards simplify motion applications’ development and quality.
Motion control has become a fundamental part of industrial, off-road equipment and other automation applications from simple to mechatronic, and programming motion control has been simplified with the PLCopen motion control specifications and standards. Using standard function blocks, engineers build applications without programming.
Motion control applications are increasing and becoming more complex to meet demands for greater system throughput, improved quality, and operational flexibility. The PLCopen motion control function blocks support the user by providing vendor- and platform-independence and reducing overall development time. PLCopen function blocks make it easy for application engineers to apply mechatronic concepts using multiple coordinated drives rather than cumbersome mechanical gearing methods. The standards enable engineers to build applications with higher speeds, faster changeovers for flexibility, and improved reliability.
A great example is machine builders in the packaging industry. A packaging plant may include machines for bagging, wrapping, bottling, labeling, weighing, inspecting, and palletizing, just to name a few. In this industry, manufacturers must quickly react to consumer needs, so they require flexible machines. A food and beverage company may need to quickly change a package concept to meet marketing demands, requiring changes to packaging materials and dispensing systems. In a strictly mechanical system, this requires a shutdown of the production line and many hours, or even days, of changeover. There is a high risk of human errors creating problems. In contrast, a mechatronic solution with a flexible software interface can easily be simulated before deployment and virtually commissioned before the physical changeover is quickly and confidently accomplished. This translates into lower downtime, higher production utilization, quicker marketing response, decreased costs, and increased profits.
Because of application requirements and project specifications, engineers must use a wide range of motion control hardware. In the past this required creating unique software for each application even if the functions were the same. The PLCopen motion standard provides a way to reuse applications on multiple hardware platforms. This lowers development, maintenance, and support costs and reduces confusion. In addition, engineering becomes more efficient, and training costs decrease.
Standardization is accomplished by defining libraries of reusable software components. This makes the programming less hardware dependent, increases the reusability of the application software, reduces the costs related to training and support, and makes the application scalable across different control solutions. Due to data hiding and encapsulation, software components are reusable on different automation architectures, ranging from centralized to distributed or integrated to networked control. The PLCopen motion function blocks are building blocks to serve as a basis for creating many applications. Therefore, the applications created with reusable software components can be deployed on existing and future systems.
Before the introduction of PLCopen and the IEC 61131 standard, the motion control industry was very fragmented. There were a variety of systems available, each with its proprietary technology, languages, communication, and development tools. Machine builders often delivered multiple versions of a machine, including a low-cost version, a medium-level machine, and a high-performance solution. In addition to that, machine builders often had to release different brands of controllers for different regions.
The PLCopen Motion Task Force set out to create a library of function blocks to act as a standard motion interface regardless of the architecture. This standard interface can be used across many different systems. This means applications can be developed independently of the platform, so the engineer can easily change architectures or support multiple platforms. Automation designers can wait until after the application design stage of a project to finalize their choice of hardware. Maintenance and training costs are also greatly reduced.
The PLCopen motion control function blocks satisfy a long demand for a standardized programming method to control positioning tasks quickly, easily, and efficiently. These function blocks can be programmed in the IEC 61131 languages such as Ladder Diagram and Structured Text. Because these function blocks are hardware independent, they can be used to program many different types of motors, drives, feedback systems, and even different topologies, such as centralized or decentralized solutions. This hardware independence and programming flexibility also allows users to select hardware based on the requirements of the application instead of limiting their decision simply because of previous experience or level of training. The optimal hardware solution can be configured for the application at hand.
Standardizing on a motion interface also makes education much easier and more efficient. It is a great benefit to be able to train future programmers without having to directly refer to specific hardware or programming tools. Once trained, engineers can apply their knowledge to a broader range of motion control products.
Increasing software programming efficiency is important. “Three decades ago machinery required almost no software, whereas now software development accounts for about half of the total cost of a production line,” according to Eelco van der Wal, managing director of PLCopen. “Flexible motion control technology paired with an open, standard industrial software interface can greatly reduce the complexity of all types of industrial machinery and automation applications.”
Motion control software standardization, along with IEC 61131 standard software languages, has many advantages, including:
- greater reusability of software
- less dependence on hardware
- faster time to market
- decreased installation time and cost
- decreased maintenance time and cost
- wider acceptance across the industry
- reduced training time and costs.
Machine developers can leverage the platform-independence of PLCopen. For example, many developers are moving away from a centralized motion control approach because of the advantages of a decentralized solution. Centralized designs require an expensive motion controller to handle the hefty processing load of multi-axis systems. Even then, large axis counts may not be possible because of limitations of the controller and communication network.
Decentralized control platforms with intelligent drives remove much of the load from the main motion controller and reduce the network limitations by closing their own positioning loops. This eliminates the need for a large, expensive motion controller. Larger numbers of synchronized axes are possible on a single network that has a high-speed, scalable motion solution. Motion control performance is not dependent on the processor performance or the number of axes being run on a network. Standardized motion control interfaces across multiple platforms and minimizes development time and cost.
The intention of PLCopen is to allow developers to move from one platform to another as technology becomes available. The PLCopen function blocks operate independently of the underlying architecture. Machine builders can continue to develop their machines without fear of obsolescence or extraneous engineering costs.
Standardization is accomplished through the efforts of the PLCopen organization. PLCopen was established in 1992 to harmonize the industrial control market across different platforms during development, installation, and maintenance in accordance with the IEC 61131 programming environment. Current initiatives include motion control, safety functionality, XML data exchange, and benchmarking standards. PLCopen also continues to promote the use and training of this standard around the world. The PLCopen website lists vendors that have certification to the organization’s standards.
To produce a standard motion control specification, a set of reusable, hardware-independent control components has been defined based on the IEC 61131 function blocks. With this standard, application software can be reused. This is possible even across multiple platforms. Training and support costs are reduced as well. New developments can be implemented much more easily with shorter time to market.
These goals were achieved for motion control with definition and standardization on a basic set of function blocks, which allow both single-axis motion and synchronized multiple-axis motion. A state machine describes the behavior of an axis during a machine’s sequence.
Currently the suite of PLCopen motion control specifications consists of the following parts:
- Part 1&2 – Basics and extensions combined in one
- Part 3 – User guidelines and examples
- Part 4 – Coordinated motion
- Part 5 – Homing procedures
- Part 6 – Extensions for fluid power
Every specification contains three sections:
- Definition of the state machine
- Definition of a basic set of FBs for single axis and multi-axes motion control
- Compliance rules and statement procedure.
The complete specifications are available online.
The axis is always in one of eight defined states:
- synchronized motion
- discrete motion
- continuous motion
- error stop
Any motion command is a transition that changes the state of the axis and, as a consequence, modifies the way the current motion is computed.
The state diagram normatively defines the behavior of the axis at a high level. This diagram is useful to build a more complicated profile or to treat exceptions within a program. (Real implementations may define additional states at a lower level).
A normal procedure starts in the disabled state. In this state the power can be switched on per axis (via the command MC_Power), which transfers the relevant axis to the state of standstill. From there one can access the homing state (by issuing the command Home per axis), which after normal completion returns to standstill. From here one can transfer an axis to either discrete motion or continuous motion.
The programming of an axis of motion is very logical. The axis needs to be powered, homed, and moved. In three steps, an axis is moving or even synchronized with another axis. The code behind function blocks is hidden from the user and is the responsibility of the control software supplier. This code is dependent on the hardware and architecture of the system. The interface, which includes the inputs and outputs of these blocks, stays consistent over any platform. This differentiation of software levels is key to PLCopen’s functionality. The motion of an application can be programmed in the same manor regardless of the hardware because the lower-level code is hidden from the user. The user does not have to have detailed knowledge of a drive or network architecture.
Expandability of PLCopen
After the task force outlined a basic set of function blocks to cover single- and multiple-axis control, it became clear that additional functionality was needed to reach a broader range of motion control systems. As a result, the PLCopen Motion Control Extensions were developed. Beyond this, machine builders and control suppliers can create advanced function blocks as a supplement to the standard function blocks. These reusable libraries take the PLCopen standard even further. The PLCopen User Guideline provides details and examples of how these user-specific libraries can be created based on standard PLCopen function blocks and according to the same specifications. Machine builders can then apply and reuse the function blocks they have created for their area of competence. This task force is also working to expand programming further with interpolation of coordinated multi-axis motion in three-dimensional space and extensions to the existing homing routines.
Another development area that goes hand in hand with motion control is safety. In parallel with its motion control definitions, PLCopen developed standardized safety functionality that can be integrated into logic and motion applications. The ability to incorporate these safety standards achieves the same benefits as the motion control function blocks: greater reusability and portability, reduced engineering and training time, lower development and maintenance costs.
The PLCopen safety standards also reduce certification time and costs. To accomplish this, PLCopen has defined programming guidelines, safety-related data types, error handling and diagnostic concepts, representation of the software architecture, and certification guidelines. This combination of standardized motion and safety features gives users a more complete solution from a single programming environment that is portable across multiple platforms.
Software’s role in industrial automation is increasing more and more, which increases the cost of software, even to the point that it is the largest part of the total system. To control these costs, one needs more efficient application development, while increasing software quality and decreasing maintenance and update costs.
Users want to be able to exchange their application programs, libraries, and projects between development environments, and to accomplish this the PLCopen XML interchange standard was developed. The PLCopen work group named TC6 for XML (eXtensible Markup Language) defined an open interface that can be used by different kinds of software tools to transfer the information that is on the screen to other platforms. In 2014 PLCopen handed over its intellectual property rights on the schema, specification, and documentation to the International Electrotechnical Commission (IEC). At that point, PLCopen XML became IEC 61131-10:2019 Programmable controllers – Part 10: PLC open XML exchange format.
PLCopen is a product-independent vendor and a worldwide association for topics related to industrial control programming. PLCopen is a platform of cooperation for our members, coming from all fields of the industry, and works to consistently improve efficiency. Because of the cooperation of members, the entire automation community benefits from knowledge and support.
We want to hear from you! Please send us your comments and questions about this topic to InTechmagazine@isa.org.