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 7-5: 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 7-6: Meaning of ErrorCode for negative responses
ErrorDecode | Meaning |
---|---|
80 |
Read/Write service |
81 |
Connect, Control, Release service |
Table 7-7: 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 7-8: 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 7-9: 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 7-10: 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 7-11: Meaning of ErrorCode2 for ErrorCode1 <> 40
ErrorCode2 | Meaning |
---|---|
04 |
AR Type |
05 |
AR UUID |
06 |
Session key |
07 |
|
08 |
Initiator Object UUID |
09 |
AR Properties |
0A |
Activity timeout factor |
0B |
UDP RT port |
0C |
Station name length |
0D |
Station name |
Table 7-12: 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 |
|
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 7-13: 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 7-14: 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 7-15: 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 7-16: 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 7-17: Meaning of ErrorCode2 for ErrorCode1 = 16 (IOXControl block request)