Kommunikationsprotokolle und Dienste

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 zugreift (unaufgefordert Telegramme sendet), während ein DP-Slave nur Telegramme sendet, wenn er von einem Master dazu aufgefordert wird.

PROFIBUS DP

  • DP-StartUp
    Bevor Master und Slave zyklisch Daten miteinander austauschen, werden während des DP-StartUps Parameter- und Konfigurationsdaten vom Master an die Slaves übertragen. Nachdem die Parameter- und Konfigurationsdaten gesendet wurden, fragt der Master solange die Diagnosedaten des Slaves ab, bis der Slave seine Bereitschaft zum Datenaustausch signalisiert. Anhängig vom Umfang der Berechnungen, die der Slave aufgrund der empfangenen Parameter- und Konfigurationsdaten durchzuführen hat, kann dieser Vorgang einige Sekunden dauern.
  • Parameterdaten
    Die Parameterdaten werden mit dem SetPrmLock-Request-Telegramm vom 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. dem DP-Watchdog und der IdentNumber), den 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 Konfigurationsdaten werden mit dem ChkCfg-Request-Telegramm vom 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 an einem 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 vom Master angefordert. Der Slave sendet die Diagnosedaten mit einem SlaveDiag-Response-Telegramm. Die Diagnosedaten bestehen aus den Standard DP-Diagnosedaten (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-Zyklus 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 ein 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. Diese Daten holt der Master dann mit dem SlaveDiag-Telegramm ab. 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 kann der Master die Ausgabe der Outputs (Sync) bzw. das Einlesen der Inputs (freeze) bei mehreren Slaves synchronisieren.
    Wenn die Sync-Kommandos verwendet werden, werden die Slaves zunächst in den Sync-Mode geschaltet (wird in den Diagnosedaten quittiert). Danach werden dann die I/O-Daten per DataExchange-Telegramm sequentiell mit den Slaves ausgetauscht. Wenn das Sync-Kommando im GlobalControl-Telegramm gesendet wird, hat das 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.

 

PROFIBUS DPV1

PROFIBUS DPV1 bezeichnet im Wesentlichen die azyklischen Read- und Write-Telegramme, mit denen azyklisch auf Datensätze im Slave zugegriffen wird. Auch bei DPV1 wird zwischen Class 1 und einem Class 2 Master unterschieden.

  • Class 1 (C1)
    Die azyklische C1-Verbindung wird mit dem DP-StartUp des zyklischen DP-Betriebs aufgebaut. Ab dem Zustand WAIT-CFG des Slaves können azyklische DPV1-C1-Read- und Write-Telegramme vom Master zum Slave gesendet werden.
  • Class 2 (C2)
    Bei C2 wird in der Regel von einem zweiten C2-Master eine separate Verbindung unabhängig von der zyklischen DP-Verbindung aufgebaut, sodass z.B. ein herstellerspezifisches Projektierungs- und Diagnosetool auf die Daten des Slaves zugreifen kann.
    Bei Verwendung von zwei Mastern muss beachtet werden, dass diese sich den Buszugriff teilen und somit die zeitlichen Verhältnisse ungünstiger im Vergleich zu einem Master sind.