background image

3D sensor

34

13.  Appendix

13.1  Process Interface

The process interface is used during the normal operation mode to get operational data (e.g. 3D images, 

process values) from the O3D3xx. 

13.1.1  Sending Commands

For sending commands via the process interface the commands have to be sent with a special protocol 

and as ASCII character strings. This protocol conforms to the version 3 of the O2V/O2D products.
Structure of the protocol:
<Ticket><length>CR LF <Ticket><content>CR LF

Abbreviation

Description

ASCII code (dec)

ASCII code (hex)

CR

Carriage Return

13

D

LF

Linefeed

10

A

< >

Marking of a placeholder 

(e.g. <code> is a placeholder for code)

[ ]

Optional argument  

(possible but not required)

Command

Description

<content>

It is the command to the device (e.g. trigger the unit).

<ticket>

It is a character string of 4 digits between 0-9. If a message with a specific ticket is sent 

to the device, it will reply with the same ticket. 

A ticket number must be > 0999.  

Use a ticket number from the range 1000 - 9999.

<length>

It is a character string beginning with the letter 'L' followed by 9 digits. It indicates the 

length of the following data (<ticket><content>CR LF) in bytes.

They are different protocol versions available:

Version Input format

Output format

 V1

 <Content>CR LF

As input

 V2

 <Ticket><Content>CR LF

As input

 V3

 <Ticket><Length>CR+LF<Ticket><Content>CR LF

As input

 V4

 <Content>CR LF

<length>CR LF<Content>CR LF

The default protocol version is "V3". It is recommended to use protocol version 3 for machine 

to machine communication. This is due to the fact that only version 3 supports asynchronous 

messages and provides length information.

Ticket numbers for asynchronous messages:

Ticket number Description

0000

Asynchronous results

0001

Asynchronous error messages / codes

0010

Asynchronous notifications / message codes

Summary of Contents for O3D300

Page 1: ...Operating instructions 3D sensor O3D300 O3D302 O3D310 O3D312 706398 06 12 2017 UK...

Page 2: ...examples 13 7 2 1 Trigger image capture with proximity sensor 13 7 2 2 Install several sensors next to each other 14 7 3 Static selection of the application 15 7 4 Pulse controlled selection of the a...

Page 3: ...rNet IP 55 13 4 1 Data structures for consuming and producing assemblies 55 13 4 2 Functionality of the Ethernet IP application 56 13 4 3 Signal sequence with synchronous trigger 60 13 4 4 Signal sequ...

Page 4: ...tain texts and figures concerning the correct handling of the device and must be read before installation or use Observe the operating instructions Non observance of the instructions operation which i...

Page 5: ...xx 3D sensor is also done via Ethernet The O3D3xx 3D sensor may only be used under the operating conditions specified in the data sheet The device safety is rated for use under the following environme...

Page 6: ...ance between sensor and object take the measuring range of the sensor into account The measuring range is indicated in the data sheet of the sensor Select a distance as small as possible between senso...

Page 7: ...d Reduce surface temperature 6 2 3 Mount the sensor in a location or housing that provides protection from the heat source but maintains air circulation around the sensor An increase in the surface te...

Page 8: ...es heat dissipation e g aluminium Use a heat conductor when mounting the sensor on metal parts The heat conductive effect is increased by means of the heat conductor The heat conductor is available as...

Page 9: ...with a screw driver The position of the focus adjustment screw is indicated in the scale drawing 12 If the device is permanently used in wet areas the nut of the M12 Industrial Ethernet cable e g E118...

Page 10: ...ice For the scope of validity cULus Minimum temperature rating of the cable to be connected to the field wiring terminals 70 C 7 1 Wiring Ethernet M12 socket D coded 4 poles 1 TD 2 RD 3 TD 4 RD S Shie...

Page 11: ...he switching outputs can also provide the reference values necessary to solve the application The electrical specifications of the switching outputs 1 to 3 are indicated in the data sheet Switching ou...

Page 12: ...ions in the data sheet High resistance load resistors are to be preferred over low resistance load resistors due to the lower heat development in the device 3 1 4 5 6 7 8 1 2 3 4 6 2 1 4 5 7 3 8 PLC D...

Page 13: ...or The sensor can be triggered externally via Ethernet via a proximity sensor connected to the trigger input The following illustration shows the wiring with a proximity sensor 3 1 2 4 5 6 7 8 1 2 3 4...

Page 14: ...tomatically triggers sensor At the same time pin 4 of sensor provides the sensor status Image capture finished Sensor signals the end of the sequence to the industrial controller 3 1 2 4 5 DC 24 V 3 1...

Page 15: ...into consideration Monitoring time tR After a change in edges the external selection of the application does not start before the state of both switching inputs remains stable for 20 ms Trigger disabl...

Page 16: ...es and activates the respective application Number of pulses ID number of the application Either switching input 2 or the trigger input of the device can be used as pulse input The figure above shows...

Page 17: ...s 2x at 0 5 Hz Sensor is in the parameter setting mode On On Off Off On Switching output 1 switched Flashes at 8 Hz Switching output 1 shorted On Switching output 2 switched Flashes at 8 Hz Switching...

