CIP_Drive_Comms AOI
Description
The CIP_Drive_Comms AOI is used to initiate and manage the communications for an axis. It also provides an array structure for holding the Dynamically Mapped data (if applicable).
Compatibility
The CIP_Drive_Comms AOI is only compatible with AKD2G-SPI drives when used with Motion Supported PLCs with Studio 5000 and the CIP Sync connection.
Required Command Source and Operation Mode
AXIS#.CMDSOURCE = Fieldbus
AXIS#.OPMODE = Position
The CIP_Drive_Comms AOI is always enabled in the Ladder routine under IOTask → IOProgram by the AOI’s Enable In being tied to the left rail and is executed by the IOTask configured to trigger and execute on the Motion Group Execution trigger with a Priority of 1. The instruction is used in tandem with the Studio 5000 IOT instruction (see Example of Usage/Programming Guidelines section of this entry for more details).
The CIP_Drive_Comms AOI fields Axis1 and Axis2 are declared as axis names that are used in the Kollmorgen provided supplementary CIP Axis AOIs’ Axis field. The InputFromDrive and OutputToDrive entries bind the data exchange between the AKD2G (declared as a module under Ethernet in the Controller Organizer) for both the CIP Sync Command Assembly and CIP Sync Response Assembly to the axis names in the CIP_Drive_Comms instruction (Axis1 and Axis2 field entries).
Structures in the Controller Tags are created when the Axis1 and Axis2 tag names are declared. These names are then used with all other Kollmorgen supplementary AOIs which require an Axis field entry so any AOIs used with a given axis are correlated to the CIP_Drive_Comms AOI.
The following example shows how an AOI is codependent on the CIP_Drive_Comms AOI.
Figure 1: CIP_Drive_Comms AOI Flow Codpendency
Figure 1 Callouts Explanation:
- The CIP_Axis_Enable AOI on execution sends a requested action that the CIP_Axis_State_Machine receives.
- The CIP_Axis_State_Machine serves the request by setting the correct control bits in the Axis_Internal variable.
- The CIP_Drive_Comms AOI copies the Axis_Internal data and sends it out over Ethernet/IP as the Output via the AKD2G-SPI module.
- The AKD2G-SPI receives the data from the PLC.
- The AKD2G-SPI drive’s response data is sent to the PLC via the AKD2G-SPI module over Ethernet/IP
- The CIP_Drive_Comms copies the response data into the Axis_Internal varable
- The Axis_Internal data is then used by the CIP_Axis_Enable AOI (which monitors the status data for acknowledgment).
Operands
These entries are required by the user.
| Operand | Data Type | Format | Description |
|---|---|---|---|
|
CIP_Drive_Comms |
CIP_Drive_Comms |
Tag |
Tag name for instance of the AOI. |
|
InputFromDrive |
_01C4:002B_0014_6C20DCAD:I:0 |
Tag |
Must point to the _01C4:002B_0014_6C20DCAD module for the given AKD2G drive. The syntax will follow NAME:I1.Datawhere NAME is the name of the module given when it is first declared. The input data is an array of SINT[128] but only SINT[64] is used. |
|
OutputToDrive |
_01C4:002B_0014_4DBB4234:O:0 |
Tag |
Must point to the _01C4:002B_0014_6C20DCAD module for the given AKD2G drive. The syntax will follow NAME:O.Data where NAME is the name of the module given when it is first declared. The input data is an array of SINT[128] but only SINT[64] is used. |
|
Axis1 |
CIP_Axis |
Tag |
User tag defining the name of Axis 1 of the AKD2G drive. The name is used in the Axis field of the Kollmorgen provided AOIs for use with CIP Sync. |
|
Axis2 |
CIP_Axis |
Tag |
User tag defining the name of Axis 2 of the AKD2G drive. The name is used in the Axis field of the Kollmorgen provided AOIs for use with CIP Sync. |
|
VirtualAxis1 |
AXIS_VIRTUAL |
Tag |
User tag defining the name of the Virtual Axis declared in the MotionGroup which generates the trajectory for motion of the AKD2G drive’s Axis 1 or if unused in the Ungrouped Axes. |
|
VirtualAxis2 |
AXIS_VIRTUAL |
Tag |
User tag defining the name of the Virtual Axis declared in the MotionGroup which generates the trajectory for motion of the AKD2G drive’s Axis 2 or if unused in the Ungrouped Axes. |
|
MotionGroup |
MOTION_GROUP |
Tag |
User tag defining the name of the MotionGroup controlling the given AKD2G drive. |
|
DynamicMap |
CIP_DynamicMap |
Tag |
User tag which creates a structure and arrays where input data is SINT[40] and output data is SINT[32] which correspond to bytes |
Structure
The following fields are not entered by the user and are populated automatically with Read Only data once the Operands (in the Operand table for this AOI) are entered or presented as output data (bits).
| Mnemonic | Data Type | Description |
|---|---|---|
|
.EnableIn |
BOOL |
The Enable Input bit indicates the instruction is enabled. |
|
.EnableOut |
BOOL |
The Enable Output bit is the output of the Enable Input (.EnableIn) bit. |
Execution
|
Condition |
Ladder Diagram Action |
|---|---|
|
Prescan |
Clear the entire Command Assembly Data Structure. |
Changes to Axis Status Bits
-
All status bits are updated from the drive. See Status Word in CIP Sync Response Assembly Data Structure (106) for more information.
Example of Usage/Programming Guidelines
The screen capture below, taken from the Sample project, demonstrates usage. The CIP_Drive_Comms AOI is always enabled in the Ladder routine under IOTask → IOProgram by the AOI’s EnableIn being tied to the left rail and is executed by the IOTask configured to trigger and execute on the Motion Group Execution trigger with a Priority of 1 (see below). The CIP_Drive_Comms AOI fields VirtualAxis1 and VirtualAxis2 are the virtual axes in the Motion Group the AKD2G-SPI axes are correlated to by the CIP_Drive_Comms AOI and are the axis names using the Studio 5000 Motion Instructions' Axis field. Note the Studio 5000 IOT (Immediate Output) immediately updates the output data (of the given AKD2G Module) necessary for CIP Sync timing.
The following shows the field entries of the CIP_Drive_Comms AOI in Studio 5000:
-
Tag names in the instructions associated with the AKD2G Module under Ethernet in the Controller Organizer.
-
Axis tag names used in the Kollmorgen supplemental AOIs for the Axis name.
-
The names of the Virtual Axes and corresponding MotionGroup tag names used in the Studio 5000 Motion Instructions Axis' name.
The CIP_Drive_Comms AOI fields Axis1 and Axis2 are declared as axis names which are used in the Kollmorgen provided supplementary CIP Axis AOIs’ Axis field.
Troubleshooting
None
Step Summary
None
Revision History
| Revision Number | Description/Notes | Date of Revision |
|---|---|---|
| v1.5 | Initial release | 03-14-2024 |










