Fehler

Bei der Nutzung des Asycubes mit Modbus TCP können mehrere Arten von Fehlern auftreten. Die Bits des Holding Registers HR_MODBUS_STATUS (Adresse 64) repräsentieren den Status dieser Fehlertypen.

Tab. 18 Statusregister

Wert

(binär)

Name

Beschreibung

0b0001

Modbus-Fehlerstatus des Asycubes

Ist der Wert 1, konsultieren Sie bitte den Abschnitt Wichtigste Modbus-Ausnahmecodes

0b0010

Fehlerstatus interne Modbus-Kommunikation

Ist der Wert 1, konsultieren Sie bitte den Abschnitt Holding Register: Fehlercodes

0b0100

Status der Asycube-Warnungen

Ist der Wert 1, konsultieren Sie bitte den Abschnitt Warnungen und Alarme des Asycubes

0b1000

Status der Asycube-Alarme

Ist der Wert 1, konsultieren Sie bitte den Abschnitt Warnungen und Alarme des Asycubes

Der Fehlerstatus kann zurückgesetzt werden, indem das entsprechende Bit im Holding Register HR_MODBUS_CONTROL auf 1 gesetzt wird. Zum Beispiel wird durch das Schreiben des Wertes 0b0110 (entspricht dem Wert ‘6’ in dezimal) sowohl der Modbus-Fehlerstatus des Asycubes als auch der Warnungsstatus des Asycubes zurückgesetzt.

Wichtigste Modbus-Ausnahmecodes

Die Modbus-Ausnahmecodes sind in den Protokollspezifikationen definiert (http://www.modbus.org). Ein Teil dieser Ausnahmen ist im Asycube implementiert (vgl. Tab. 19). Das Modbus-Protokoll ist dafür verantwortlich, die Ausnahmen direkt in der Modbus-Nachricht zu übertragen und nicht in einem Holding Register zu speichern.

Tab. 19 Ausnahmecodes des Modbus-Protokolls

Wert

(dezimal)

Name

Beschreibung

1

Unzulässige Funktion

Der in der Abfrage empfangene Funktionscode wird vom Slave nicht erkannt oder nicht zugelassen

2

Unzulässige Datenadresse

Die Datenadressen einiger oder aller benötigten Entitäten sind nicht zulässig oder existieren nicht im Slave

3

Unzulässiger Datenwert

Wert wird vom Slave nicht akzeptiert

Holding Register: Fehlercodes

Das Register HR_MODBUS_ERROR_CODE gibt den aktuellen Modbus-Fehler des Asycubes an.

Das erste Byte (Maske 0x00FF) gibt den mit der Implementierung von Modbus mit Asycube verbundenen Fehler an (vgl. Tab. 20).

Tab. 20 Modbus-Fehlercodes des Asycubes

Wert

(hexadezimal)

Name

Beschreibung

0x01

Schreibzugriff nicht gewährt

Die Daten können nicht geschrieben werden, weil es unzulässig ist oder weil der Index ausserhalb des zulässigen Bereichs liegt. Ein Beispiel wäre die Auswahl einer Sequenz (HR_SELECT_VIBRATION_SET) mit einem Wert ausserhalb des Bereichs, wie z.B. 27.

Das zweite Byte (Maske 0xFF00) gibt den Fehlercode der internen Modbus-Kommunikation an (vgl. Wert Error Bit in Tab. 17). Der Fehler bei der internen Modbus-Kommunikation tritt typischerweise auf, wenn eine Vibration mit falschen Parameterwerten ausgelöst wird.

Ein Beispiel wäre das Auslösen einer Plattformzentrierung (HR_PLATFORM_CENTERING_TRIG), während der Wert der X-Position (HR_PLATFORM_CENTERING_X ) ausserhalb des Bereichs liegt, z. B. bei 120 %.

Warnungen und Alarme des Asycubes

Der Asycube verfügt über seine eigenen Warnungen und Alarme. Sie können jeweils in den Holding Registern HR_WARNINGS und HR_ALARMS gelesen werden.