PROFIBUS Manual

Diagnostic blocks

Diagnostic blocks

Previous topic Next topic  

Diagnostic blocks

Previous topic Next topic JavaScript is required for the print function Mail us feedback on this topic!  

If the Ext_Diag bit is set, from byte 7 further diagnostic blocks will follow. Every block begins with a header byte. This header byte determines the type and length of the diagnostic block.

 

Three formats have been defined:

a)Device-based diagnostics

b)Identifier-based diagnostics

c)Channel-based diagnostics

 

Identifier-based diagnostics:

Identifier-based diagnostics concerns the position of the module in the configuration telegram. Events on the relevant module are signalled by a set bit.

 

7

6

5

4

3

2

1

0


0

1

 

 

 

 

 

 

Header identifier-based diagnostics

 

 

0 – 63

Number of bytes in the identifier-based diagnosis (inc. this byte)

 

First byte of identifier-based diagnosis:

7

6

5

4

3

2

1

0

 

 

 

 

 

 

 

 

X

Module no. 1 has a diagnosis

 

 

 

 

 

 

X

 

Module no. 2 has a diagnosis

 

 

 

 

 

 

 

 

....

X

 

 

 

 

 

 

 

Module no. 8 has a diagnosis

 

Second byte of identifier-based diagnosis:

7

6

5

4

3

2

1

0

 

 

 

 

 

 

 

 

X

Module no. 9 has a diagnosis

 

 

 

 

 

 

X

 

Module no. 10 has a diagnosis

 

 

 

 

 

 

 

 

....

X

 

 

 

 

 

 

 

Module no. 16 has a diagnosis

 

Example for identifier-based diagnosis

Addr

Msg type

Req Res

SAPS

Len

Data

1->14

Slave Diagnosis

Req

62 -> 60

 

 

1<-14

Slave Diagnosis

Res

62 <- 60

10

08 04 00 00 00 85 44 00 01 00

 

In this example, the module with the 9th identifier has signalled a problem.

 

If multiple identifiers  are signalled in one module, the diagnosis relates to the identifier and not the module.

 

Channel-based diagnostics:

Channel-based diagnostics provide information about the module's channel faults and represent a detailed, channel-based diagnosis. Channel-based diagnostics always have a fixed length of 3 bytes.

 

7

6

5

4

3

2

1

0

Channel-based diagnostics header (1st byte)

1

0

 

 

 

 

 

 

Header channel-based diagnostics

 

 

0 – 63

Module concerned: no. 1 - 64

 

 

7

6

5

4

3

2

1

0

Channel-based diagnostics 2nd byte:

 

 

0 – 63

Number of the channel concerned in the module

0

1

 

 

 

 

 

 

Input

1

0

 

 

 

 

 

 

Output

1

1

 

 

 

 

 

 

Input & output

 

 

7

6

5

4

3

2

1

0

Channel-based diagnostics 3rd byte:

0

0

1

 

 

 

 

 

Bit

0

1

0

 

 

 

 

 

2 bits

0

1

1

 

 

 

 

 

4 bits

1

0

0

 

 

 

 

 

Byte

1

0

1

 

 

 

 

 

Word

1

1

0

 

 

 

 

 

2 words

 

 

 

1

2

3

4

5

6

7

8

9

10-15

16-31

Short circuit

Under-voltage

Over-voltage

Overload

Over-temperature

Line break

Upper limit overshoot

Lower limit undershoot

Error

Reserved

Vendor-specific

 

Example for channel-based diagnosis

Addr

Msg type

Req Res

SAPS

Len

Data

1->14

Slave Diagnosis

Req

62 -> 60

 

 

1<-14

Slave Diagnosis

Res

62 <- 60

9

08 04 00 00 00 85 88 41 21

In this example, the module with the 9th identifier has a short-circuit on the 2nd binary input.

 

The appearance of multiple diagnostic blocks in one telegram is, of course, also possible:

 

Addr

Msg type

Req Res

SAPS

Len

Data

1->14

Slave Diagnosis

Req

62 -> 60

 

 

1<-14

Slave Diagnosis

Res

62 <- 60

10

08 04 00 00 00 85 44 00 01 00 88 41 21

 

Device-based diagnostics:

There is no further specification of device-based diagnostics in DP-V0. The meaning of the individual bits must be defined by the manufacturer in the GSD file.

 

Header for device-based diagnostics:

7

6

5

4

3

2

1

0

 

0

0

 

 

 

 

 

 

Header device-based diagnostics

 

 

0 - 63

Number of bytes in the device-based diagnosis (inc. this byte)

 

Unit_Diag_Bit(0x12)="short-circuit on channel 3"

This example from a GSD signals a short-circuit on channel 3 with the 18th bit in the device-based diagnosis.

 

In DP-V1, these device-based diagnostics are developed into alarm blocks and/or status messages. To activate this syntax, the bit DPV1_Enable in the parameter telegram must be set to 1 and the corresponding alarm enabled. The whole block is built up in a fixed format.

Alarm-Block

Status-Block