Overview
The Scanner Diagnostic object presents the instances, attributes and services described below.
Class ID
301 (hex), 769 (decimal)
Instance IDs
The Scanner Diagnostic object presents two instances:
0: class
1: instance
Attributes
Scanner Diagnostic object attributes are associated with each instance, as follows:
Instance ID = 0 (class attributes):
Attribute ID |
Description |
GET |
SET |
|---|---|---|---|
01 |
Revision |
X |
— |
02 |
Maximum Instance |
X |
— |
X = supported — = not supported |
|||
Instance ID = 1 (instance attributes):
Attribute ID |
Description |
Type |
GET |
SET |
Value |
|
|---|---|---|---|---|---|---|
hex |
dec |
|||||
01 |
01 |
Control Bits |
WORD |
X |
X |
|
02 |
02 |
ST_DIAG_CNT |
STRUCT of |
X |
X |
|
wErrFrameCnt |
UINT |
Incremented each time a frame is not sent for lack of resources or was impossible to send. |
||||
wErrTimeOutCnt |
UINT |
Incremented when one connection is timed out. |
||||
wErrRefusedCnt |
UINT |
Incremented when one connection is refused by the remote station. |
||||
dwProdCnt |
UDINT |
Incremented at each production. |
||||
dwConsCnt |
UDINT |
Incremented at each consumption. |
||||
dwProdByteCnt |
UDINT |
Total bytes produced. |
||||
dwConsByteCnt |
UDINT |
Total bytes consumed. |
||||
03 |
03 |
Input Status |
WORD |
X |
— |
See below. |
04 |
04 |
Output Status |
WORD |
X |
— |
See below. |
05 |
05 |
ST_LINK |
STRUCT of |
X |
— |
|
CIP Status |
UINT |
See below. |
||||
Extended Status |
UINT |
See below. |
||||
Production Connection ID |
DWORD |
|||||
Consumed Connection ID |
DWORD |
|||||
OtoT API |
UDINT |
API of the Connection |
||||
TtoO API (API of the Connection) |
UDINT |
API of the Connection |
||||
OtoT RPI (RPI of the Connection) |
UDINT |
RPI of the Connection |
||||
TtoO RPI (RPI of the Connection) |
UDINT |
RPI of the Connection |
||||
06 |
06 |
ST_SOCK_PARAM |
STRUCT of |
X |
— |
|
lpSockId |
DWORD |
Internal identifier |
||||
IpForeign |
DWORD |
Remote station IP |
||||
wPortForeign |
UINT |
Remote station port number |
||||
IpLocal |
DWORD |
Local station IP |
||||
wPortLocal |
UINT |
Local station port number |
||||
07 |
07 |
ST_PRODUCTION |
STRUCT of |
X |
— |
|
bValid |
WORD |
|
||||
dwCurrentTime |
UDINT |
Internal: number of ticks before next production |
||||
dwProductionTime |
UDINT |
Internal: number of ticks between production |
||||
SequenceNumber |
UDINT |
Number of the sequence in the production |
||||
stCheckTime |
STRUCT of |
|||||
dwLastTime |
UDINT |
Internal use |
||||
dwMaxTime |
UDINT |
Maximum time between productions |
||||
dwMinTime |
UDINT |
Minimum time between productions |
||||
dwRPI |
UDINT |
Connection API |
||||
wOverRun |
UINT |
Number of times the production was too long |
||||
wUnderRun |
UINT |
Number of times the production was too fast |
||||
dwCurrentTime |
UDINT |
Internal use |
||||
08 |
08 |
ST_CONSUMPTION |
STRUCT of |
X |
— |
|
bValid |
WORD |
|
||||
dwCurrentTime |
UDINT |
Internal: number of ticks before timeout |
||||
dwConsumptionTime |
UDINT |
Internal: number of ticks of the timeout |
||||
SequenceNumber |
UDINT |
Number of the sequence in the consumption |
||||
stCheckTime |
STRUCT of |
|||||
dwLastTime |
UDINT |
Internal use |
||||
dwMaxTime |
UDINT |
Maximum time between consumptions |
||||
dwMinTime |
UDINT |
Minimum time between consumptions |
||||
dwRPI |
UDINT |
Connection API |
||||
wOverRun |
UINT |
Number of times the consumption was too long |
||||
wUnderRun |
UINT |
Number of times the consumption was too fast |
||||
dwCurrentTime |
UDINT |
Internal use |
||||
09 |
09 |
CCO Status |
STRUCT of |
X |
— |
Status of the Connection Configuration Object – see below |
byGeneralStatus |
BYTE |
|||||
byReserved |
BYTE |
|||||
Extended |
WORD |
|||||
X = supported — = not supported |
||||||
Status values for the Scanner Diagnostic object:
| Status | Description | CIP Status | Extended | Context |
|---|---|---|---|---|
0 |
OK |
0 |
0 |
The IO data are correctly exchanged |
33 |
Time-Out |
0xFB |
0xFB0B |
Timeout detected on consumption |
53 |
IDLE |
0 |
0 |
An IDLE notification is received |
54 |
Connection established |
0 |
0 |
The connection is established, but the IO data are not consumed yet |
0xFB |
0xFB08 |
Impossible to start the production |
||
0xFB |
0xFB09 |
Impossible to start the consumption |
||
0xFB |
0xFB0A |
Not enough resources to manage the connection |
||
58 |
Not connected (TCP) |
0xFE |
TCP Error |
Error on TCP connection |
65 |
Not connected (CIP) |
status |
extended |
The Fw_Open response indicates a detected error. |
0xFB |
0xFB01 |
Timeout for Fw_Open response |
||
0xFB |
0xFB02 |
Incorrect format of the Fw_Open response (so addr) |
||
0xFB |
0xFB03 |
Incorrect parameters in the response (OT Net Par) |
||
0xFB |
0xFB04 |
Incorrect parameters in the response (TO Net Par) |
||
0xFB |
0xFB05 |
Asking port number different than 2222 |
||
0xFB |
0xFB06 |
Error in joining the UDP multicast group |
||
0xFB |
0xFB07 |
Optimization error / indeterminable MAC address |
||
68 |
Connection establishing |
0xD0 |
0x0001 |
Connection is closed |
0xD0 |
0x0002 |
Connection is pending |
||
70 |
Not connected (EPIC) |
0xFD |
Status |
Error code in register session response |
0xFD |
Status |
Error code in the frame |
||
0xFD |
Status |
Encapsulation session unregistered |
||
77 |
Scanner stopped |
0 |
0 |
Connection is stopped |
Services
The Scanner Diagnostic object performs the following services upon the listed object types:
Service ID |
Description |
Class |
Instance |
Notes |
|
|---|---|---|---|---|---|
hex |
dec |
||||
01 |
01 |
Get_Attributes_All |
X |
X |
Returns the value of all attributes. |
61 |
97 |
Get_Output |
— |
X |
Returns the status and value the output:
|
62 |
98 |
Get_Input |
— |
X |
Returns the status and value the input:
|
63 |
99 |
Set_DiagCounters |
— |
X |
Sets the value of ST_Diag_CNT to 0.. |
X = supported — = not supported |
|||||

