PROFIBUS DP

In PROFIBUS DP-Systemen kommuniziert in der Regel ein Master (SPS, PC, etc.) mit vielen Slaves (I/Os, Antriebe, etc.), wobei nur der Master aktiv auf den Bus zugreifen (unaufgefordert Telegramme senden), während ein DP-Slave nur Telegramme sendet, wenn er von einem Master dazu aufgefordert wurde.

DP-StartUp

Bevor Master und Slave zyklischen Datenaustausch miteinander durchführen, werden während des DP-StartUps die Parameter- und Konfigurationsdaten vom Master an die Slaves übertragen. Nach dem Senden der Parameter- und Konfigurationsdaten fragt der Master solange die Diagnosedaten des Slaves ab, bis der Slave seine Bereitschaft zum Datenaustausch signalisiert. Je nach Umfang der Berechnungen, die der Slave durch den Empfang von Parameter- und Konfigurationsdaten durchzuführen hat, bis er bereit zum Datenaustausch ist, kann das bis zu einigen Sekunden dauern. Der Slave besitzt daher die folgenden Zustände:

Parameterdaten

Die Parameterdaten werden mit dem SetPrmLock-Request-Telegramm von dem Master an die Slaves gesendet, das SetPrmLock-Response-Telegramm enthält keine Daten und besteht daher nur aus einem Byte, der Kurzquittung. Die Parameterdaten bestehen aus DP-Parametern (z.B. Einstellung des DP-Watchdogs, Überprüfung der IdentNumber (eindeutig für jedes DP-Gerät)), aus DPV1-/DPV2-Parametern und aus anwendungsspezifischen Parametern, die nur einmal während des StartUps übertragen werden müssen. Wenn ein Fehler in den Parameterdaten auftritt, wird das in den Diagnosedaten gekennzeichnet und der Slave bleibt bzw. geht in den Zustand WAIT-PRM.

Konfigurationsdaten

Die Konfiguratonsdaten werden mit dem ChkCfg-Request-Telegramm von dem Master an die Slaves gesendet, das ChkCfg-Response-Telegramm enthält keine Daten und besteht daher nur aus einem Byte, der Kurzquittung. Die Konfigurationsdaten beschreiben die Zuordnung der DP-Module zu den zyklischen I/O-Daten, die mit dem Data_Exchange-Telegramm während des zyklischen Datenaustauschs zwischen Master und Slave und ausgetauscht werden. Die Reihenfolge der im DP-Konfigurationstool an einen Slave angefügten DP-Module bestimmt die Reihenfolge der zugehörigen I/O-Daten im Data_Exchange-Telegramm.

Diagnosedaten

Die Diagnosedaten werden mit einem SlaveDiag-Request-Telegramm ohne Daten vom Master angefordert, der Slave sendet die Diagnosedaten mit einem SlaveDiag-Response-Telegramm. Die Diagnosedaten bestehen aus der Standard DP-Diagnose (z.B. Zustand des Slaves, IdentNumber) und anwendungsspezifischen Diagnosedaten.

Zyklischer Datenaustausch

Kernstück des PROFIBUS DP-Protokolls ist der zyklische Datenaustausch, bei dem innerhalb eines PROFIBUS DP-Zyklusses der Master mit jedem Slave einen I/O-Datenaustausch durchführt. Dabei sendet der Master an jeden Slave die Outputs mit einem DataExchange-Request-Telegramm, der Slave antwortet mit den Inputs in einem DataExchange-Response-Telegramm. Sämtliche Output- bzw. Inputdaten werden also mit je einem Telegramm übertragen, wobei die DP-Konfiguration (Reihenfolge der DP-Module) die Zuordnung der Output- bzw. Inputdaten zu den realen Prozessdaten des Slaves festlegt.

Diagnose während des zyklischen Datenaustausches

Während des zyklischen Datenaustausches kann eine Slave eine Diagnose an den Master melden. In dem Fall setzt der Slave ein Flag im DataExchange-Response-Telegramm, woran der Master erkennt, dass bei dem Slave neue Diagnosedaten vorliegen, die er dann mit dem SlaveDiag-Telegramm abholt. Die Diagnosedaten sind also nicht in Echtzeit mit den zyklischen I/O-Daten in der Steuerung, sondern mindestens immer einen DP-Zyklus später.

Synchronisierung mit Sync und Freeze

Mit den Sync- und Freeze-Kommandos im GlobalControl-Request-Telegramm (Broadcast-Telegramm) kann der Master die Ausgabe der Outputs (Sync) bzw. das Einlesen der Inputs (freeze) bei mehreren Slaves synchronisieren. Bei Verwendung des Sync-Kommandos werden die Slaves zunächst in den Sync-Mode geschaltet (wird in den Diagnosedaten quittiert), dann werden sequentiell die I/O-Daten per DataExchange-Telegramm mit den Slaves ausgetauscht, ein Senden des Sync-Kommandos im GlobalControl-Telegramm hat dann zur Folge, dass die Slaves die zuletzt empfangenen Outputs ausgeben. Im Freeze-Betrieb wird zunächst ein Freeze-Kommando im GlobalControl-Telegramm gesendet, woraufhin alle Slaves ihre Inputs latchen, die dann wiederum mit dem DataExchange-Telegramm vom Master sequentiell abgeholt werden.

Zustände im Master

Der Master unterscheidet die Zustände CLEAR (alle Outputs auf dem Fail_Safe-Wert) und OPERATE (alle Outputs haben den Prozesswert). In der Regel wird der Master in den CLEAR-Mode geschaltet, wenn z.B. die SPS auf STOP geht.

DP-Master Class 1 und Class 2

Mit dem Class 1-Master wird die Steuerung bezeichnet, die zyklischen I/O-Datenaustausch mit den Slaves durchführt, während ein Class 2-Master ein B&B-Gerät ist, dass in der Regel nur lesend auf die I/O-Daten des Slaves zugreift.