PROFIBUS Handbuch

Funktionscode

Funktionscode

Vorangehendes Thema Nächstes Thema  

Funktionscode

Vorangehendes Thema Nächstes Thema JavaScript wird zum Drucken dieser Seite benötigt Fragen oder Bemerkungen zum Thema senden!  

Der Funktionscode (FC) im Telegrammkopf kennzeichnet den Telegrammtyp, wie Aufruf- (Request- oder Send/Request-) und Quittungs- oder Antwort-Telegramm (Acknowledgement-, Response-Frame). Zusätzlich enthält der Funktionscode die eigentliche Übertragungsfunktion (Function) und Steuerinformationen, die den Nachrichten-Verlust und die -Vervielfältigung verhindern, oder den Teilnehmertype (Station-Type) mit dem FDL-Zustand.

7

6

5

4

3

2

1

0

FC: Function Code Request

 

1

 

 

 

 

 

 

Request Telegramm

 

 

 

X

 

 

 

 

FCV = Alternierendes Bit eingeschaltet

 

 

X

 

 

 

 

 

FCB = Alternierendes Bit (ab Folgeaufruf)

1

 

 

 

0 (0x0)

CV = Clock Value (Clock-Synchronisation)

1

 

 

 

andere

Reserviert

0

 

 

 

0 (0x0)

TE = Time Event (Clock-Synchronisation)

0

 

 

 

3 (0x3)

SDA_LOW = Send Data Acknowledged - low priority

0

 

 

 

4 (0x4)

SDN_LOW = Send Data Not acknowledged - low priority

0

 

 

 

5 (0x5)

SDA_HIGH = Send Data Acknowledged - high priority

0

 

 

 

6 (0x6)

SDN_HIGH = Send Data Not acknowledged

0

 

 

 

7 (0x7)

MSRD = Send Request Data with Multicast Reply

0

 

 

 

9 (0x9)

Request FDL Status

0

 

 

 

12(0xC)

SRD low = Send and Request Data

0

 

 

 

13(0xD)

SRD high = Send and Request Data

0

 

 

 

14(0xE)

Request Ident with reply

0

 

 

 

15 (0xF)

Request LSAP Status with reply 1)

0

 

 

 

andere

Reserviert

1) dieser Wert ist in der neusten Ausgabe der Normen nicht mehr definiert sondern nur reserviert

7

6

5

4

3

2

1

0

FC : Function Code Response

0

 

 

 

 

Reserviert

 

0

 

 

 

Response Telegramm

 

 

0

0

 

Slave

 

 

0

1

 

Master nicht bereit

 

 

1

0

 

Master bereit, ohne Token

 

 

1

1

 

Master bereit, im Token-Ring

 

 

 

 

0 (0x0)

OK

 

 

 

 

1 (0x1)

UE = User Error

 

 

 

 

2 (0x2)

RR = Keine Resourcen

 

 

 

 

3 (0x3)

RS = SAP nicht aktiviert

 

 

 

 

8 (0x8)

DL = Data Low (Normalfall bei DP)

 

 

 

 

9 (0x9)

NR = Keine Antwortdaten bereit

 

 

 

 

10(0xA)

DH = Data High (DP Diagnose anstehend)

 

 

 

 

12(0xC)

RDL = Daten nicht empfangen und Data Low

 

 

 

 

13(0xD)

RDH = Daten nicht empfangen und Data High

 

 

 

 

andere

Reserviert

 

Aufruffolgebit (Frame Count Bit)

Mit dem Aufruffolgebit FCB (b5) wird eine Nachrichten-Duplizierung beim quittierenden oder antwortenden Teilnehmer (Responder) und ein Verlust beim aufrufenden Teilnehmer (Initiator) verhindert. Davon ausgenommen sind die Aufrufe ohne Quittung (SDN) und die Aufrufe FDL-Status, Ident und LSAP-Status.

