Modbus-Ausnahmemanagement
Übersicht
Der LTMR-Controller folgt im Allgemeinen den Modbus-Anforderungen für das Ausnahmemanagement.
Für den LTMR-Controller gelten 3 Spezialfälle:
-
Bitfeld-Register
-
Ausnahmecode 02 – Unzulässige Datenadresse
-
Ausnahmecode 03 – Unzulässiger Datenwert
Bitfeld-Register
Einige Register in der Registerzuordnung enthalten Bitfelder. Je nach Status des LTMR-Controllers dürfen einige Bits in diesen Registern nicht per Schreibzugriff zugänglich sein. In diesem Fall muss der LTMR-Controller den Schreibzugriff auf diese Bits sperren, d. h. es wird keine Ausnahmemeldung zurückgesendet. Bits, in die nur im Konfigurations-Modus geschrieben werden kann, werden beispielsweise ignoriert (kein Zurücksenden einer Ausnahmemeldung), wenn der LTMR-Controller sich nicht im Status „Sys-Konfig“ befindet. Der Schreibzugriff auf Bits, die nicht durch den Status des LTMR-Controllers beschränkt sind, müssen jedoch möglich sein.
Ausnahmecode 02 – Unzulässige Datenadresse
Generell muss der LTMR-Controller den Ausnahmecode „Unzulässige Datenadresse“ zurücksenden, wenn die Adresse außerhalb des zulässigen Bereichs liegt oder nicht zugänglich ist. Der LTMR-Controller muss insbesondere in folgenden Fällen einen Code für „Unzulässige Datenadresse“ zurücksenden:
-
Eine Schreibanforderung wird an ein schreibgeschütztes Register gesendet.
-
Die Erlaubnis für den Schreibzugriff auf ein Register wird wegen des Status des LTMR-Controllers nicht erteilt: Dies ist beispielsweise der Fall, wenn der Schreibzugriff auf ein Register, das nur im Konfigurationsmodus beschreibbar ist, erfolgt, während sich der LTM R-Controller nicht im Status „Sys-Konfig“ befindet.
Ausnahmecode 03 – Unzulässiger Datenwert
Generell muss der LTMR-Controller einen Ausnahmecode „Unzulässiger Datenwert“ zurücksenden, wenn ein Problem bezüglich der Meldungsstruktur, z. B. eine unzulässige Länge, auftritt. Der LTMR-Controller muss diesen Ausnahmecode auch in folgenden Fällen verwenden:
-
Die zu schreibenden Daten liegen außerhalb des Bereichs (für Standard- und Bitfeld-Register): Dies ist der Fall, wenn eine Schreibanforderung von 100 an ein Lese-/Schreibregister mit einem Wertebereich von 0 bis 50 gesendet wird.
-
In ein reserviertes Bit oder Register wird ein Wert ungleich 0 geschrieben.
-
Der Befehl „Motor - Niedrige Drehzahl“ (Bit 704.6) wird gesetzt, während der gewählte Motorsteuerungs-Modus kein Betriebsmodus mit 2 Drehzahlen ist.