Programmer's Guide
2
Content
1 Preliminary note � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �4
1�1 Symbols used � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �4
1�2 Copyright and trademarks � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �4
1�3 Open source information � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �4
2 Process Interface � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �5
2�1 Sending Commands � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �5
2�2 Process Interface Command Reference � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �7
2�2�1 a Command (activate application) � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �7
2�2�2 A? Command (occupancy of application list) � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �7
2�2�3 c Command (upload Process interface output configuration) � � � � � � � � � � � � � � � � � � � � � � � � �8
2�2�4 C? Command (retrieve current Process interface configuration) � � � � � � � � � � � � � � � � � � � � � � �8
2�2�5 E? Command (request current error state)� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �8
2�2�6 g Command (gated software trigger on or off) � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �9
2�2�7 G? Command (request device information) � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �9
2�2�8 H? Command (return a list of available commands) � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �10
2�2�9 I? Command (request last image taken) � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �10
2�2�10 j Command (overwrites data of a string)� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 11
2�2�11 J? Command (read string from defined container) � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 11
2�2�12 L? Command (returns the current session ID) � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 11
2�2�13 o Command (set logic state of a ID)� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �12
2�2�14 O? Command (request state of a ID) � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �12
2�2�15 p Command (turn Process interface output on or off) � � � � � � � � � � � � � � � � � � � � � � � � � � � � �13
2�2�16 S? Command (request current decoding statistics) � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �13
2�2�17 t Command (execute asynchronous trigger) � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �14
2�2�18 T? Command (execute synchronous trigger) � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �14
2�2�19 v Command (set current protocol version) � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �14
2�2�20 V? Command (request current protocol version) � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �15
2�3 Error codes � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �16
3 EtherNet/IP � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �17
3�1 Data structures for consuming and producing assemblies� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �17
3�2 Functionality of the Ethernet/IP application � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �18
3�2�1 State change 0 -> 1 of a command bit in consuming assembly � � � � � � � � � � � � � � � � � � � � � � �18
3�2�2 Multiple state changes � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �18
3�2�3 Reset of command bit state by PLC� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �18
3�2�4 Blocking of asynchronous messages � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �18
3�2�5 Client disconnect � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �18
3�2�6 General reply to an implemented command� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �18
3�2�7 Reply to an implemented command - reply contains specific data � � � � � � � � � � � � � � � � � � � �18
3�2�8 Reply to an implemented command with error in data section� � � � � � � � � � � � � � � � � � � � � � � �19
3�2�9 Reply to an implemented command that leads to an error� � � � � � � � � � � � � � � � � � � � � � � � � � �19
3�2�10 Reply to a not implemented command� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �19
3�2�11 Reset of error bit � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �19
3�2�12 Functionality of asynchronous message bit � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �19
3�2�13 Bits for asynchronous message identifier� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �20
3�2�14 Message counter � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �20
3�2�15 Get last error� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �20
3�2�16 Get connection ID� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �20
3�2�17 Get statistics� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �20
3�2�18 Default endianness� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �20
3�2�19 Activate application� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �20
3�2�20 Get application list � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �20
3�2�21 Get IO state � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �21
3�2�22 Set IO state� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �21
3�2�23 Execute synchronous trigger � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �21
3�2�24 Activate asynchronous Process interface output � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �21
3�3 Signal sequence with synchronous trigger � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �22
3�4 Signal sequence with failed trigger� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �22