Transcription of ROBO CYLINDER PROTOCOL MANUAL - Intelligent …
1 robo CYLINDERS erial Communications ProtocolIntelligent Actuator, PrefaceThis MANUAL contains information pertaining to communicating seriallywith the robo CYLINDER controller using IAI s proprietary protocolcommunications format. For information beyond serial protocolcommunications, please refer to the robo CYLINDER Operation MANUAL Caution!Using commands or strings not specifically described in this MANUAL maycause the system to behave improperly, potentially causing damage toeither itself or its Communications SpecificationsItemDescription1 Electrical SpecsEIA RS4852 Synchronization MethodAsynchronous3 Connection MethodDifferential Line4 Connector6 pole modular5 String FormatASCII6 Baud Kbps *7 Data Bits88 ParityNone9 Stop Bit110 Communication MethodHalf-DuplexNote.
2 The robo CYLINDER PC interface software supplies the recommended serialcommunication cable and RS485 RS232 adapter.* The default baud rate is Kbps. However, communications speeds from up to Kbps may be obtained. Please contact Intelligent Actuator ifother speeds are Communication ProcedureGeneral procedure for communicating with the robo CYLINDER InquiryResponse OK?CommandResponse OK?Status InquiryComplete?DoneYNYNYNC heck to ensure good communications hasbeen established before desired command (be sure to homeaxis before moving to point data)If error occurs, be sure to check the errorcode list to correct the necessary, ensure the command wascompleted successfully before Format4-1 General Information1) All communication is via ASCII ) Data format is fixed at 16 ) Up to 16 axes can be linked serially.
3 These are referred to via the axisnumber in the data strings in hexadecimal format (0-F).4) Each controller can contain up to 16 positions. These are referred to viathe position number in the data strings in hexadecimal format (0-F).5) Communication integrity is checked via the Block Check Characters(BCC). The BCC is obtained by first ignoring the STX, BCC and ETXcodes from the string and summing the remaining hexadecimal ASCII codes (aside from the STX, BCC and ETX characters, the code is 12characters long).
4 Next, take the 2 s complement of the result. Finally, theleast significant byte of the 2 s complement is used as the calculation example:[STX]0Q3010000000[BCC][ETX]The sum of the hexadecimal ASCII codes of the 12-character data string isas follows:30H+51H+33H+30H+31H+30H+30H+30H+ 30H+30H+30H+30H = 265 HThe 2 s complement 265H is D9B of which the least significant byte is9B. Therefore the BCC is 9B.* 2 s complement is performed by representing the data in 16 bit form,flipping each bit (0 1, 1 0) and adding StringsSTXAxis# n 10 continuous 0 sBCCETXS tatusInquiry026E3030303030303030303003 STX U Axis# n StatusAlarmsINOUT 0 BCCETXS tatusResponse02556E3003 BCC Data*The first row of both the send and receive is in ASCII characters, the second is inhexadecimal ASCII code.
5 The actual strings sent are ASCII characters.**Information regarding the contents of Status, Alarms, IN and OUT can be found insection Description of # Q3 01 Pos #5 continuous 0 sBCCETXP ositionMove025133303130303030303003 STX U Axis# Q StatusAlarmsINOUT 0 BCCETXPos MoveResponse0255513003*The Pos# is in hexadecimal format representing position 0-15 as # o Direction8 continuous 0 sBCCETXHomeCommand026F303730303030303030 3003 STX U Axis# o StatusAlarmsINOUT 0 BCCETXHomeResponse02556F3003*Direction determines whether the axis homes toward the motor or away from the home direction (motor end)
6 Is 07, non-motor end is # a Position Data (HEX) 0 BCCETXA bsoluteMove0261303003 STX U Axis# a StatusAlarmsINOUT 0 BCCETXAbs MoveResponse0255613003*Position data is a hexadecimal representation of encoder pulses. Please see section of codes for full # v 2 VelocityAcceleration 0 BCCETXVEL/ACCC ommand0276323003 STX U Axis# v StatusAlarmsINOUT 0 BCCETXVEL/ACCR esponse0255763003*For detailed information concerning the Velocity and Acceleration field data, pleaserefer to section Description of CodesSTXAxis# q 0/19 continuous 0 sBCCETXS ervoON/OFF027130303030303030303003 STX U Axis# q StatusAlarmsINOUT 0 BCCETXS ervoResponse0255713003*0/1 signifies servo OFF/ON where 1=ON, 0= # m Position Data (HEX)
7 0 BCCETXI ncrementMove026D303003 STX U Axis# m StatusAlarmsINOUT 0 BCCETXInc MoveResponse02556D3003*Position data is a hexadecimal representation of encoder pulses from current location(not from home). Please see section Description of codes for full # d 10 continuous 0 sBCCETXStopMotion02643030303030303030303 003 STX U Axis# d StatusAlarmsINOUT 0 BCCETXStopResponse0255643003*Motion stops regardless of position or previous command. This command may be usedin conjunction with an absolute or incremental move to jog the # R4 000074000 BCCETXP ositionInquiry02523430303030373430303003 STX U Axis# R4 Position Data (HEX)BCCETXP ositionResponse0255523403*Position data is a hexadecimal representation of encoder pulses.
8 Please see section of codes for full following commands work in conjunction to write data to the point table within thecontroller. All 4 commands must be used in succession in order to write 1 piece ofinformation to an existing point in the point table ( positional data for point number 1).The address in the T4 command determines the type of data written (see section of Codes for more details). When writing a new point to the point table, all 6fields must be entered which means that a total of 14 commands must be sent to thecontroller for each new point in the point # Q1 01 Pos #5 continuous 0 sBCCETXA BTransfer025131303130303030303003 STX U Axis# Q StatusAlarmsINOUT 0 BCCETXA BResponse0255513003*The Pos# is in hexadecimal format representing position 0-15 as # T4 Address (HEX) 0 BCCETXA ddressAllocation0254343003 STX U Axis# T4 Address (HEX)
9 BCCETXA ddressResponse0255543403*See section Description of Codes for more details about the Address # W4 Data 0 BCCETXDataWrite0257343003 STX U Axis# W4 Address (HEX) + 1 BCCETXDataResponse0255573403*See section Description of Codes for more details about the Data and # V5 01 Pos #5 continuous 0 sBCCETXB ATransfer025635303130303030303003 STX U Axis# V5 Accumulated Number of WritesBCCETXB AResponse0255563503*The Pos# is in hexadecimal format representing position 0-15 as 00-0F. TheAccumulated Number of Writes counts the number of times a field has been of Codes1) Status CommandThe status command is as follows:[STX]+[Axis #]+[ n ]+[ 0000000000 ]+[BCC]+[ETX]CharacterDescriptionSTXS tart Text character (Hex ASCII code: 02)Axis #Axis # as specified on controller dipswitches (0-F)BCC(2 characters)Sum Check characters (2 s complement of the sumof the 12 data characters)ETXEnd Text character (Hex ASCII code: 03)2) Status Response:The status response is as follows.
10 [STX]+[ U ]+[Axis #]+[ n ]+[STATUS]+[ALARM]+[IN]+[OUT]+[BCC]+[ETX ]STATUSThe status portion consists of 2 characters (1 byte) in hexadecimal formatrepresenting the following table of bits (bit# 0 is least significant, bit# 7 mostsignificant):Bit #Description7 Command refusal (0=OK, 1=refused) If 1, seealarm code6 Not used5 Not used4 Not used3 Home Status (0=Home not complete, 1=Homecomplete)2 Run Status (0=not ready to move, 1=servo on andready to move)1 Servo Status (0=Servo Off, 1=Servo On)0 Power Status (0=Power Off, 1=Power On)ALARMThe alarm portion consists of 2 characters (1 byte) in hexadecimal format.