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

  • TRUE = Activate checking time for production and consumption

  • FALSE = Inactive (default)

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

  • 0 = STRUCT production data is not valid

  • 1 = STRUCT production data is valid

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

  • 0 = STRUCT consumption data is not valid

  • 1 = STRUCT consumption data is valid

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:

  • Offset 0 / UINT / Status

  • Offset 2 / USINT [0...409] / Output data

62

98

Get_Input

X

Returns the status and value the input:

  • Offset 0 / UINT / Status

  • Offset 2 / USINT [0...409] / Intput data

63

99

Set_DiagCounters

X

Sets the value of ST_Diag_CNT to 0..

X = supported

— = not supported

NOTE: If a service is addressed on an instance that does not exist or is not an I/O connection for the scanner, the service detects the following error: 0x05 – Path destination unknown.