Page 18: ...ifm Vision Assistant and detailed information about the measuring principle of the device are described in the software manual The ifm Vision Assistant software is available free of charge on our webs...

Page 19: ...n All numerical values are converted into 16 bit integers before the transmission The output string is composed of the following star 0 00 0 0 000 01 7 0 068 02 6 0 013 03 0 0 001 stop Byte no Data Co...

Page 20: ...Decimal 7 ROI status 23 0 Decimal 24 67 Decimal 67 mm ROI value 25 1 Decimal 26 2 Decimal 2 ROI ID 27 0 Decimal 28 6 Decimal 6 ROI status 29 0 Decimal 30 14 Decimal 14 mm ROI value 31 0 Decimal 32 3...

Page 21: ...s are converted into binary 16 bit integers before the transmission The output string is composed of the following star 0 00 0 0 000 01 7 0 068 02 6 0 013 03 0 0 001 stop Byte no Data Coding Process v...

Page 22: ...Decimal 7 ROI status 23 7 Decimal 24 1 Decimal 67 mm ROI value 25 67 Decimal 26 0 Decimal 2 ROI ID 27 2 Decimal 28 0 Decimal 6 ROI status 29 6 Decimal 30 0 Decimal 14 mm ROI value 31 14 Decimal 32 0...

Page 23: ...output string are not transferred All numerical values are converted into binary 16 bit integers before the transmission The output string is composed of the following data type ASCII star 0 00 0 0 00...

Page 24: ...t values are converted into 16 bit integers before the transmission All numerical values are converted into binary 16 bit integers before the transmission The output string is composed of the followin...

Page 25: ...ecimal 28 97 Decimal 97 Quality width 29 0 Decimal 30 93 Decimal 94 Quality height 31 0 Decimal 32 97 Decimal 97 Quality length 33 0 Decimal 34 s ASCII stop Stop string 35 t ASCII 36 o ASCII 37 p ASCI...

Page 26: ...alues are converted into 16 bit integers before the transmission All numerical values are converted into binary 16 bit integers before the transmission The output string is composed of the following s...

Page 27: ...ecimal 28 0 Decimal 97 Quality width 29 97 Decimal 30 0 Decimal 94 Quality height 31 94 Decimal 32 0 Decimal 97 Quality length 33 97 Decimal 34 s ASCII stop Stop string 35 t ASCII 36 o ASCII 37 p ASCI...

Page 28: ...in the displayed sequence Observe the following remarks for the transmission of the output string to a PLC Semicolons in the output string are not transferred All numerical values are converted into...

Page 29: ...integers before the transmission The output string is composed of the following 0070 Byte no Data Coding Process value Unit Description Comments 0 2 0000_0000 Binary 1 5 Duplicated command word Bit 1...

Page 30: ...ers before the transmission The output string is composed of the following 0070 Byte no Data Coding Process value Unit Description Comments 0 2 0010_0000 Binary 0 5 Duplicated command word Bit 0 5 sho...

Page 31: ...transferred to a PLC in the displayed sequence Observe the following remarks for the transmission of the output string to a PLC Semicolons in the output string are not transferred All numerical values...

Page 32: ...m Vision Assistant the firmware of the sensor can be updated Parameters saved in the sensor get lost by the firmware update Create a backup copy of the parameters before updating the firmware Before u...

Page 33: ...5 2 1 33 2 M12x1 33 3 5 7 M12x1 40 14 95 82 6 73 3 71 6 72 65 32 5 2 1 33 2 M12x1 Lens Illumination unit LED 2 colours yellow green 12 2 O3D300 O3D310 Original Scale Drawing MTD EPS Source Product Sc...

Page 34: ...digits between 0 9 If a message with a specific ticket is sent to the device it will reply with the same ticket A ticket number must be 0999 Use a ticket number from the range 1000 9999 length It is...

Page 35: ...of the result Command Result ticket 0010 0010 L length L000000045 CR LF r n ticket 0010 0010 unique message ID 000500000 JSON content ID 1034160761 Index 1 Name Pos 1 CR LF r n Asynchronous message I...

Page 36: ...ger Unit mm 1 image Z image Output format 16 bit signed integer Unit mm 1 image Confidence image Output format 8 bit unsigned integer 1 image Diagnostic data Stop sequence String stop 4 bytes Ticket s...

Page 37: ...ts are compensated ie the darkening of pixels at the image border is corrected The visual impression of this grayscale image is comparable to that of a common 2D camera Invalid PMD pixels e g due to s...

Page 38: ...SIAN_X_COMPONENT CARTESIAN_Y_COMPONENT CARTESIAN_Z_COMPONENT UNIT_VECTOR_ALL 223 The unit vector matrix contains 3 values ex ey ez for each PMD pixel i e the data layout is ex_1 ey_1 ez_1 ex_N ey_N ez...

Page 39: ...l validity yes 3 1 amplitude below minimum amplitude threshold Amplitude limits The amplitude value is below minimum amplitude threshold Contributes to pixel validity yes 4 5 Bit 5 bit 4 0 0 unused 0...