Für die Sicherungssequenz muss der Initiator für jeden Responder ein FCB führen. Wenn erstmals ein Aufruf-Telegramm (Request oder Send/Request) an einen Responder oder erneut an einen momentan nicht funktionsfähig markierten Responder gesendet wird, muss bei diesem das FCB definiert gesetzt werden. Der Initiator bewirkt dies in einem Aufruf-Telegramm mit FCV=0 und FCB=1.Der Responder muss ein ein derartiges Telegramm als ersten Nachrichtenzyklus werten und das FCB=1 gemeinsam mit der Adresse (SA) des Initiators abspeichern (siehe nachfolgende Tabelle). Dieser Nachrichtenzyklus wird vom Initiator nicht wiederholt.

In den folgenden Aufruf - Telegrammen an denselben Responder muss der Initiator das FCV=1 setzen und mit jedem neuen Aufruf - Telegramm das FCB wechseln. Der Responder muss beim Empfang eines an ihn adressierten Aufruf - Telegramms mit FCV=1 das FCB auswerten. Ein geändertes FCB gegenüber dem unmittelbaren vorherigen Aufruf - Telegramm desselben Initiators (gleiche SA) gilt als Bestätigung für den ordnungsmässigen  Abschluss des letzten Nachrichtenzyklus. Stammt das Aufruf-Telegramm von einem anderen Initiators (geänderte SA), dann entfällt die Auswertung des FCB. Der Responder muss in beiden Fällen das FCB mit der Quelladresse SA bis zum Empfang eines neuen an ihn adressierten Telegramms speichern.

Im Falle eines fehlenden oder gestörten Quittungs- oder Antwort - Telegramm darf das FCB in der Aufruf-Wiederholung vom Initiator nicht geändert werden; dies weist auf den fehlerhaften vorhergehenden Nachrichtenzyklus hin. Empfängt der Responder ein Aufruf - Telegramm mit FCV=1 und gleiches FCB wie unmittelbar vorherigen Aufruf-Telegramm desselben Initiators (gleiche SA), dann handelt es sich um eine Aufrufwiederholung. Der Responder muss daraufhin nochmals das bereitgehaltene Quittungs- oder Antwort-Telegramm übertragen.

Bis zur oben genannten Bestätigung oder bis zum Empfang eines Telegramms mit geänderter Adresse (SA oder DA), das nicht quittiert wird (Send Data with No Acknowledge, SDN) muss der Responder das letzte Quittungs- oder Antwort-Telegramm gegebenfalls für eine Aufruf-Wiederholung bereithalten.

Bei Aufruf-Telegrammen, die nicht quittiert werden, und bei Request-FDL-Status, -Ident, -LSAP-Status ist FCV=0 und FCB=0; eine Auswertung beim Responder entfällt.

b5

b4

Bitposition

FCB

FCV

Bedingung

Bedeutung

Aktion

0

0

DA = TS/127

Aufruf ohne Quittung

Aufruf FDL-Status/ Ident/ LSAP-Status

letzte Quittung löschen

0/1

0/1

DA # TS

Aufruf an anderen Responder

letzte Quittung / Antwort löschen

1

0

DA = TS

Erstaufruf

FCBM := 1

SAM  := SA

letzte Quittung / Antwort löschen

0/1

1

DA = TS

SA = SAM

FCB # FCBM

Neuer Aufruf

letzte Quittung / Antwort löschen

FCBM := FCB

Quittung / Antwort bereithalten für Wiederholung

0/1

1

DA = TS

SA = SAM

FCB = FCBM

Aufruf-Wiederholung

FCBM := FCB

Quittung / Antwort wieder-

holen und weiterhin bereit

halten

0/1

1

DA = TS

SA # SAM

Neuer Initiator

FCBM := FCB

SAM := SA

Quittung / Antwort bereithalten für Wiederholung

FCBM gespeichertes FCB / SAM gespeicherte SA