Technical Information Microscan3 Outdoorscan3 Nanoscan3 Data Output Via Udp and TCP Ip en Im0083701
Technical Information Microscan3 Outdoorscan3 Nanoscan3 Data Output Via Udp and TCP Ip en Im0083701
Manufacturer
SICK AG
Erwin-Sick-Str. 1
79183 Waldkirch
Germany
Legal information
This work is protected by copyright. Any rights derived from the copyright shall be
reserved for SICK AG. Reproduction of this document or parts of this document is
only permissible within the limits of the legal determination of Copyright Law. Any modi‐
fication, abridgment or translation of this document is prohibited without the express
written permission of SICK AG.
The trademarks stated in this document are the property of their respective owner.
© SICK AG. All rights reserved.
Original document
This document is an original document of SICK AG.
Contents
1 About this document........................................................................ 5
1.1 Purpose of this document........................................................................ 5
1.2 Scope......................................................................................................... 5
1.3 Target groups............................................................................................ 5
1.4 Symbols and document conventions...................................................... 5
2 Safety information............................................................................ 7
2.1 General safety notes................................................................................ 7
3 Product description........................................................................... 8
3.1 Structure and function............................................................................. 8
4 Data output........................................................................................ 10
4.1 Overview.................................................................................................... 10
4.2 Activating and configuring data output................................................... 10
4.2.1 Configuring with the Safety Designer..................................... 11
4.2.2 Configure data output via CoLa2............................................ 12
4.2.3 Continuous data output for multiple receivers...................... 12
4.3 Contents of the data output..................................................................... 13
4.4 Interpretation of the data transmitted via UDP...................................... 15
4.5 Configured and actually used angular range.......................................... 17
6 Technical data.................................................................................... 20
6.1 Data sheet................................................................................................. 20
7 Annex.................................................................................................. 22
7.1 Appendix A: Structure of data output...................................................... 22
7.2 Appendix B: Communication via CoLa2.................................................. 37
7.2.1 Overview................................................................................... 37
7.2.2 Overview of the telegram format............................................ 37
7.2.3 Sessions................................................................................... 39
7.2.4 Using the sensors.................................................................... 41
7.2.5 CoLa2 data types..................................................................... 43
7.3 Appendix C: CoLa2 variables and methods of the safety laser scan‐
ner.............................................................................................................. 44
7.3.1 Variables................................................................................... 45
7.3.2 Methods................................................................................... 64
7.4 Appendix D: Examples of communication via CoLa2............................. 67
7.4.1 Example 1: Activating continuous data output via UDP........ 67
7.4.2 Example 2: Activating data output on request....................... 69
8 List of figures..................................................................................... 70
9 List of tables....................................................................................... 71
1.2 Scope
This document applies to all microScan3, outdoorScan3 and nanoScan3 safety laser
scanners.
This document is included with the following SICK part numbers (this document in all
available language versions):
• 8022706
DANGER
Indicates a situation presenting imminent danger, which will lead to death or serious
injuries if not prevented.
WARNING
Indicates a situation presenting possible danger, which may lead to death or serious
injuries if not prevented.
CAUTION
Indicates a situation presenting possible danger, which may lead to moderate or minor
injuries if not prevented.
NOTICE
Indicates a situation presenting possible danger, which may lead to property damage if
not prevented.
NOTE
Indicates useful tips and recommendations.
Instructions to action
b The arrow denotes instructions to action.
2 Safety information
2.1 General safety notes
DANGER
Danger of using data output for safety function
Data output may only be used for general monitoring and control tasks.
b Do not use data output for safety-related applications.
DANGER
Danger of using CoLa2 for safety function
CoLa2 may only be used for general monitoring and control tasks.
b Do not use CoLa2 for safety-related applications.
3 Product description
3.1 Structure and function
The safety laser scanner is an electro-sensitive protective device (ESPE) which scans its
surroundings two-dimensionally using infrared laser beams.
The safety laser scanner operates on the principle of time-of-flight measurement. It
emits light pulses in regular, very short intervals. If the light strikes an object, it is
reflected. The safety laser scanner receives the reflected light. The safety laser scanner
calculates the distance to the object based on the time interval between the moment of
transmission and moment of receipt (∆t).
A rotating mirror is situated in the safety laser scanner. The mirror deflects the light
pulses so that they scan a fan-shaped area.
227,5°
-47,5°
0°
90°
Measurement Data
Measurement data is, for example, the distance data for each individual light pulse.
The measurement data can be output via the Ethernet interface. In addition to the
measurement data, other data can also be output, e.g. on object detections and the
device status.
4 Data output
4.1 Overview
DANGER
Danger of using data output for safety function
Data output may only be used for general monitoring and control tasks.
b Do not use data output for safety-related applications.
Data output allows for the output of measurement data and other data via the Ethernet
interface. Other network participants, the receivers, can call up and use the data.
The data output works in different send modes:
• On request: Data is output when there is an explicit request from a host computer
via TCP/IP using CoLa2
• Continuous and on request: Data is output continuously via UDP to a defined target
address and also when there is an explicit request from a host computer via
TCP/IP using CoLa2. 1)
The device provides the data via channels. Each channel consists of a configured data
output and the receiver defined for it. The number of available data output channels
depends on the device variant, see "Data sheet", page 20.
You define the angle range that is output for the measurement data in the configuration
of the measurement data output. The device always measures in the entire scanning
angle, but you can limit the output of the measurement data to a smaller sector.
You can define which data the device should output in each channel in the configu‐
ration of the measurement data output. The actually available data depends on the
operational status of the device, among other things. Therefore not all configured data
is output, rather only the data which is currently available.
After each rotation of the mirror, the device creates an instance of the measurement
data. For continuous data output, you can also additionally define whether each
instance should be sent or only every nth instance.
1) For devices with a max. protective field range of 9.0 m, the transmitted data quantity can be very large (> 230 kByte/s) if all measured
values are transmitted. For stable data output, you can adapt the transmission frequency (e.g. every second measurement) or decrease
the angular range.
Using Safety Designer, you can configure the safety laser scanner and the data output.
A configuration that is created with the Safety Designer is saved in the device and is
also active after restarting the device.
Send mode
• Deactivated: Data output is deactivated
• On request: Data is output when there is an explicit request from a host computer
via TCP/IP using CoLa2
• Continuous and on request: Data is output continuously via UDP to a defined target
address and also when there is an explicit request from a host computer via
TCP/IP using CoLa2. 2)
2) For devices with a max. protective field range of 9.0 m, the transmitted data quantity can be very large (> 230 kByte/s) if all measured
values are transmitted. For stable data output, you can adapt the transmission frequency (e.g. every second measurement) or decrease
the angular range.
Data content
• Device status: Information on the status of the safety laser scanner (e.g., cut-off
paths, errors)
• Configuration of data output: Information on the angular range actually being used
(for technical reasons, data from a slightly larger angular range than the one set
may be output in some cases)
• Measurement data: Distance data with reflector detection and RSSI
• Field interruption: Data on the light beams in interrupted fields of the active monitor‐
ing case
• Application data: Status of inputs and outputs that are used in the monitoring case
table
Angular range
You can define the range within which measurement data and data relating to field
interruptions is output.
NOTE
The configuration via the NavData_ChangeCommSettings method is not persistent
and is lost when the device is switched off, restarted or reconfigured. In these cases,
the configuration created with the Safety Designer is active.
Multicast
When multicasting, UDP packets are sent to a group of receivers.
Limited broadcast
In the case of a limited broadcast, the data are sent to all addresses in the local
network.
The IP address 255.255.255.255 must be configured in the data output channel. This
destination is converted directly into an Ethernet broadcast.
Directed broadcast
In the case of a directed broadcast, the data are sent to all addresses in a specific
network.
The broadcast address of the destination network must be configured in the data
output channel. The broadcast address is the address of the destination network where
all host bits are set to 1. For example, a directed broadcast in the network 192.168.0.0
with the network mask 255.255.255.0 has the address 192.168.0.255.
3) IP multicast addresses in the range 239.192.1.0 to 239.192.128.255 are reserved for EtherNet/IP communication.
Device status
Information on the device status is output in this data block e.g. error status, status of
the cut-off path, monitoring case number.
Measurement data
In this data block, distance, RSSI and status are output for each beam. The number of
beams depends on the angular beam configured and on the scan cycle time.
Field interruption
This data block contains information on field interruptions in each configured cut-off
path. If an object is detected and the cut-off path therefore switches to the OFF state,
the beams that are interrupted by the object are marked.
The data in this block is organized in an array. Each element of the array stands for a
cut-off path. The position of the cut-off path in the array is the same as its position in
the network process image (assembly) and is configured in the Safety Designer.
Only data for the beams that are within the configured angular range for the measure‐
ment data output is output.
Application data
The status of the inputs and outputs must also be used in the configuration of the laser
safety scanner. The available inputs and outputs depend on the safety laser scanner
variant.
Further topics
• "Appendix A: Structure of data output", page 22
NOTE
Several devices (or several channels of a device) cannot send your data to the same
port of the same target system. If a system should receive data from several devices or
channels, then you must use a clear port for each device and each channel.
Depending on the configuration (scope of the data), an instance of the data output is
too big for a UDP datagram. The instance is then split up into fragments and sent in
several sequential UDP datagrams.
length
length
length
offset
offset
offset
Fragments .......
The following figure shows a datagram that a device (IP address: 192.168.0.170)
sends to a receiver (IP address: 192.168.0.50). In this example, every instance of the
data output is divided into 3 fragments.
}1
}2
The data integrity of each individual UDP datagram is ensured with the UDP checksum.
The UDP neither ensures the arrival of individual datagrams, nor the sequence, nor
protection from duplicates. Therefore each UDP datagram is complemented with an
additional 24-byte header for data output see table 1, page 16. Using the information
in this header, the receiver can recognize duplicates and the loss of datagrams, redo
the sequence and re-combine the (possibly fragmented) instances of the data output.
As UDP does not offer the opportunity to re-request lost datagrams, receivers must be
able to deal with data loss.
Table 1: Data output datagram headers
Byte 0 1) Byte 1 Byte 2 Byte 3
Datagram marker
Protocol Version (maj) Version (min)
Total length
Identification
Fragment offset
Reserved
1) The bit sequence is from left to right and from top to bottom.
HD
Every laser beam of the safety laser scanner is emitted in a defined angle. Measure‐
ment data is only available for the angles in which a laser beam is emitted.
Field interruptions are not evaluated for each individual laser beam, rather for every 8th
beam.
Therefore the start angle and the end angle are rounded down (start angle) or rounded
up (end angle) to the next laser beam that has a number that is a multiple of 8.
Derived Beam 8
Start Angle
9
Beam
ngle
ta rt A
re dS
figu
Con
10
a m
Be
Important information
DANGER
Danger of using CoLa2 for safety function
CoLa2 may only be used for general monitoring and control tasks.
b Do not use CoLa2 for safety-related applications.
Device-specific deviations
• Byte sequence: The safety laser scanner uses the Little Endian format for the data
according to the bytes Cmd and Mode (see "Layer 7.2, command layer", page 38)
• The TCP/IP for the CoLa2 communication of the safety laser scanner is port 2122
• A CoLa2 telegram can be split into fragments. The client must re-combine the
fragments
• Variables and methods of the safety laser scanner can only be called up via index
(and not via their names)
• The safety laser scanner does not support any events
Further topics
• "Appendix B: Communication via CoLa2", page 37
• "Appendix C: CoLa2 variables and methods of the safety laser scanner", page 44
6 Technical data
6.1 Data sheet
Table 3: microScan3, outdoorScan3 data sheet
Devices with a max. protective Devices with a max. protective
field range of 4.0 m field range of 9.0 m
Devices with a max. protective
field range of 5.5 m
Data output channels 1
Scanning angle 275° (–47.5° to 227.5°)
Distance measurement range 1)
Systematic errors ± 10 mm
Total measurement error (statistical and systematic)
At 1 σ ± 13 mm ± 18 mm
At 2 σ ± 16 mm ± 26 mm
At 3 σ ± 19 mm ± 34 mm
At 4 σ ± 22 mm ± 42 mm
At 5 σ ± 25 mm ± 50 mm
1) Warm-up time ≥ 30 min. Light spot fully on the target object.
2) safeHDDM® filters the physical measured values and provides very precise and reproducible measured
values. Only safeHDDM® measured values are available via data output.
7 Annex
7.1 Appendix A: Structure of data output
The data is coded in Little Endian format within the structure of the data output. Data
types: see "CoLa2 data types", page 43.
There are non-specified ranges between the data blocks. These ranges are noted in the
following table with "~ ~ ~" and must be ignored by the client.
The blocks must be addressed via the offset that is given in the header. The blocks may
not be addressed via a fixed offset because the size of a block and therefore the offset
to the duration can change.
In future versions of the protocol, it is possible that more data can be attached to
the header or to the blocks. Access to the data remains compatible when done as
described here.
~~~
1) A data field per beam. The data field is repeated n times. (n = number of beams).
2) If the bit has the value 1, the value in the distance field should not be used.
2)) The reflector flag indicates that the beam has hit a retroreflector. This information can be used for navigation, for example, using permanently installed retroreflectors.
In individual cases, the cause of the reflector flag can also be an edge in the spatial contour that is double-reflected by a beam.
1) One data field per cut-off path. The data field is repeated 24 times.
2) Only the bits are 1 whose beams are interrupted by an object and the switch the cut-off path into the OFF state.
+4
Reserved 4 Offset (Block
Application data)
+8
Monitoring case numbers Monitoring case number ARRAY of 20 × 40 Offset (Block Only if the monitoring case numbers are used for the monitoring
(monitoring case table n) UINT Application data) case switchover (e.g. assembly 103): each element of the array
stands for the monitoring case number of a monitoring case table.
+ 12
Flags DCONT 4 Offset (Block The monitoring case number of the corresponding monitoring case
Application data) table is available for the monitoring case switchover.
+ 52
+ 74
Reserved 1 Offset (Block
Application data)
+ 75
Reserved 64 Offset (Block
Application data)
+ 76
+ 152
Flags DCONT 4 Offset (Block The monitoring case number of the corresponding monitoring case
Application data) table is valid.
+ 192
Status standby state ENUM8 1 Offset (Block 1: Device in standby
Application data) 2: Device not in standby
+ 196
Table 13: Data output: Block Local inputs and outputs (inputs)
Structure Data type Length in bytes Offset in bytes Description
~~~
Table 14: Data output: Block Local inputs and outputs (outputs)
Structure Data type Length in bytes Offset in bytes Description
OSSDs Status BIT 1 Offset (Block Logical status of the OSSDs:
Local inputs and • Bit 0: OSSD 1.A
outputs) • Bit 1: OSSD 1.B
+ 28 • Bit 2: OSSD 2.A
• Bit 3: OSSD 2.B
• Bit 4: OSSD 3.A
• Bit 5: OSSD 3.B
• Bit 6: OSSD 4.A
• Bit 7: OSSD 4.B
Reserved 3 Offset (Block
Local inputs and
outputs)
+ 29
Important information
DANGER
Danger of using CoLa2 for safety function
CoLa2 may only be used for general monitoring and control tasks.
b Do not use CoLa2 for safety-related applications.
Further topics
• "CoLa2 interface of the safety laser scanner", page 19
• "Appendix C: CoLa2 variables and methods of the safety laser scanner", page 44
• "Appendix D: Examples of communication via CoLa2", page 67
7.2.1 Overview
How clients (controls, PCs etc.) connect with SICK sensors (servers) via CoLa2 is
described below.
In this context, every IT device counts as a client, for which the following applies:
• The device accesses SICK sensors.
• The device sends data or commands to SICK sensors.
• The device receives data from SICK sensors.
The communication protocols underneath the application layer (ISO-/OSI layers 1 … 6)
are not described.
It is assumed that the communication is transparent and error-free, with the following
exceptions:
• Connection loss.
• Connection blockades when there are full transmit queues.
With TCP/IP, all CoLa 2.0 connect requests must be sent to port 2122 of the server
(SICK sensor). With the TCP/IP socket of the client, you can configure TCP_NODELAY
so that even small TCP/IP packages can be sent immediately and the end-to-end
communication is accelerated.
7.2.3 Sessions
The connection between a client (control, PC etc.) and a server (SICK sensor) is organ‐
ized as a session. First a session must be established, only then can the partners
communicate. Within a session, every communication exchange (each client request
and accompanying server responses) is numbered with the ReqID. The server (SICK
sensor) creates the SessionID when setting up the session. The client creates a unique
ReqID for each request to the server.
The client sends a command to the server (SICK sensor) via the selected hardware
interface:
• HubCntr = 0
• NoC = 0
• Socketidx0 (not required as NoC = 0)
• SessionID = 0
• ReqID = unique value defined by client
• Cmd = ‘O’ (letter O, 0x4F)
• Mode = ‘X’ (letter X, 0x58)
• Timeout = number of seconds (binary, 1 … 255)
• ClientID = identifier of the client (bytestream)
The server (SICK sensor) returns the command with the following changes:
• SessionID = The server sends the session ID that the client must use for all
further requests to the server.
• Mode = ‘A’ (letter X, 0x41)
• The Timeout and ClientID fields are truncated.
The set-up session exists up to explicit completion or up to the timeout.
If the server (SICK sensor) does not receive a command from the client within Timeout
seconds, it ends the session. Then the client answers requests with the SessionID
with the error message "Invalid Session".
The client must send requests as often as necessary so that the timeout does not
expire. You can implement a timer on the client for this that is reset for each request.
After the timer has run out, the client should send a dummy command to maintain the
session.
The error number is sent in the sensor-specific byte sequence, see "Byte sequence",
page 39. SessionID and ReqID identify the command that caused the error.
Table 23: Fault numbers
Fault number Name Description
0x0001 METHODIN_ACCESSDENIED Incorrect user group. Calling up the
method not allowed.
0x0002 METHODIN_UNKNOWNINDEX Method with the specified SOPAS
index is not known.
0x0003 VARIABLE_UNKNOWNINDEX Variable with the specified SOPAS
index is not known.
0x0004 LOCALCONDITIONFAILED Local condition infringed. Example:
Specified value is outside the per‐
missible range for the variable.
0x0005 INVALID_DATA Invalid data for variable.
0x0006 UNKNOWN_ERROR Errors with unknown cause.
0x0007 BUFFER_OVERFLOW Communication buffer too small for
the data amount to be serialized.
0x0008 BUFFER_UNDERFLOW More data was expected. The
assigned buffer could not be filled.
0x0009 ERROR_UNKNOWN_TYPE The variable has an unknown type.
There are undocumented internal
variables in the firmware of the
device.
0x000A VARIABLE_WRITE_ ACCESS_DENIED No values could be written in this
variable.
0x000B UNKNOWN_CMD_ FOR_NAME‐ When calling up via the name: Name
SERVER of the command is not known to the
name server.
0x000C UNKNOWN_COLA_COMMAND Name of the command is not defined
in the CoLa protocol. Name of the
command is not known.
0x000D METHODIN_SERVER_BUSY Only one method can be sent to the
device at the same time.
0x000E FLEX_OUT_OF_BOUNDS Array has the incorrect length.
7.3 Appendix C: CoLa2 variables and methods of the safety laser scanner
The documented variables and methods of the safety laser scanner can be used by
programs via the CoLa2 protocol.
The communication examples serve as illustrations. The session ID in the CoLa2
header is assigned by the device at the start of a CoLa2 session. In real communica‐
tion, the session ID is therefore probably different to the examples.
7.3.1 Variables
NOTE
Some variables have a 4 byte-long version header. If the first byte of this header is 0,
then the contents of the variable is invalid and may not be used.
7.3.1.1 Identification
Description
The variable only offers read access.
The variable contains 2 serial numbers:
• Serial number (device without system plug)
• Serial number (system plug)
The value is output as a string (ISO 8859-15).
The serial numbers are separated by a slash (0x2F).
Communication example
Table 25: Serial number: Variable recall
CoLa2 telegram (HEX) ISO 8859-15
02 02 02 02 00 00 00 0c 00 00 5a 84 91 dd 00 02 ..........Z.....
52 49 03 00 RI..
Description
The variable only offers read access.
The variable contains the firmware version of the device.
The value is output as a string (ISO 8859-15).
Communication example
Table 27: Firmware version: Variable recall
CoLa2 telegram (HEX) ISO 8859-15
02 02 02 02 00 00 00 0c 00 00 35 2d ba 75 00 02 ..........5-.u..
52 49 04 00 RI..
Description
The variable only offers read access.
The variable contains the type code of the device.
The value is output as a string (ISO 8859-15).
Communication example
Table 29: Type code: Variable recall
CoLa2 telegram (HEX) ISO 8859-15
02 02 02 02 00 00 00 0c 00 00 38 41 5a 71 00 02 ..........8AZq..
52 49 0d 00 RI..
Description
The variable only offers read access.
The variable contains the part number of the device.
The value is output as a string (ISO 8859-15).
Communication example
Table 31: Part number: Variable recall
CoLa2 telegram (HEX) ISO 8859-15
02 02 02 02 00 00 00 0c 00 00 af 90 a7 6d 00 02 .............m..
52 49 0e 00 RI..
7.3.1.2 Configuration
Description
The variable only offers read access.
The variable contains the configured name of the device.
The value is output as a string (ISO 8859-15).
Communication example
Table 33: Device name: Variable recall
CoLa2 telegram (HEX) ISO 8859-15
02 02 02 02 00 00 00 0c 00 00 49 ec b2 01 00 02 ..........I.....
52 49 11 00 RI..
Description
The variable only offers read access.
The variable contains the name of the project that is configured in the device.
The value is output as a string (ISO 8859-15).
Communication example
Table 35: Project name: Variable recall
CoLa2 telegram (HEX) ISO 8859-15
02 02 02 02 00 00 00 0c 00 00 58 e4 17 9d 00 02 ..........X.....
52 49 12 00 RI..
Description
The variable only offers read access.
The variable contains the configured name of the application.
The value is output as a string (ISO 8859-15).
Structure
Table 37: Application name: Structure
Data field Data type Length in Offset in Description
bytes bytes
tVersion cVersion USINT 1 0 0: The values of this variable are invalid. Other
values: valid.
u8Major USINT 1 1 Main version number. Different numbers stand
for incompatible versions.
u8Minor USINT 1 2 Sub version number. Versions with different sub
version numbers are compatible if the main ver‐
sions numbers are the same.
u8Release USINT 1 3 Release number.
tName u32Length UDINT 4 4 Length of the string: Number of the bytes used in
au8Data.
au8Data ARRAY 32 8 Content of the string. Bytes not used contain
(USINT) zeroes.
Communication example
Table 38: Application name: Variable recall
CoLa2 telegram (HEX) ISO 8859-15
02 02 02 02 00 00 00 0c 00 00 b3 a2 a4 11 00 02 ................
52 49 21 00 RI!.
Description
The variable only offers read access.
The variable contains the configured name of the user.
The value is output as a string (ISO 8859-15).
Structure
Table 40: User name: Structure
Data field Data type Length in Offset in Description
bytes bytes
tVersion cVersion USINT 1 0 0: The values of this variable are invalid. Other
values: valid.
u8Major USINT 1 1 Main version number. Different numbers stand
for incompatible versions.
u8Minor USINT 1 2 Sub version number. Versions with different sub
version numbers are compatible if the main ver‐
sions numbers are the same.
u8Release USINT 1 3 Release number.
tName u32Length UDINT 4 4 Length of the string: Number of the bytes used in
au8Data.
au8Data ARRAY 32 8 Content of the string. Bytes not used contain
(USINT) zeroes.
Communication example
Table 41: User name: Variable recall
CoLa2 telegram (HEX) ISO 8859-15
02 02 02 02 00 00 00 0c 00 00 f6 36 a1 fd 00 02 ...........6....
52 49 23 00 RI#.
Description
The variable only offers read access.
The variable contains the checksum of the configuration and the date and time of the
last change and configuration transmission.
Configuration of the fields, field sets and monitoring cases can be called up via other
variables. Additional information is available from your SICK subsidiary.
Structure
Table 43: Meta data of the configuration: Structure
Data field Data type Length in Offset in Description
bytes bytes
tVersion cVersion USINT 1 0 0: The values of this variable are invalid. Other
values: valid.
u8Major USINT 1 1 Main version number. Different numbers stand
for incompatible versions.
u8Minor USINT 1 2 Sub version number. Versions with different sub
version numbers are compatible if the main ver‐
sions numbers are the same.
u8Release USINT 1 3 Release number.
tModification‐ tDate UINT 2 4 Date:
Time • If time synchronization is active and a UTC
server acts as the time master: days since
January 1, 1972
• If time synchronization is active and a device
in the Safety Designer project acts as the
time master: number of full 24-hour cycles of
the time master
• time synchronization is not active: number
If
of full 24-hour cycles since the device was
switched on
Reserved 2 6
tTime UDINT 4 8 Time:
• If time synchronization is active and a UTC
server acts as the time master: milliseconds
since midnight
• If time synchronization is active and a device
in the Safety Designer project acts as the
time master: milliseconds since the start of
the current 24-hour cycle of the time master
• If time synchronization is not active: millisec‐
onds since the start of the current 24-hour
cycle since switching on the device
Communication example
Table 44: Meta data of the configuration: Variable recall
CoLa2 telegram (HEX) ISO 8859-15
02 02 02 02 00 00 00 0c 00 00 91 af 71 7d 00 02 ............q}..
52 49 1c 00 RI..
Description
The variable only offers read access.
The variable contains the following information:
• Status of the device
• Status of the configuration
• Status of the application
• Current system time
• Error code and time stamp of the error (only if there is an error present)
Structure
Table 47: Status overview: Structure
Data field Data type Length in Offset in Description
bytes bytes
tVersion cVersion USINT 1 0 0: The values of this variable are invalid. Other
values: valid.
u8Major USINT 1 1 Main version number. Different numbers stand
for incompatible versions.
u8Minor USINT 1 2 Sub version number. Versions with different sub
version numbers are compatible if the main ver‐
sions numbers are the same.
u8Release USINT 1 3 Release number.
eDeviceState ENUM8 1 4 0x0: Normal
0x1: Error
0x2: Initialization
0x3: Switch off
0x4: Optics cover calibration
Communication example
Table 48: Status overview: Variable recall
CoLa2 telegram (HEX) ISO 8859-15
02 02 02 02 00 00 00 0c 00 00 a0 03 08 a1 00 02 ................
52 49 17 00 RI..
Description
The variable contains general information on the device status.
Table 51: SOPAS device status: Values
Value Meaning Quality of the measurement
0 Unclear device status Not defined
1 Device start Not defined
2 Service mode (e.g. firmware update, Not defined
optics cover calibration)
3 Normal operation Good measurement
4 Device is waiting (e.g. for communi‐ Unclear or no measurement
cation partner or input signal)
5 Maintenance recommended (e.g. Good measurement
contamination warning)
6 Maintenance required (e.g. configu‐ Unclear measurement
ration incompatible)
7 Correctable error (e.g. configuration Malfunction
error, network error)
8 Serious error (e.g. contamination Malfunction
error, configuration error, network
error)
Communication example
Table 52: SOPAS device status: Variable recall
CoLa2 telegram (HEX) ISO 8859-15
02 02 02 02 00 00 00 0c 00 00 59 ac 3f 69 00 02 ..........Y.?i..
52 49 0f 00 RI..
Description
Together with the SOPAS device status variables, the “Note on troubleshooting” variable
provides information on troubleshooting.
Table 54: Note on troubleshooting: Values
Value Meaning
0x0001 Configure device, verify configuration
(b0000 0000 0000 0001)
0x0002 Test configuration, test device variant
(b0000 0000 0000 0010)
0x0004 Check communication partner, check manipu‐
(b0000 0000 0000 0100) lation
0x0008 Check input signals, check network and other
(b0000 0000 0000 1000) connections
0x0010 Check the error messages
(b0000 0000 0001 0000)
0x0020 Configure device (including network settings)
(b0000 0000 0010 0000)
0x0040 Checking the firmware
(b0000 0000 0100 0000)
0x0080 Wait a few seconds
(b0000 0000 1000 0000)
Communication example
Table 55: Note on troubleshooting: Variable recall
CoLa2 telegram (HEX) ISO 8859-15
02 02 02 02 00 00 00 0c 00 00 59 ac 3f 69 00 03 ..........Y.?i..
52 49 10 00 RI..
Description
The variable only offers read access.
The variable contains the temperature that is measured in the device´s sender module.
The temperature value can serve as an approximate guide for the interior temperature
of the device. The value can significantly deviate from the specified operating tempera‐
ture.
Structure
Table 57: Device temperature: Structure
Data field Data type Length in Offset in Description
bytes bytes
Reserved 6 0
i16Temperature INT 2 6 Temperature in 0.1 °C
Reserved 8 8
Communication example
Table 58: Device temperature: Variable recall
CoLa2 telegram (HEX) ISO 8859-15
02 02 02 02 00 00 00 0c 00 00 3c f5 29 13 00 03 ..........<.)...
52 49 6a 01 RIj.
Description
The variable only offers read access.
The variable contains the device time, the configured time zone and the time since
device start.
This variable is only available for the nanoScan3.
Structure
Table 60: Device time: Structure
Data field Data type Length in Offset in Description
bytes bytes
tVersion cVersion USINT 1 0 0: The values of this variable are invalid. Other
values: valid.
u8Major USINT 1 1 Main version number. Different numbers stand
for incompatible versions.
u8Minor USINT 1 2 Sub version number. Versions with different sub
version numbers are compatible if the main ver‐
sions numbers are the same.
u8Release USINT 1 3 Release number.
UTC Time tDate UINT 2 4 Date:
• If time synchronization is active and a UTC
server acts as the time master: days since
January 1, 1972
• If time synchronization is active and a device
in the Safety Designer project acts as the
time master: number of full 24-hour cycles of
the time master
• If time synchronization is not active: number
of full 24-hour cycles since the device was
switched on
Reserved 2 6
tTime UDINT 4 8 Time:
• If time synchronization is active and a UTC
server acts as the time master: milliseconds
since midnight
• If time synchronization is active and a device
in the Safety Designer project acts as the
time master: milliseconds since the start of
the current 24-hour cycle of the time master
• If time synchronization is not active: millisec‐
onds since the start of the current 24-hour
cycle since switching on the device
Reserved 4 12
Time Zone i32OffsetMins DINT 4 16 Time difference to UTC in minutes.
acName STRING 8 20 Abbreviation for time zones, e.g. CET for Central
European Time.
Reserved 4 28
Communication example
Table 61: Device time: Variable recall
CoLa2 telegram (HEX) ISO 8859-15
02 02 02 02 00 00 00 0c 00 00 3d f0 a9 21 00 03 ..........=..!..
52 49 cb fa RI..
Description
Contains the saved configuration of all data output channels. The saved configuration
is configured with Safety Designer. It is also active after restarting the device. The cur‐
rently active configuration can deviate from the saved configuration if the configuration
has been changed with the NavData_ChangeCommSettings method.
Structure
Table 63: Saved configuration of the data output channel: Structure
Data field Data type Length in Offset in Description
bytes bytes
cVersion USINT 1 0 0: The values of this variable are invalid. Other
tVersion
values: valid.
u8Major USINT 1 1 Main version number. Different numbers stand
for incompatible versions.
u8Minor USINT 1 2 Sub version number. Versions with different sub
version numbers are compatible if the main ver‐
sions numbers are the same.
u8Release USINT 1 3 Release number.
oEnabled BOOL 1 4 True: The channel is active.
For every channel (0 … 3)
Communication example
Table 64: Saved configuration of the data output channel: Variable recall
CoLa2 telegram (HEX) ISO 8859-15
02 02 02 02 00 00 00 0c 00 00 d8 2e b7 27 00 03 .............´..
52 49 b1 00 RI..
Table 65: Saved configuration of the data output channel: Sensor response (example)
CoLa2 telegram (HEX) ISO 8859-15
02 02 02 02 00 00 00 70 00 00 d8 2e b7 27 00 03 .......p.....´..
52 41 b1 00 56 01 00 00 00 00 00 00 00 00 00 00 RA..V...........
ac 17 01 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 ac 17 01 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
ac 17 01 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 ac 17 01 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 ........
Description
Contains the currently active configuration of all data output channels. The currently
active configuration can deviate from the saved configuration. The saved configuration
will be active again after restarting the device in this case. The variable also contains
the derived configuration for each channel.
Structure
Table 66: Active configuration of the data output channel: Structure
Data field Data type Length in Offset in Description
bytes bytes
cVersion USINT 1 0 0: The values of this variable are invalid. Other
tVersion
values: valid.
u8Major USINT 1 1 Main version number. Different numbers stand
for incompatible versions.
u8Minor USINT 1 2 Sub version number. Versions with different sub
version numbers are compatible if the main ver‐
sions numbers are the same.
u8Release USINT 1 3 Release number.
multiplied.
u16NumBeams UINT 2 30 Number of beams based on the configured start
angle and end angle.
u16ScanTime UINT 2 32 Duration of a scan in milliseconds
Reserved 2 34
r10_22StartAngle DINT 4 36 Start angle of the first beam (derived from
the configured start angle). The angle is output
in degrees (not radians) with a resolution of
1/4194304° in the range of –360° to 360°.
r10_22AngularScanBeam‐ DINT 4 40 Angular resolution, the angle between two neigh‐
Resolution boring beams. The angle is output in degrees
(not radians) with a resolution of 1/4194304° in
the range of –360° to 360°.
u32InterBeamPeriod UDINT 4 44 Time between 2 successive beams in microsec‐
onds.
Reserved 4 48
Communication example
Table 67: Active configuration of the data output channel: Variable recall
CoLa2 telegram (HEX) ISO 8859-15
02 02 02 02 00 00 00 0c 00 00 48 58 29 93 00 03 ..........HX)...
52 49 b2 00 RI..
Table 68: Active configuration of the data output channel: Sensor response (example)
CoLa2 telegram (HEX) ISO 8859-15
02 02 02 02 00 00 00 d0 00 00 48 58 29 93 00 03 ..........HX)...
52 41 b2 00 52 01 01 00 00 00 00 00 00 00 00 00 RA..R...........
ac 17 01 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01 00 00 00 1e 00 00 00 00 00 00 00 f8 d5 20 00 .............. .
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
ac 17 01 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01 00 00 00 1e 00 00 00 00 00 00 00 f8 d5 20 00 .............. .
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
ac 17 01 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01 00 00 00 1e 00 00 00 00 00 00 00 f8 d5 20 00 .............. .
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
ac 17 01 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01 00 00 00 1e 00 00 00 00 00 00 00 f8 d5 20 00 .............. .
00 00 00 00 00 00 00 00 ........
Description
Contains the most recent data from a channel. Each channel has its own index. The
data is only valid if the channel is active.
Structure
Information on the structure see "Appendix A: Structure of data output", page 22.
Communication example
Table 69: Most recent measurement data: Variable recall
CoLa2 telegram (HEX) ISO 8859-15
02 02 02 02 00 00 00 0c 00 00 73 61 cf 5f 00 03 ..........sa._..
52 49 b3 00 RI..
7.3.2 Methods
Description
The method allows the display of the device to flash for a defined period of time.
Flashing can help the user to identify the device.
Input parameters
Duration of the flashing in seconds, coded as UInt.
Output values
None.
Communication example
Table 71: Identifying device: Method invocation
CoLa2 telegram (HEX) ISO 8859-15
02 02 02 02 00 00 00 0e 00 00 b0 36 2c 2d 00 02 ...........6,-..
4d 49 0e 00 05 00 MI....
Description
Used to configure a data output channel. This configuration is not permanent, i.e. the
previously saved configuration will be active again after restarting the device.
An entry is created in the message history when calling up this method.
To activate data output on request and simultaneously deactivate continuous data
output, you must activate a channel and enter 0.0.0.0 as the IPv4 address of the
receiver and port 0.
For devices with a max. protective field range of 9.0 m, the transmitted data quantity
can be very large (> 230 kByte/s) if all measured values are transmitted. For stable
data output, you can adapt the transmission frequency (e.g. every second measure‐
ment) or decrease the angular range.
Input parameters
Table 73: Configuring the data output: Input parameters
Data field Data type Length in Offset in Description
bytes bytes
u8ChannelNumber USINT 1 0 Number of the channel to be configured (0 ... 3).
Reserved 3 1
oEnabled BOOL 1 4 0: Deactivate channel.
1: Activate channel.
eInterfaceType ENUM8 1 5 The network interface via which the data output
takes place:
• 0: EFI-pro
• 1: Ethernet/IP
• 3: PROFINET
• 4: Non-secure Ethernet
For microScan3 – EtherCAT®, data output is via
the non-safe Ethernet connection.
Reserved 2 6
tReceiverAddress 4 × BYTE 4 8 IP address of the system to which the measure‐
ment data is sent via UDP (Little Endian).
Output values
Table 74: Configuring the data output: Output values
Data field Data type Length in Offset in Description
bytes bytes
eResult ENUM8 1 0 • 0: The configuration of the channel has been
successfully activated. For all other values,
the previously present configuration has not
been changed.
• 1: The channel configuration could not be
activated. An general error has occurred.
• 2: The channel configuration could not be
activated. The supported number of channels
has already been exhausted.
• 3: The channel configuration could not be
activated. The device used does not support
the specified interface.
• 4: The channel configuration could not be
activated. The device used does not support
the start angle specified.
• 5: The channel configuration could not be
activated. The device used does not support
the end angle specified or the end angle is
not greater than the start angle.
• 6: The channel configuration could not be
activated. All reserved bits must be set to 0.
Communication example
Table 75: Configuring the data output: Method invocation
CoLa2 telegram (HEX) ISO 8859-15
02 02 02 02 00 00 00 28 00 00 f1 7f 41 03 00 03 .......(....A...
4d 49 b0 00 00 00 00 00 01 00 00 00 32 00 a8 c0 MI..........2...
50 c3 28 00 00 00 80 fd 00 00 80 02 00 00 00 00 P.(.............
✓ The device confirms the command (Cmd = “O”, Mode = “A”) and assigns a session
ID (SessionID).
<-- 02020202 0000000a 00 00 2d6c2733 0001 4f 41 (OA)
✓ The device confirms the method call-up (Cmd = “A”, Mode = “I”).
<-- 02020202 00000010 00 00 2d6c2733 0003 41 49 b00000000000
(AI)
NOTE
If the data output of a deactivated channel is called up, the data received is invalid.
You can obtain the most recent data output instance from the variable NavData_tLa-
testTelegram (Index = 179/0xB3 bis 182/0xB6, depending on channel) via CoLa2,
see "Most recent measurement data", page 63.
With the following steps you can open a CoLa2 session and read the most recent
telegram on channel 0. Channel 0 must be activated.
1. Open TCP session to the sensor, port 2122.
2. Open CoLa2 session. To do so, send a CoLa2 telegram to establish a session
(Cmd = “O”, Mode = “X”).
--> 02020202 0000000d 00 00 00000000 0001 4f 58 1e0000 (OX,
Timeout=30sec)
✓ The device confirms the command (Cmd = “O”, Mode = “A”) and assigns a session
ID (SessionID).
<-- 02020202 0000000a 00 00 a09e8aab 0001 4f 41 (OA)
✓ The device confirms the command (Cmd = “R”, Mode = “A”) and supplies the
contents of the variable.
<-- 02020202 000002f0 00 00 a09e8aab 0003 52 41
b300520200006db50a018c8f0a01000000003b0100004e0 […] (RA)
4. Repeat step 3. as many times as necessary to call up the data output multiple
times. The device closes the TCP session after 30 seconds without activity.
5. Close CoLa2 session (Cmd = “C”, Mode = “X”).
--> 02020202 0000000a 00 00 a09e8aab 0004 43 58 (CX)
8 List of figures
1. Light pulses scan an area............................................................................................ 8
2. Data output................................................................................................................. 11
3. Cut-off paths in Safety Designer................................................................................14
4. UDP datagram and measurement data.................................................................... 15
5. Example datagrams....................................................................................................16
6. Laser beams............................................................................................................... 17
7. Rounding to the 8th laser beam................................................................................18
8. Cola2 protocol stack...................................................................................................19
9. Header of the layer 7.1, message layer.................................................................... 38
10. Layer 7.2, command layer..........................................................................................38
11. Setup of a session with a SICK sensor (server)........................................................40
12. Expiration of a session............................................................................................... 41
9 List of tables
1. Data output datagram headers................................................................................. 16
2. Example: UDP datagram............................................................................................ 17
3. microScan3, outdoorScan3 data sheet.................................................................... 20
4. nanoScan3 data sheet...............................................................................................21
5. Data output: Header...................................................................................................23
6. Data output: Block Device status.............................................................................. 24
7. Content of the block Device status............................................................................25
8. Data output: Block Configuration of the data output...............................................26
9. Data output: Block Measurement data.....................................................................27
10. Data output: Block Field interruption........................................................................ 28
11. Data output: Block Application data (inputs)............................................................28
12. Data output: Block Application data (outputs)......................................................... 30
13. Data output: Block Local inputs and outputs (inputs)............................................. 32
14. Data output: Block Local inputs and outputs (outputs)...........................................35
15. Header of the layer 7.1, message layer.................................................................... 38
16. Layer 7.2, command layer..........................................................................................39
17. Read variables............................................................................................................ 41
18. Sensor response.........................................................................................................41
19. Write variable.............................................................................................................. 41
20. Sensor response.........................................................................................................42
21. Calling up methods.....................................................................................................42
22. Sensor response.........................................................................................................42
23. Fault numbers.............................................................................................................42
24. CoLa2 data types........................................................................................................43
25. Serial number: Variable recall....................................................................................45
26. Serial number: Sensor response (example)..............................................................45
27. Firmware version: Variable recall...............................................................................46
28. Firmware version: Sensor response (example).........................................................46
29. Type code: Variable recall...........................................................................................46
30. Type code: Sensor response (example).....................................................................46
31. Part number: Variable recall...................................................................................... 47
32. Part number: Sensor response (example)................................................................ 47
33. Device name: Variable recall..................................................................................... 47
34. Device name: Sensor response (example)............................................................... 47
35. Project name: Variable recall..................................................................................... 48
36. Project name: Sensor response (example)............................................................... 48
37. Application name: Structure...................................................................................... 48
38. Application name: Variable recall.............................................................................. 48
39. Application name: Sensor response (example)........................................................ 49
40. User name: Structure................................................................................................. 49
41. User name: Variable recall......................................................................................... 49
42. User name: Sensor response (example)................................................................... 49
43. Meta data of the configuration: Structure.................................................................50
44. Meta data of the configuration: Variable recall........................................................ 51
45. Meta data of the configuration: Sensor response (example).................................. 51
46. Sensor response (example), decoded.......................................................................52
47. Status overview: Structure......................................................................................... 52
48. Status overview: Variable recall.................................................................................54
49. Status overview: Sensor response (example)...........................................................54
50. Sensor response (example), decoded.......................................................................55
51. SOPAS device status: Values..................................................................................... 55
52. SOPAS device status: Variable recall.........................................................................55
53. SOPAS device status: Sensor response (example)...................................................56
54. Note on troubleshooting: Values............................................................................... 56