Coding of PNIO status
The PNIO status is a 32 bit unsigned value. It is composed of 4 byte values, which define the meaning of the status. For positive responses PNIO status has a value of zero.
Bit | Meaning |
---|---|
24-31 | ErrorCode |
16-23 | ErrorDecode |
8-15 | ErrorCode1 |
0-7 | ErrorCode2 |
Table 8-19: Coding of PNIO status for negative responses
ErrorCode | Meaning |
---|---|
DB | Error in connect response |
DC | Error in release response |
DD | Error in control response |
DF | Error in write response |
Table 8-20: Meaning of ErrorCode for negative responses
ErrorDecode | Meaning |
---|---|
80 | Read/Write service |
81 | Connect, Control, Release service |
Table 8-21: Meaning of ErrorDecode for negative responses
ErrorCode1 | Meaning |
---|---|
A1 | write error |
A2 | module failure |
A3-A6 | reserved |
A7 | busy |
A8 | version conflict |
A9 | feature not supported |
AA-AF | device specific |
B0 | invalid index |
B1 | write length error |
B2 | invalid slot/subslot |
B3 | type conflict |
B4 | invalid area/API |
B5 | state conflict |
B6 | access denied |
B7 | invalid range |
B8 | invalid parameter |
B9 | invalid type |
BA | backup |
BB-BF | device specific |
C0 | read constrain conflict |
C1 | write constrain conflict |
C2 | resource busy |
C3 | resource unavailable |
C4-C7 | reserved |
C8-CF | device specific |
Table 8-22: Meaning of ErrorCode1 for ErrorDecode = 80
ErrorCode1 | Meaning |
---|---|
01 | Connect Parameter Error, Faulty ARBlockReq |
02 | Connect Parameter Error, Faulty IOCRBlockReq |
03 | Connect Parameter Error, Faulty ExpectedSubmoduleBlockReq |
04 | Connect Parameter Error, Faulty AlarmCRBlockReq |
05 | Connect Parameter Error, Faulty PrmServerBlockReq |
06 | Connect Parameter Error, Faulty MCRBlockReq |
07 | Connect Parameter Error, Faulty ARRPCBlockReq |
08 | Read Write Record Parameter, Error Faulty Record |
14 | IODControl Parameter Error, Faulty ControlBlockConnect |
15 | IODControl Parameter Error, Faulty ControlBlockPlug |
16 | IOXControl Parameter Error , Faulty ControlBlock after a connection establishment |
17 | IOXControl Parameter Error, Faulty ControlBlock after a plug alarm |
28 | Release Parameter Error, Faulty ReleaseBlock |
40 | RMPM (Device state machines, device resources) |
Table 8-23: Meaning of ErrorCode1 for ErrorDecode = 81
ErrorCode1 | Meaning |
---|---|
00 | ArgsLength invalid |
01 | Unknown Blocks |
02 | IOCR Missing |
03 | Wrong AlarmCRBlock count |
04 | Out of AR Resources |
05 | AR UUID unknown |
06 | State conflict |
07 | Out of Provider, Consumer, or Alarm Resources |
08 | Out of Memory |
09-FF | Reserved |
Table 8-24: Meaning of ErrorCode2 for ErrorCode1 = 40
For ErrorCode1 <> 40 ErrorCode2 refers to a field in the block specified by ErrorCode1.
ErrorCode2 | Meaning |
---|---|
00 | Block type |
01 | Block length |
02 | Block version (high byte) |
03 | Block version (low byte) |
Table 8-25: Meaning of ErrorCode2 for ErrorCode1 <> 40
ErrorCode2 | Meaning |
---|---|
04 | AR Type |
05 | AR UUID |
06 | Session key |
07 | Initiator MAC addressA Media Access Control address (MAC address) is a quasi-unique identifier assigned to most network adapters or network interface cards (NICs) by the manufacturer for identification. If assigned by the manufacturer, a MAC address usually encodes the manufacturer's registered identification number |
08 | Initiator Object UUID |
09 | AR Properties |
0A | Activity timeout factor |
0B | UDP RT port |
0C | Station name length |
0D | Station name |
Table 8-26: Meaning of ErrorCode2 for ErrorCode1 = 01 (AR block request)
ErrorCode2 | Meaning |
---|---|
04 | IOCR Type |
05 | Reference |
06 | LT |
07 | IOCR properties |
08 | IO data length |
09 | FrameIn networking dialect, a message is called a frame ID |
0A | Send clock factor |
0B | Reduction ratio |
0C | Phase |
0D | Sequence |
0E | Frame send offset |
0F | Watchdog factor |
10 | Data hold factor |
11 | Tag header |
12 | IOCR multicast MAC address |
13 | Number of APIs |
14 | API |
15 | Number of IO data objects |
16 | Slot |
17 | Subslot |
18 | IO data object offset |
19 | Number of IOCS |
20 | Slot |
21 | Subslot |
22 | IOCS offset |
Table 8-27: Meaning of ErrorCode2 for ErrorCode1 = 02 (IOCR block request)
ErrorCode2 | Meaning |
---|---|
04 | Number of APIs |
05 | API |
06 | Slot |
07 | Module ident number |
08 | Module properties |
09 | Number of submodules |
0A | Subslot |
0B | Submodule ident number |
0C | Submodule properties |
0D | Data description |
0E | Data length |
0F | IOPS length |
10 | IOCS length |
Table 8-28: Meaning of ErrorCode2 for ErrorCode1 = 03 (Expected submodule block request)
ErrorCode2 | Meaning |
---|---|
04 | Type |
05 | LT |
06 | AlarmCR Properties |
07 | RTA timeout factor |
08 | RTA retries |
09 | Local alarm reference |
0A | Maximum alarm data length |
0B | Alarm CRT Tag high |
0C | Alarm CRT Tag low |
Table 8-29: Meaning of ErrorCode2 for ErrorCode1 = 04 (AlarmCR block request)
ErrorCode2 | Meaning |
---|---|
04 | Sequence number |
05 | AR UUID |
06 | API |
07 | Slot number |
08 | Subslot number |
09 | Padding |
0A | Index |
0B | Data length |
0C | Target AR UUID |
Table 8-30: Meaning of ErrorCode2 for ErrorCode1 = 8 (Read/write record block request)
ErrorCode2 | Meaning |
---|---|
05 | Padding |
06 | Session key |
07 | Padding |
08 | Control block command |
09 | Control block properties |
Table 8-31: Meaning of ErrorCode2 for ErrorCode1 = 16 (IOXControl block request)