# PLCopen function blocks

PLCopen specification Part1 subdivides the FBs defined there according to their usage into:

- administrative and
- motion-related FBs.

Within these two areas a further distinction is made depending on the application, i.e.:

- a single axis or
- multiple axes

The table below is organised accordingly and lists the function blocks according to the PLCopen specification Part1.

## Notice

The FBs in italics and marked by an asterisk * are not implemented in the motion library Part1. However, the libraries may contain FBs which have a similar functionality but are specified by the controller manufacturer.

## Subdivision of PLCopen FB Part1 into administrative and motion-related FBs

Administrative | Motion
Single Axis | Multiple Axis | Single Axis | Multiple Axis
MC_Power | MC_CamTableSelect | MC_MoveAbsolute | MC_CamIn
MC_ReadStatus |  | MC_MoveRelative | MC_CamOut
MC_ReadAxisError |  | MC_MoveAdditive | MC_GearIn
MC_ReadParameter |  | MC_MoveSuperimposed | MC_GearOut
MC_ReadBoolParameter* |  | MC_MoveVelocity | MC_Phasing
MC_WriteParameter |  | MC_Home | MC_GearInPos*
MC_WriteBoolParameter* |  | MC_Stop |
MC_ReadActualPosition |  | MC_PositionProfile* |
MC_Reset |  | MC_VelocityProfile* |
MC_TouchProbe |  | MC_AccelerationProfile* |
MC_AbortTrigger |  | MC_TorqueControl* |
MC_ReadDigitalInput* |  | MC_MoveContinuous* |
MC_ReadDigitalOutput* |  | MC_Halt |
MC_WriteDigitalOutput* |  |  |
MC_SetPosition |  |  |
MC_SetOverride |  |  |
MC_ReadActualVelocity* |  |  |
MC_ReadActualTorque* |  |  |
MC_DigitalCamSwitch* |  |  |