The special format comprises one or more bytes. The first byte is the header and also determines the number of bytes:
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Configuration compact format: first byte |
---|---|---|---|---|---|---|---|---|
|
|
0 |
0 |
|
|
|
|
Header special format |
|
|
|
|
0-15
|
Number of bytes vendor-specific 0 = no vendor-specific data 1-14 = number of bytes at end |
|||
0 |
0 |
|
|
|
|
|
|
Empty position |
0 |
1 |
|
|
|
|
|
|
Length byte follows for inputs |
1 |
0 |
|
|
|
|
|
|
Length byte follows for outputs |
1 |
1 |
|
|
|
|
|
|
Length byte follows for inputs and outputs |
Bits 6 and 7 determine whether further length indications will follow. The length specification for outputs always comes first, and then the inputs.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Structure of the length byte: |
---|---|---|---|---|---|---|---|---|
|
|
0-63
|
Length of I/O data: 00 = 1 byte / word 63 = 64 bytes / words |
|||||
|
1 |
|
|
|
|
|
|
Length in words (of 16 bits) |
|
0 |
|
|
|
|
|
|
Length in bytes |
1 |
|
|
|
|
|
|
|
Consistency across the entire module |
0 |
|
|
|
|
|
|
|
Consistency across one byte or one word |
An identifier for a special format module can comprise up to 64 bytes or words.
With the special format, it is possible that the manufacturer packs more information into the configuration. These values are freely assignable with DP-V0. The header indicates how many of these bytes there are.
Examples for special format module coding:
0x00 | = empty module |
0x03 0x00 0x01 0x02 | = no cyclic data, bytes 0x00,0x01 and 0x02 are vendor-specific |
0x80 0x01 | = 2 byte output, no input - consistency per byte |
0x40 0x00 | = 1 byte input, no output |
0xC1 0x43 0x81 0x11 | = 4 word outputs, 2 byte consistent inputs, value 0x11 vendor-specific |
If the controller and slave support DP-V1 protocol extensions, vendor-specific bytes are defined more precisely. In the GSD Datei the key word
DPV1_Data_Types = 1
indicates whether the slave supports these extended data types. The following values are reserved for data type descriptions in the standard:
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
EN 50170-2 & DP-V1 |
IEC 61158-6 |
---|---|---|---|---|---|---|---|---|---|
1 (0x01) 2 (0x02) 3 (0x03) 4 (0x04) 5 (0x05) 6 (0x06) 7 (0x07) 8 (0x08) 9 (0x09) 10 (0x0A) 11 (0x0B) 12 (0x0C) 13 (0x0D) 14 (0x0E) 15 (0x0F) |
Boolean Integer8 Integer16 Integer32 Unsigned8 Unsigned16 Unsigned32 Floating Point Visible String Octet String Date Time of Day Time Difference Time of Day Time Difference |
Boolean Integer8 Integer16 Integer32 Unsigned8 Unsigned16 Unsigned32 Floating Point Visible String Octet String - Time of Day - - - |
|||||||
16-31 |
Reserved |
|
|||||||
50 (0x32) 52 (0x34) 53 (0x35) 54 (0x36) 57 (0x37) 58 (0x38) |
- |
Date Time of Day Time Difference Time Difference Network Time Network Time Difference |
|||||||
other |
Reserved |
|
|||||||
128 – 255 (0x80 – 0xFF) |
Reserved for profiles |
|
In a variety of profiles and products we have found the following values:
a) Profile PROFIBUS PA from version 3.0
b) Profile PROFIdrive from version 3.1
c) DP/PA Link (from Siemens)
Definitions in the profile PA V3.0:
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Function block (FB) type |
129 (0x81) 130 (0x82) 131 (0x83) 132 (0x84) 133 (0x85) 134 (0x86) |
FB AI FB AO FB DI FB DO FB TOTALIZER FB PID |
In the case of this profile, a mandatory second byte is specified and coded as follows:
2. Byte |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Data function |
---|---|---|---|---|---|---|---|---|---|
|
1 |
|
|
|
|
|
|
|
Fixed for all |
FB AI |
|
- |
- |
- |
- |
- |
- |
x |
OUT |
FB AO |
|
|
|
|
|
|
|
x |
READBACK |
|
|
|
|
|
|
|
x |
|
SP |
|
|
|
|
|
|
x |
|
|
RCAS_IN |
|
|
|
|
|
x |
|
|
|
RCAS_OUT |
|
|
|
|
x |
|
|
|
|
CHECK_BACK |
|
|
|
x |
|
|
|
|
|
POS_D |
FB DI |
|
- |
- |
- |
- |
- |
- |
x |
OUT_D |
FB DO |
|
|
|
|
|
|
|
x |
READBACK_D |
|
|
|
|
|
|
|
x |
|
SP_D |
|
|
|
|
|
|
x |
|
|
RCAS_IN_D |
|
|
|
|
|
x |
|
|
|
RCAS_OUT_D |
|
|
|
|
x |
|
|
|
|
RCAS_BACK_D |
FB TOTALIZER |
|
|
|
|
|
|
|
x |
TOTAL |
|
|
|
|
|
|
|
x |
|
SET_TOT |
|
|
|
|
|
|
x |
|
|
MODE_TOT |
Definitions in the profile PROFIdrive V3.1
A module comprises 1-3 vendor-specific bytes and allows standard telegrams for each axis of a drive to be defined.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
PROFIdrive |
2. Byte |
3. Byte |
---|---|---|---|---|---|---|---|---|---|---|
249 (0xF9) |
DXB |
DXB length 1 = 1 word 2 = 2 words |
|
|||||||
253 (0xFD) |
Standard telegram |
Number High byte |
Number Low byte |
|||||||
254 (0xFE) |
Axis separator |
- |
- |
DP/PA Link:
For DP/PA Link Siemens has created the possibility of configuring an MBP segment as a modular DP slave. Each slot corresponds to an address in the MBP segment. Unallocated addresses are filled with a place holder. The modules of complex field devices with more than one module are lodged between the start and end modules.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
DP/PA Link: |
---|---|---|---|---|---|---|---|---|
252 (0xFC) |
Start of complex slave |
|||||||
253 (0xFD) |
End of complex slave |
|||||||
254 (0xFE) |
PA address not allocated |