Motion Engine Differences of PipeNetwork and PLCopen
The following table outlines some of the main feature differences between the PipeNetwork and the PLCopen
A vendor -and product- independent worldwide association active in Industrial Control and aiming at standardizing PLC file formats based on XML motion engines. It also provides their associated function blocks.
| Topic | PipeNetwork | PLCopen |
|---|---|---|
| Function block format | Begins with ML ex: MLAxisRel |
Begins with MC_ ex: MC_MoveRelative |
| Does Function block requires instantiation? | No. Except for MLAxisStop | Most require it |
| Method to start execution | Most are level triggered | Most are edge triggered |
| Motion execution status, for function block executing motion | Use MLMotionStatus function block |
Each function block includes a standard set of outputs for motion status |
| Function block standard input format | Requires additional function blocks to define motion parameters (speed, accel, decel, etc.) | Includes standard set of inputs to define motion (speed, accel, decel, etc.) |
| Axis setup method | Includes in the PipeNetwork Axis block properties | Part of Axis definition screen in the Project tree |
| How the Axis name is setup? | Automatically done as part of PipeNetwork Axis block properties | Create an instance of a Axis_Ref variable structure in the dictionary, then assign an axis number to it in a PLC |
| Is there additional motion editor? | Yes (PipeNetwork editor) | No |
| Motion buffering | Execution of multiple motion commands in a row is handled by the programmer | Function blocks have built in buffering modes |
| Motion jerk |
Primarily available by adding cams to the PipeNetwork | Function blocks have jerk reduction input |





