Object Model
Service Data Object (SDO)
The EtherCAT implementation on DataMan consists of the following Service Data Objects:
-
Control
-
Status
-
Inspection Result Header
-
Inspection Results
-
SoftEvent
-
SoftEvent Ack
-
User Data
Control Object
Controls the reader. This object consists of data sent from the PLC to the DataMan reader.
Index: 7000
Total size: 1 byte
| Bit | Name | Description |
| 0 | TriggerEnable | Enables triggering through EtherCAT. Clearing this bit disables triggering. |
| 1 | Trigger |
Triggers an acquisition when the following conditions are met:
|
| 2 | ResultsBufferEnable |
Enables queuing of Result Data. If enabled, the current result data will remain until acknowledged, even if new results arrive. New results are queued. The next set of results are pulled from the queue, made available in the Result Data module, each time the current results are acknowledged. The reader will respond to the acknowledge by clearing the Results Available bit. Once the Results Ack bit is cleared the next set of read results will be posted and Results Available will be set True. If results buffering is not enabled newly received read results will simply overwrite the content of the Result Data module. The reader can buffer up to 50 and the base station can buffer up to 500 sets of read results. |
| 3 | ResultsAck | Used to acknowledge that the PLC has successfully read the latest result data. When set True the Result Available bit will be cleared. If result buffering is enabled, the next set of result data will be pulled from the queue and Result Available will again be set True. |
| 4-7 | Reserved | Reserved for future use. |
Status Object
Indicates the current reader status. This object consists of data sent from the DataMan reader to the PLC.
Index: 6000
Total size: 2 bytes
| Bit | Name | Description |
| 0 | TriggerReady | Indicates when the reader is ready to accept a new trigger. True when Trigger Enable is set and the reader is ready to accept a new trigger. |
| 1 | TriggerAck |
Indicates that the reader has received a new Trigger. Remains True as long as the Trigger bit remains True, that is, it is interlocked with the Trigger bit. |
| 2 | Reserved | TBD |
| 3 | AcquisitionError | Indicates that the reader was unable to successfully trigger an acquisition. Cleared when the next successful acquisition occurs. |
| 4-7 | Reserved | Reserved for future use. |
| 8 | Decoding | Set while decoding an image. |
| 9 | DecodeComplete | Toggled on the completion of a decode operation when the new results are made available (0 to 1 or 1 to 0). |
| 10 | ResultBufferOverrun | Indicates that the reader has discarded a set of read results because the results queue is full. Cleared when the next set of results are successfully queued. |
| 11 | ResultsAvailable | Indicates that a new set of read results are available, that is, the contents of the Result Data module are valid. Cleared when the results are acknowledged. |
| 12 | GeneralFault | Indicates that a fault has occurred, for example, a SoftEvent Set Match String or Execute DMCC error has occurred. |
| 13-15 | Reserved | Reserved for future use. |
Inspection Result Header Object
Contains further information about the Result. This object consists of data sent from the reader to the PLC.
Index: 6002
Total size: 3 words
| Index | Name | Description | ||||||||||||||
| 6002:01 | TriggerID | Trigger identifier. ID of the next trigger to be issued. | ||||||||||||||
| 6002:02 | ResultID |
The value of the Trigger ID when the trigger that generated these results was issued. Used to match up triggers with corresponding result data (16-bit integer). |
||||||||||||||
| 6002:03 | Inspection ResultCode |
Indicates the success or failure of the read that produced these results (16-bit integer).
|
Inspection Results Object
Read result data sent from a reader to a PLC.
Index: 6003
Total size: 31 bytes
| Byte | Name | Description |
| 0...1 | Result Length | Actual number of bytes of Result Data contained in the Result Data field (16-bit integer). |
| 2...30 | Result Data |
Decoded read result data (array of bytes). |
SoftEvent Object
Used to initiate a SoftEvent.
Index: 7001
Total size: 1 byte
Data written from the PLC to the reader:
| Bit | Name | Description |
| 0 | Train Code | Transition from 0 to 1 invokes the Train Code operation. |
| 1 | Train Match String |
Transition from 0 to 1 invokes the train match string operation. |
| 2 | Train Focus | Transition from 0 to 1 invokes the train focus operation. |
| 3 | Train Brightness | Transition from 0 to 1 invokes the train brightness operation. |
| 4 | Untrain | Transition from 0 to 1 invokes the untrain operation. |
| 5 | Reserved | Reserved for future use. |
| 6 | Execute DMCC | Transition from 0 to 1 invokes the DMCC operation. You must first place a valid DMCC command string in User Data before invoking this event. |
| 7 | Set Match String | Transition from 0 to 1 invokes the set match string operation. You must first place match string data in User Data before invoking this event. |
SoftEvent Ack Object
Used to acknowledge completion of a SoftEvent.
Index: 6001
Total size: 1 byte
Data written from the reader to PLC:
| Bit | Name | Description |
| 0 | Train Code Ack | Indicates that the Train Code operation is complete. |
| 1 | Train Match String Ack |
Indicates that the Train Match String operation is complete. |
| 2 | Train Focus Ack | Indicates that the Train Focus operation is complete. |
| 3 | Train Brightness Ack | Indicates that the Train Brightness operation is complete. |
| 4 | Untrain Ack | Indicates that the Untrain operation is complete. |
| 5 | Reserved | Reserved for future use. |
| 6 | Execute DMCC Ack | Indicates that the Execute DMCC operation is complete. |
| 7 | Set Match String Ack | Indicates that the Set Match String operation is complete. |
User Data Object
Data sent from a PLC to a reader to support acquisition, decode and other special operations. Currently this object is only used to support the Execute DMCC and Set Match String SoftEvents.
Index: 7002
Size: 31 bytes
| Byte | Name | Description |
| 0...30 | User Data |
Data sent from the PLC to the reader to support acquisition, decoding, and other special operations (array of bytes). Note: Requires a \0 termination character.
Note: For the Set Match String SoftEvent, the pattern is applied to all symbologies.
|
Process Data Object (PDO)
The following mapping is active by default:
| PDO | SDO |
| TxPDO1 | Status |
| TxPDO2 | SoftEventsAck |
| TxPDO3 |
TriggerID ResultID ResultCode |
| TxPDO4 | InspectionResults |
| RxPDO1 | Control |
| RxPDO2 | SoftEvents |
| RxPDO3 | UserData |