...
byteorder:
The byte order for the communication (optional)username:
The username for the administration of the laser scanner(optional)password:
The password for the administration of the laser scanner (optional)rawdata:
Should the rawdata sent by the scanner be added to the key-value object? (default: false)ignoretimestamp:
Should the scanner timestamp be replaced with the current stream time? (default: false) Note: this does not change the time stamp in the rawdata-string!
Schema
The output of the protocol handler provides the following attributes that can be used through the schema of the access operatoras a key-value object:
Name | Type | Description | ||
---|---|---|---|---|
TimestampTIMESTAMP | Long | The time of measurement in UTC (Time provided by scanner unless "ignoretimestamp" is set | ||
VERSIONVersion | String | The version of the laser scanner | ||
DeviceDEVICE | String | The device ID | ||
SerialSERIAL | String | The factory serial number | ||
StatusSTATUS | Integer | The status of the scanner | ||
MessageCountMESSAGECOUNT | Integer | The message counter starting at the first measured value message. When the upper limit is reached, the counter starts again at 0. | ||
ScanCountSCANCOUNT | Integer | The scan counter starting with the first scan after confirmation of the measured value message. When the upper limit is reached, the counter starts again at 0. | ||
PowerUpDurationPOWERUPDURATION | Long | The time since the scanner was switched on. | ||
TransmissionDurationTRANSMISSIONDURATION | Long | The time since the transfer of the measured values | ||
InputStatusINPUTSTATUS | Boolean | The state of the digital inputs | ||
OutputStatusOUTPUTSTATUS | Boolean | The state of the digital outputs | ||
ScanningFrequencySCANNINGFREQUENCY | Long | The scanning frequency | ||
MeasurementFrequencyMEASUREMENTFREQUENCY | Long | The frequency between two separate measurements | ||
POSITION | Matrix | The position | ||
POSITIONROTATIONTYPE | Integer | The position rotation type | ||
DISTANCE8BIT | Matrix | The measured distance values (8bit) | ||
REMISSION8BIT | Vector | The measured remission (8bit) | ||
DISTANCE8BIT2 | Matrix | The measured distance values (8bit) | ||
REMISSION8BIT2 | Vector | The measured remission (8bit) | ||
DISTANCE16BIT | Matrix | Dist1 | List<SpatialPolarCoordinate> | The measured distance values (16bit) |
Rssi1REMISSION16BIT | List<Double>Vector | The measured remission (16bit) | ||
Dist2DISTANCE16BIT2 | List<SpatialPolarCoordinate>Matrix | The measured distance values (16bit) | ||
Rssi2REMISSION16BIT2 | List<Double>Vector | The measured remission (16bit) | ||
RAWDATA | String | The original raw data sent by the scanner (enabled by the "rawdata" option) |
Example
To access the different attribute values the KeyValueToTuple operator can be used to transform the required attributes into a relational tuple.
PQL
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
input = ACCESS({source='lms1', wrapper='GenericPush', transport='TCPClient', protocol='SICKLMS1xx', dataHandler='SICKKeyValueObject', options=[['host','192.168.1.20'],['port','2111']], }) out schema=[= KEYVALUETOTUPLE({ schema=[['dist1DISTANCE16BIT', 'SpatialPolarCoordinateMatrix']], ] }) |
CQL
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
CREATE STREAM lms1 (dist1 SpatialPolarCoordinate) WRAPPER type='GenericPushScan' PROTOCOL 'SICK' TRANSPORT 'File' DATAHANDLER 'Tuple' OPTIONS ( 'host' '192.168.1.20', 'port' '2111', keepinput='false' }, input ) |