Die azyklischen Dienste enthalten im ersten Byte immer eine Funktionsnummer (Function_Num). Diese Funktionsnummer bestimmt den azyklischen Dienst. Bei der Antwort (Response) signalisiert das 7. Bit ob bei der Anfrage (Request) ein Fehler aufgetreten ist.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
DP-V1 Dienste: 1. Byte Function_Num |
X |
|
|
|
|
|
|
|
0 positive Antwort / 1 Fehlermeldung |
|
(0x48) (0x51) (0x56) (0x57) (0x58) (0x5C) 94 (0x5E) 95 (0x5F) |
Idle DPV1_Data_Transport DPV1_Resource_Manager DPV1_Initiate DPV1_Abort DPV1_Alarm_Ack DPV1_Read DPV1_Write |
Die Codierung der Dienste wird in der nachstehenden Tabelle aufgelistet.
DPV1 Dienst |
Function Num |
Richtung |
Weitere Parameter |
---|---|---|---|
Initiate |
0x57 |
REQ |
reserved (3 Octets), Send_Timeout, Features_Supported, Profile_Features_Supported, Profile_Ident_Number, Add_Addr_Param |
RES |
Max_Len_Data_Unit, Features_Supported, Profile_Features_Supported, Profile_Ident_Number, Add_Addr_Param |
||
Abort |
0x58 |
REQ |
Subnet, Instance/Reason_Code |
Read |
0x5E |
REQ |
Slot_Number, Index, Length |
RES |
Slot_Number, Index, Length, Data |
||
Write |
0x5F |
REQ |
Slot_Number, Index, Length, Data |
RES |
Slot_Number, Index, Length |
||
Alarm Ack |
0x5C |
REQ |
Slot_Number, Alarm_Type, Specifier |
RES |
Slot_Number, Alarm_Type, Specifier |
||
Idle |
0x48 |
REQ |
- |
RES |
- |
||
Data Transport |
0x51 |
REQ |
Slot_Number, Index, Length, Data |
RES |
Function_Num (0x51), Slot_Number, Index, Length, Data |
||
Resource Manager |
0x56 |
REQ |
Function_Num (0x56), Server_SAP, Send_Timeout |
Bei einer negativen Antwort enthält die Antwort immer 4 Byte: Nach der Funktionsnummer mit gesetztem 7. Bit folgen immer die folgenden Bytes:
Function_Num |
Error_Decode |
Error_Code1 |
Error_Code2 |
mit den Bedeutungen:
Byte Error_Decode: Art der Statusmeldung
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
0 - 127 128 (0x80) 129 - 253 254 (0xFE) 255 (0xFF) |
Reserviert PROFIBUS DP Reserviert PROFIBUS-FMS HART |
Byte Error_Code_1: besteht aus der Fehlerklasse (Error_Class Bit 4 bis 7) und dem Error_Code (Bit 0 bis 3). Die Bedeutung des Fehlercodes ist abhängig von der Fehlerklasse:
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Error_Class |
Error_Code |
---|---|---|---|---|---|---|---|---|---|
0-9 |
|
Reserviert |
|
||||||
10 |
0 1 2 3 – 7 8 9 10 – 15 |
Fehler der Anwendung |
Read error Write error Module failure Reserved Version conflict Feature not supported User specific |
||||||
11 |
0 1 2 3 4 5 6 7 8 9 10 - 15 |
Zugriffsfehler |
Invalid index Write length error Invalid slot Type conflict Invalid area State conflict Access denied Invalid range Invalid parameter Invalid type User specific |
||||||
12 |
0 1 2 3 8 4 – 7 9 - 15 |
Resourcenfehler |
Read constrain conflict Write constarint conflict Resource busy Resource unavailable Version conflict Reserved User specific |
||||||
13-15 |
|
User specific |
|
Byte Error_Code_2: Weitere herstellerspezifische Fehlercodes.