+
+ Protocol Version |
+ 2 |
+ uint8 version[2] |
+
+
+ - 1 byte major version (not compatible across versions)
+ - 1 byte minor version (compatible within one major version)
+
+ |
+
+
+ Size |
+ 2 |
+ uint16 |
+ The size of this frame in bytes (fixed value of 188 for version 1.1) |
+
+
+ ODS Result Data |
+ 16 |
+ uint8[16] |
+
+
+
+
+ Field |
+ Size (Bytes) |
+ Type |
+ Description |
+
+
+
+
+ Result Age Indicator |
+ 1 |
+ uint8 |
+
+
+ Indicates whether ODS data was received from the ODS application (0 if received, otherwise incremented)
+ - If no new data is present for the next PLC-App frame the value is increased till 255 and saturates. This is implemented to inform user if there is any broken communication or error in ODS cameras.
+ - The value will stay `255` until it receives data from ODS application.
+
+ |
+
+
+ Zone status flags |
+ 3 |
+ uint8 |
+
+ Zone status flags (3 bytes, 0: zone free, 1: zone occupied)
+ |
+
+
+ ZoneConfigID |
+ 4 |
+ uint8 |
+
+ 32-bit integer representing the Zone Configuration ID
+ |
+
+
+ Time Stamp |
+ 8 |
+ uint64 |
+
+ Time stamp of ODS algorithm result. VPU time (including NTP if configured)
+ |
+
+
+
+ |
+
+
+ PDS |
+ 46 |
+ uint8[46] |
+ - TBD - |
+
+
+ Diagnostic Counter |
+ 2 |
+ uint8[2] |
+ 1 byte the current diagnostic slice counting from zero (max. 0 for v1.1) 1 byte the total amount of diagnostics slices (max. 1 for v1.1) |
+
+
+ Diagnostic Data |
+ 120 |
+ DiagData data[20] |
+ The rolling diagnostic information, in case there is no diagnostic information the Diagnostic slice counter is set to zero and the diagnostic Data is filled with zeros. There is an array of 20 diagnostic data structs available.
+ The Diagnostic data (DiagData) is a struct of:
+
+ - Source: uint8
+
+ - 0,...,6: port0, .... port6
+ - 100,...119: app0, .... app19
+ - 255: other
+
+
+ - Active: uint8 contains 1 in case of an active diagnostic
+ - Diagnostic ID: uint32
+
+ |
+
+