PLCopen Motion Control Blocks, Part 2
The second stage
of the standard


Motion Control

Following the publication of version 1.0 of the PLCopen motion control standard in 2001, many manufacturers have now implemented this standard. Currently, there are 13 different certified products, with some companies offering more than one product. The experience with Version 1.0 blocks was very good: simple handling, good functional description and completeness.
As the standard is becoming more widespread, additional blocks are being called for. The members of the motion control task force therefore decided to publish further blocks in an extension (version 2.0).

Part 2 (Extensions) includes standardized blocks that had been deliberately excluded or not been considered in Part 1.0. In addition to Part 2, there will also be a Part 3 containing application examples. Further parts will describe the use of stacked commands and homing extensions. The blocks defined in Part 2 once again fall into the familiar categories.

Print mark detection and control are particularly significant in packaging technology. Print marks have to be detected and adjusted accurately, in order to prevent position errors from mounting up. Since fast measuring electronics is usually realized in the drives, a deliberate decision was made to use an open PLC interface. This supports systems with inputs on the drive or linked directly into the PLC. The input to the MC_Touchprobe block is established via a reference. The deviation from the expected position of the printing mark is used as the output. A printing mark offset may be caused, for example, by elongation of the material or by slippage. In a master/slave network, a cam in the offset is changed based on the measured difference, or a so-called “phasing” is carried out via the MC_Phasing block. Registration of the fast input, i.e. the so-called latching, is switched off again via the MC_AbortTrigger block. For diagnostic purposes, the fast latch input may also appear as a variable in the PLC. To this end, the reference has to be released and the value copied – obviously with the associated delay. This is exactly what the MC_ReadDigitalInput block does.



A so-called “flying saw” can only be realized if two axes can be coupled at a certain position and with a certain speed. The MC_GearInPos block is a MC_GearIn block that was extended by the synchronization position. The mode input is particularly important. It can be used to transfer particular behavior patterns to the block during synchronous movement. If, for example, reversal of the slave must be avoided under all circumstances, this option can be pre-selected via a special mode. This block can be used to easily realize the classic ‘flying saw’. The block can also be used for other applications. The example of a flying saw, realized with MC_GearInPos, is described in Part 3 – User Guidelines. Another important item is the realization of a digital cam controller. Similar to the above-mentioned procedure, the output, i.e. the cam, can be realized in the drive controller. Here too, only the reference is therefore applied to an output at the block. If the output is to be read back into the PLC, the MC_ReadDigitalOutput block is used. All information required for the cam controller is parameterized via an array at the block. Apart from the cam positions, switch-on and switch-off delays and a hysteresis can be specified. Naturally, all values can also be varied dependent on the direction. This block enables sophisticated cam controllers with any number of cams and a wide range of parameters to be configured.

Specifying the position of a drive may be sensible for various reasons; the position may be reset continuously based on certain events, for example. MC_SetPosition enables both absolute and relative specification of positions. This block is also used for special referencing procedures.

Some motion control systems offer the option of setting the speed via an override and is usually done with a velocity override. The task force has been thinking ahead here – in addition to a velocity override, it has also made provision for an acceleration and a jerk override. A time override can be created by combining velocity and acceleration overrides.

The MC_TorqueControl block can be used for torque control. In this case, position control automatically switches to torque control. Naturally, this block can also be used for force control. An example can quickly illustrate how a combination of blocks can be used for screwing a lid onto a bottle. MC_ReadActualVelocity and MC_ReadActualTorque can be used to read the current velocity and the current torque.

Outlook
The motion control task force will continue to work actively on the standardization of further blocks. Several areas still require examination. Particularly the use of stacked commands is not quite clear yet. In addition to the existing MC_Home, further blocks for various homing techniques still have to be invented.

Version 1.0 of the standard has received a positive response from users. The crucial factor was and remains not portability, but simplicity of the blocks and uniformity of the functions at different manufacturers. Portability naturally remains an important aspect, but it should not be the main focus of attention. This example once again proofs that manufacturers and end customers alike want to see more standardization. PLCopen will continue its efforts in this direction. As a PLCopen member, Beckhoff will continue to actively support standardization efforts.

PLCopen www.plcopen.org

Back to Overview