IOCR_DATA - Manual - PROFINET Driver

PROFINET Driver Engineering Interface

Portfolio
PROFINET Development Kits
Product
PROFINET Driver
Software version
v3.1.0
Edition
03/2024
Language
en-US (original)

Data block IOCR_DATA (IODevice)

Data block IOCR_DATA consists of the following attributes:

Table: Data block IOCR_DATA

Address offset BYTE Designation Content Value range Data type
0 BlockType IOCR_DATA 0x3102 uint16_t
2 BlockLength Length of the entire structure block without BlockType, BlockLength uint16_t
4 BlockVersionHigh Major BlockVersion 0x01 uint8_t
5 BlockVersionLow Minor BlockVersion 0x00 uint8_t
6 Reserved 0 uint16_t
8 Number of CRs uint16_t
IO CR entries ~~ ~~ ~~ ~~
...
Padding to 16 bytes alignment

Each IO CR entry consists of the following attributes:

Table: IO CR entry

Address offset BYTE Designation Content Value range Data type
0 Block length Length of the block including block length uint16_t
2 IOCRBlockVersion High_Byte (Major: 0x01)
Low_Byte (Minor: 0x00)
(The first, official version should be 1.0.)
01
00
uint16_t
4 IOCRType Possible values:
0x0001 = Input CR
0x0002 = Output CR Rest = reserved
1..2 uint16_t
6 IOCRReference As the IO data objects are distributed by the configuration to the CRs, a reference between CR and module/submodule description is needed. uint16_t
8 Reserved 0 uint32_t
12 IOCRProperties: Bitfield[32]
  0..3 RTClass 1: Use FrameID range 7 for the IOCRs used for RT_CLASS_1 (legacy) 1,2,3 Bitfield[4]
2: Use FrameID range 6 for the IOCRs used for RT_CLASS_1 and RT_CLASS_2
3: Use FrameID range 3 for the IOCRs used for RT_CLASS_3
_ _ _ _ _ _ Rest reserved _ _ _ _
4..31 Reserved 0 Bitfield[28]
16 DataLength Genuine working data length of the CR 40..1440 uint16_t
18 FrameID RTClass == 1 (Unicast) legacy: FrameID must be a unique number from FrameID range 7. uint16_t
20 SendClockFactor TimeBase: 31.25 µs
SendClock:= SendClockFactor * TimeBase
1..128 default 32 uint16_t
22 ReductionRatio Mandatory value range: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512
Reserved value range: 0, >512
Optional value range: the rest
1..512 uint16_t
24 Phase Selected time section
Permitted range: 0 = Reserved
1.."ReductionRatio"
uint16_t
26 Reserved 0 uint16_t
28 FrameSendOffset Offset to SendClock
Increment: 1 ns
Value range:
0 = no offset (default)
1 = (SendClock/Increment[increment = 1ns] – 1) = SendClockOffset
Note: Distribution of send activity within a single phase is thus possible.
Applies only for Producer/Provider
Assumes synchronization of SendClock.
Synchronization > 1
Default value is 0xFFFFFFFF
Best effort 0.. 0xFFFFFFFE
uint32_t
32 WatchDogFactor WatchDogTime := WatchDogFactor * SendClockFactor * ReductionRatio * 31.25 µs
Value range from 3..0x1E00 for RT Class 1; the WatchdogTime shall be equal or less than 1.92 s.
3..0x1E00 uint16_t
34 DataHoldFactor DataHoldTime := DataHoldFactor * SendClockFactor * ReductionRatio * 31.25 µs
Value range from 3..0x1E00 for RT Class 1; the DataHoldTime shall be equal to or less than 1.92 s.
3..0x1E00 uint16_t
36 Reserved 0 uint16_t[11]
58 Number of APIs 0..65535 uint16_t
API Entries ~~ ~~ ~~ ~~ ~~
...

Each API entry consists of the following attributes:

Table: API entry

Address offset BYTE Designation Content Value range Data type
0 API 0..2^32^ - 1 uint32_t
4 NumberOfRelatedIODataObjects Depending on the CR, this field is either for input data or output data uint16_t
RelatedIODataObject ~~ ~~ ~~ ~~
...
Reserved 0 uint16_t
NumberOfRelatedIOCS Depending on the CR, this field is either for input data or output data uint16_t
RelatedIOCS ~~ ~~ ~~ ~~
... 0 uint16_t
Reserved 0 uint16_t

Each RelatedIODataObject consists of the following attributes:

Table: RelatedIODataObject

Address offset BYTE Designation Content Value range Data type
0 SlotNumber 0..0x7FFF uint16_t
2 Subslotnumber 0..0x9FFF uint16_t
4 FrameOffset: 0..1440 Bitfield[16]
0..10 Offset Bitfield[11]
_ _ 11..15 Reserved 0 Bitfield[5]
6 Reserved 0 uint16_t

Each RelatedIOCS consists of the following attributes:

Table: RelatedIOCS

Address offset BYTE Designation Content Value range Data type
0 SlotNumber 0..0x7FFF uint16_t
2 Subslotnumber 1..0x9FFF uint16_t
4 FrameOffset: 0..1440 Bitfield[16]
0..10 Offset Bitfield[11]
_ _ 11..15 Reserved 0 Bitfield[5]
6 Reserved 0 uint16_t
Reserved 0 uint16_t