BLOB data types are used for data blocks. This data is structured and all blocks described in this document have the following standard header:
Table: Header for PNIO data blocks
| Name | Type | Description |
|---|---|---|
| Block Type | uint16_t | Unique block type |
| BlockLength | uint16_t | Length of block excluding BlockType and BlockLength (thus including BlockVersionHigh, BlockVersionLow, Reserved and the block data) |
| BlockVersionHigh | uint8_t | Block version major |
| BlockVersionLow | uint8_t | Block version minor |
| Reserved | uint16_t | Padding |
Note
Vendor-specific data blocks and PROFINET IO data blocks may use a different header layout. These data blocks are distributed by PN Driver to the IO devices.
Each BLOB thus has a header with
- a BlockType, describing uniquely the content of the block,
- a BlockLength, allows multiple blocks to be stacked into one BLOB, among other things,
- a BlockVersion to identify the version of the block (as major and minor number),
- a Reserved to arrange the first item of the block on a 4-byte boundary.
The header and the content of a BLOB are always stored in big endian format.
Note
In addition to the data blocks described in this document, the XML file also contains data blocks specified at the PROFINET specifications. Description of such data blocks can be found at the Application layer protocol for decentralized periphery (IEC 61158-6-10) specification.