Data Handshake
Data handshaking is used to transmit data commands with I/O Assembly Messaging. To transmit a command to the amplifier, set the Command Type and load data into the data fields, then toggle the Load/Start bit to High (1). The amplifier will accept data only when Load/Start transitions from 0 to 1. If the data is loaded successfully, the amplifier will set the Load Complete response flag to High (1). Load Complete will be cleared by the amplifier after Load/Start is cleared by the controller. If the data does not load successfully due to an error in the Command Assembly, the amplifier will load an error response into the Response Assembly (Axis 1: Byte 4 Error Code, Byte 5 Additional Code, Bytes 6-7 echo Command Assembly Bytes 2-3. Axis 2: Byte 68 Error Code, Byte 69 Additional Code, Bytes 70-71 echo Command Assembly Bytes 66-67.) See Response Type 0x14 - Command/Response Error for more information.
| I/O Assembly Messaging Handshaking Sequence | Example |
|---|---|
| 1. Controller loads a valid Command Type and data into the Command Assembly with Load/Start set to Low (0). | Load a Target Position command of 1000. C: 0x80 0x00 0x21 0x20 0xE8 0x03 0x00 0x00 Enable = 1, Load/Start = 0, Command Axis = 1, Command Type = 1, Response Axis = 1, Response Type = 0 (none), Data = 1000 |
| 2. Amplifier clears the Load Complete flag in the Response Assembly when Load/Start is Low (0) in the Command Assembly. | Respond with status flags. No command yet. R: 0x84 0x00 0x00 0x20 0x00 0x00 0x00 0x00 Enabled = 1, In Position = 1, Load Complete = 0, Response Axis = 1, Response Type = 0 (none), Data = 0 |
| 3. Controller checks that the Load Complete flag in the Response Assembly is Low (0) to ensure that the amplifier is ready to receive data. Controller sets the Load Data flag in the Command Assembly. | Set the Load Data flag. C: 0x81 0x00 0x21 0x20 0xE8 0x03 0x00 0x00 Enable = 1, Load/Start= 1, Command Axis = 1, Command Type = 1, Response Axis = 1, Data = 1000 |
| 4. Amplifier sees the Load/Start flag transition to High (1) and attempts to execute the command specified in the Command Type field on the data in the Data Bytes. If successful, the amplifier sets the Load Complete flag. If the command fails or the Command Assembly is invalid, the amplifier will set Response Type to Error and load error information in the Response Assembly Data fields. If the command matches the operating mode (e.g. Target Position in positioning mode), the amplifier will start motion. | If no error, execute the requested command R: 0x81 0x00 0x80 0x20 0x00 0x00 0x00 0x00 Enabled = 1, In Motion = 1, Load Complete = 1, Response Axis = 1, Response Type = 0 (none), Data = 0 If there was an error (e.g. data out of range): R: 0x80 0x00 0x00 0x34 0x09 0xFF 0x21 0x20 Enabled = 1, Load Complete = 0, Response Axis = 1, Response Type = 0x14 (Error), Error codes = 0x09FF (Invalid Attribute), Bytes 6-7 for Axis 1. Bytes 70-71 echo Command Assembly Bytes 66-67 for Axis 2. |
| 5. Controller waits for either the Load Complete flag to transition to High (1) or for an Error Response Type in the Response Assembly, then clears Load/Start. Ready for next command | Clear Load/Start C: 0x80 0x00 0x21 0x20 0xE8 0x03 0x00 0x00 Enable = 1, Load/Start = 0, Command Axis = 1, Command Type = 1, Response Axis = 1, Data = 1000 |






