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)





