Die Ausgabe ErrorID die spiegelt einen aktuellen Fehler Nummer ist nur gültig für einen Zyklus wenn Ausgabe Error auf TRUE gesetzt ist. Um diese Fehlernummer zu erfassen, muss eine externe Funktion programmiert werden.
Die Ausgabe ModMastErrorAct spiegelt einen tatsächlich aufgetretenen Fehler in Modbus Job wider. Dieser Ausgang ist nur TRUE für einen Zyklus. In diesem Zyklus spiegelt die Ausgabe ModMastErrorIDLast die die aktuelle ErrorID aus dem ModRtuMast Auftrag wider. Der ModMastErrorIDLast behält diese Fehler-ID solange bei, bis eine neue steigende Flanke des Enable Eingangs gegeben ist.
Es stehen jedoch interne Diagnosevariablen zur Verfügung, die an keinem Ausgang angezeigt werden, sondern von der Funktion Block Instanz abgerufen werden können.
Auf diese zusätzlichen Diagnosevariablen kann zugegriffen werden durch Öffnen der Funktion Block Instanz oder über den Block Visualisierung “VisuDrvModbusRTUBroadcast”.
-
iWriteErrCnt: Anzahl der Fehler in Schreibaufträgen seit Enable = TRUE.
-
wLastWriteErno: enthält die Fehlernummer des letzten ausgeführten Schreibauftrags.
Für alle angeschlossenen Antriebe an derselben Modbus RTU-Leitung ist eine Instanz des BroadcastBlocks DrvModbusRtuBroadcast ausreichend und es muss verbunden mit dem LineToken von DrvModbusRtu Funktionsblöcken, die für Kommunikation zwischen SPS und jedem Antrieb auf Modbus RTU line verwendet werden. Alle die Kommunikation Funktionsblöcke einer Modbus RTU-Linie müssen miteinander über eine Variable vom Typ ModRtuTokenType verknüpft werden, verbunden mit dem InOut LineToken. Über diese Variable wird der Modbus Token weitergegeben an den nächsten Antrieb/Gerät, so dass immer nur ein Antrieb/Gerät mit mit der SPS kommuniziert.
Alle Antriebe sollten entweder im Classic Profil oder Enhanced Profil und entsprechend konfiguriert werden, der Funktionsblock DrvModbusRtuBroadcast sollte parametriert werden. Eine Mischung aus Profil mit wenigen Antrieben in Classic und wenigen Antrieben in Enhanced sollte nicht verwendet werden wenn DrvModbusRtuBroadcast Block verwendet wird, wenn eine solche Konfiguration zusammen mit DrvModbusRtuBroadcast verwendet wird, kann zu fehlerhaftem Betrieb führen.
Wenn der Benutzer das Antriebsprofil ändert, während der Antrieb online mit der SPS ist, kann die Funktion blockieren die Ausgänge falsch anzeigen.
Der Modbus RTU-Broadcast-Auftrag wird an alle Geräte auf derselben physikalischen Modbus RTU-Leitung gesendet.
Wenn daher andere Modbus Geräte als ACS / DCS Antriebe an dieselbe Leitung angeschlossen sind und den ModRtuToken Kommunikationsblock verwenden, wird dringend empfohlen nicht den DrvModbusRtuBroadcast Funktionsblock zu verwenden.
Dies kann nur genutzt, wenn der Nutzer informiert ist über das Verhalten der angeschlossenen Geräte und deren Empfang des Modbus Broadcast Jobs.
Wenn ein Modbus RTU broadcast Auftrag gesendet wird, um auf ein Register im Laufwerk zuzugreifen, das keine gültigen Mapping Informationen hat, dann wird Modbus broadcast Auftrag nicht abgebrochen sondern nur die broadcast Nachricht ohne Fehler im Funktion Block gesendet. Diese Broadcast Nachricht wird ignoriert von Laufwerken die keine gültigen Mapping Informationen haben.
Daher müssen die Antriebsparameter in FBA DATA OUT entsprechend dem verwendeten 'NvarWrite' Eingang Nummer bzw. konfiguriert werden.