What is the TCP / UDP message structure of BVS ID?
Message Structure
Most message elements are of type UINT16 and consist of 2 bytes. Over Ethernet, one byte after the other is sent. The messages are transferred using the little-endian format. This means the lowest value byte is transferred first.
Each message begins with the message ID.
There are two different types of messages:
- Event messages from the sensor
- Status message
- Result container
- Request messages to the sensor replying with a response message
- Connect
- Disconnect
- Get status
- Reset errors
- Get inspection program ID
- Set inspection program ID
- Get date and time
- Set date and time
- Set reference data
- Trigger inspection
- Get camera parameters
- Set camera parameters
- Trigger Auto-Setup-Process
NOTE
If the trigger mode is set to continuous in the sensor, it will not wait for a trigger and executes the inspection in a loop. Using an edge, the camera waits for a trigger. Here you have to query the Waiting for Trigger state.
All event, request and response messages have the same structure:
| Length in bytes | Structure | Description |
| 2 bytes | UINT16 | Message ID |
| 2 bytes | UINT16 | User data length in bytes |
The rest of the data are user data.
User data
Every message has a unique ID:
ID hex value 01hex has a message of Connect
ID hex value 02hex has a message of Disconnect
ID hex value 12hex has a message of Status message and get status
ID hex value 16hex has a message of Reset errors
ID hex value 20hex has a message ofs Result container
ID hex value 30hex has a message of Get inspection program ID
ID hex value 31hex has a message of Set inspection program ID
ID hex value 32hex has a message of Get date and time
ID hex value 33hex has a message of Set date and time
ID hex value 34hex has a message of Set reference data
ID hex value 40hex has a message of Trigger inspection
The response to an action message contains a result code that informs about the success of the request. This result code is contained in the first word of the user data. The result code can have the following values:
Message OK is hex value 00hex which means Command was successfully executed.
Message OK Inspection ID is hex value 02hex which means Response to the command "Get inspection ID"; transfer of the inspection ID.
Message OK Date Time is hex value 06hex which means Response to the command "Get date and time"; transfer of timestamp.
Message NOK Error is hex value 10hex which means An error occurred during the last transfer or execution of a command. A malformed command (e.g. wrong length) is a possible reason.
Message NOK Invalid Command is hex value 13hex which means An invalid command code was transferred.
Message NOK Busy is hex value 16hex which means Command could not be executed since the status Ready is not set. Possible reasons for the Ready not to be set are listed in the section Status message.
Message NOK Inspection Error is hex value 1Ahex The inspection program could not be changed. Possible reasons for the inspection program change to fail are listed in the section Set inspection ID.
NOTE
It is not guaranteed that an interrupted network connection via TCP is detected promptly. For this reason, a watchdog functionality is recommended, which checks the connection in a defined time interval. For this, you can request the status message. You can also use Get Inspection ID, which responds with the ID of the current inspection