MC_CreatePLCAxis![This function or function block supports PLCopen motion PLCopen motion icon](../Resources/Images/Icon_PLCopen.png)
Description
A vendor -and product- independent worldwide association active in Industrial Control and aiming at standardizing PLC file formats based on XML Axis. A call to this function is automatically generated when the application is compiled, based on the data entered in the PLCopen Axis Data dialog.
-
-
MC_CreateAxis must be called between MLMotionInit and MLMotionStart.
Figure 8-121: MC_CreatePLCAxis
Arguments
For more detail on how inputs and outputs work, refer to PLCopen Function Blocks - General Rules
Input
En | Description | Requests to create a PLCopen axis |
Data type | BOOL | |
Range | 0, 1 | |
Unit | N/A | |
Default | — | |
AxisName | Description | Axis name |
Data type | STRING | |
Range | — | |
Unit | N/A | |
Default | — | |
BusInterface | Description | Bus interface identifier: “EtherCATDriver” = EtherCAT ![]() “MSBusDriver” = KAS Simulator interface |
Data type | STRING | |
Range | — | |
Unit | N/A | |
Default | — | |
BusAddress | Description | Address of the drive on the bus |
Data type | DINT | |
Range | bus dependent | |
Unit | N/A | |
Default | — | |
AxisNumber | Description | Axis number |
Data type | UINT | |
Range | [1,256] | |
Unit | N/A | |
Default | — | |
AxisType | Description | Axis type: 0 (MC_AXIS_TYPE_SERVO) denotes servo 1 (MC_AXIS_TYPE_DIGITIZING) denotes digitizing 2 (MC_AXIS_TYPE_VIRTUAL_SERVO) denotes virtual servo |
Data type | USINT | |
Range | [0,1] | |
Unit | N/A | |
Default | — | |
DriveAxisNumber | Description | This one-based number specifies the axis on the drive. For a single-axis drive this number should be 1. |
Data type | UINT | |
Range | [1,256] | |
Unit | N/A | |
Default | — | |
UserUnits | Description | User unit portion of the user unit/feedback unit ratio |
Data type | DINT | |
Range | [1, 2147483647] | |
Unit | User unit | |
Default | — | |
FeedbackUnits | Description | Feedback unit portion of the user unit/feedback unit ratio |
Data type | DINT | |
Range | [1, 2147483647] | |
Unit | Feedback units | |
Default | — | |
Rollover | Description | Rollover position (0 = no rollover) |
Data type | LREAL | |
Range | [0, 4294967296] | |
Unit | User unit | |
Default | — | |
UpdateRate | Description | Servo update rate (0, 1, and 2 are reserved for future enhancements) 3 = 125 μsec 4 = 250 μsec 5 = 500 μsec 6 = 1 msec 7 = 2 msec 8 = 4 msec 9 = 8 msec |
Data type | UINT | |
Range | [3,9] | |
Unit | N/A | |
Default | — |
Output
OK | Description |
Indicates the axis has been created See more details here. |
Data type | BOOL |
Example
Structured Text
(* MC_CreatePLCAxis ST"Structured text" A high-level language that is block structured and syntactically resembles Pascal Example *)
AxisName1 := 'PLCOpenAxis1';
BusName1 := 'EtherCATDriver';
BusAddress1 := 1001;
AxisNumber1 := 1;
AxisType1 := MC_AXIS_TYPE_SERVO;
DriveAxisNumber1 := 1;
UserUnits1 := 360;
FeedbackUnits1 := 1048576;
Rollover1 := 0;
UpdateRate1 := 3;
MC_CreateAxis(AxisName1, BusName1, BusAddress1, AxisNumber1, AxisType1, DriveAxisNumber1, UserUnits1, FeedbackUnits1, Rollover1, UpdateRate1);
Function Block Diagram
Ladder Diagram