Page 40: ...etails layouter Defines the basic data output format So far only flexible is supported Type string format Defines format details the definitions in the main object are the defaults for any of the foll...

Page 41: ...ible layout software See following section about format properties uint16 Limits the output to two bytes in binary encoding besides the binary limitation it acts like uint32 int16 Limits the output to...

Page 42: ...a format configuration of the temperature id temp_illu element 1 Illumination temperature like this 33 5___ c000000226 layouter flexible format dataencoding ascii elements type float32 id temp_illu f...

Page 43: ...tance_image Radial distance image 16 bit unsigned integer unit millimetres evaltime Evaluation time for current frame in milliseconds 32 bit unsigned integer extrinsic_calibration Extrinsic calibratio...

Page 44: ...t float float float float float float float float numGood numUnderSP1 numOverSP2 numInvalid allROIsGood anchorFound hasAnchorTracking These results are available for a completeness level and distance...

Page 45: ...frame maps to ModelResults adv_statistics frame_acquisition mean float32 statistics_acquisition_time_max Allows the user to output the statistics value with the result of the frame maps to ModelResul...

Page 46: ...ice is in an invalid state for this command e g configuration mode Device is set to a different trigger source No active application 13 2 2 T Command Synchronous Trigger Command T Description Executes...

Page 47: ...t result output as formatted for this connection 11 all distance images X Y and Z 13 2 4 p Command Command p state Description Turns the PCIC output on or off Type Action Reply state contains wrong va...

Page 48: ...for the application number as decimal value 13 2 6 A Command Command A Description Requests the occupancy of the application list Type Request Reply amount t number active application t number t numbe...

Page 49: ...protocol version Type Request Reply current version empty min version empty max version Note current version 2 digits for the currently set version empty space sign 0x20 min max version 2 digits for...

Page 50: ...current decoding statistics Type Request Reply number of results t number of positive decodings t number of false decodings No application active Note t tabulator 0x09 number of results Images taken...

Page 51: ...or 0x09 article number e g O3D300 name UTF8 Unicode string location UTF8 Unicode string description UTF8 Unicode string ip IP address of the device as ASCII character sting e g 192 168 0 96 port numbe...

Page 52: ...cation V get current protocol version v version sets protocol version c length of configuration file configuration file configures process date formatting C show current configuration G show device in...

Page 53: ...tal output 01 for IO1 02 for IO2 03 for IO3 IO state 1 digit for the state 0 for logic state low 1 for logic state high The camera supports ID 1 and ID 2 The sensor supports ID 1 ID 2 and ID 3 13 2 16...

Page 54: ...rdware 110001006 Trigger overrun 110002000 Short circuit on Ready for Trigger 110002001 Short circuit on OUT1 110002002 Short circuit on OUT2 110002003 Reverse feeding 110003000 Vled overvoltage 11000...

Page 55: ...and word Bit 0 1 15 Description Error bit This bit has no meaning in the consuming assembly It is used for signaling an occured error to the PLC Command bits Each bit represents a specific command Com...

Page 56: ...the command word and increase the message counter within the producing assembly Blocking of asynchronous messages As long as the command handshake procedure has not been finished no asynchronous messa...

Page 57: ...age counter increased by 1 No error code is sent in the data section The error code is polled with the get last error command Reply to an implemented command that leads to an error If the execution of...

Page 58: ...starts with the value 1 If the maximum counter is reached it starts with 1 again Get last error This command is used to reset the error bit Get connection ID This command retrieves the connection ID...

Page 59: ...ming assembly data section defines the IO ID as a 16 bit unsigned integer value 1 IO1 2 IO2 3 IO3 The bytes 6 and 7 define the logic state of the IO as 16 bit unsigned integer value The bytes 2 3 have...

Page 60: ...Error Message counter n n 1 n 2 Data 0x0000 Result Data 0x0000 Processing time 13 4 4 Signal sequence with failed trigger Mirror Bit Exec sync trigger Command Bit Exec sync trigger Mirror Bit Error Me...

Page 61: ...mand Command word Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Description Error bit N a N a N a N a N a Get last error Get connection ID Get statistics Activate application Get application list Get IO s...

Page 62: ...evice Client disconnect If the client is disconnecting before finishing the handshake procedure the handshake procedure is canceled and all buffers are reset General reply to an implemented command If...

Page 63: ...section The error code is polled with the get last error command Mandatory and non mandatory data in the response frame will be set to 0x0 Reply to a not implemented command If a command bit with no...

Page 64: ...signed integer Get connection ID This command retrieves the connection ID of the current Profinet connection The response sent in the input frame contains 16 Bytes of the AR UUID Get statistics This c...

Page 65: ...signed integer value The bytes 2 3 have to be set to 0 An error is risen if bytes 2 3 are not set to 0 The data content of the input frame is set to 0 after receiving the Set IO state command Execute...

Page 66: ...Error Message counter n n 1 n 2 Data 0x0000 Result Data 0x0000 Processing time 13 5 4 Signal sequence with failed trigger Mirror Bit Exec sync trigger Command Bit Exec sync trigger Mirror Bit Error Me...

Reviews: