MB_InitRTU-Baustein

Kurz-Information

Name

MB_InitRTU

→POE-Typ

→Funktion

Kategorie

Weitere Systembausteine, Bausteine fuer Modbus, Baustein mit interner Fehlerdiagnose

Grafische Schnittstelle

images/download/thumbnails/414780131/MB_InitRTU-version-1-modificationdate-1534494786113-api-v2.png

Verfügbar ab

Version 2.0.9 (für Bibliothek System)
images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/warning.svg Dieser Baustein wird

sowohl für Raspberry Pi als auch
für die Plattformen WindowsX86 (inkl. integrierte SPS unter Windows) und LinuxX86 unterstützt.

Funktionalität

Der Baustein initialisiert eine →Modbus/RTU-Verbindung und liefert ein Handle, der gemeinsam mit anderen Modbus-Bausteinen für die Kommunikation mit einem Modbus-RTU-Buskoppler verwendet wird.

Hinweis zur Verwendung

Um den Status einer Modbus-Verbindung zu bestimmen, verwenden Sie diesen Baustein immer zusammen mit dem Baustein MB_GetState . Diese Verwendung ergibt sich aus den folgenden Gründen:

  • Die Verbindung ist bei der Rückkehr aus dem Baustein noch nicht aufgebaut.

  • Üblicherweise ist es erst im nächsten Zyklus der Anwendung möglich, die Verbindung für eine tatsächliche Kommunikation zu verwenden.

Somit gilt: Verwenden Sie unbedingt MB_GetState, um den Status einer Modbus-Verbindung in jedem Zyklus der Anwendung zu bestimmen. Stellen Sie sicher, dass die Anwendung die weiteren Schritte abhängig vom Ergebniswert von MB_GetState enthält. Verwenden Sie keine internen Variablen in der Anwendung, um die Verwendung zu bestimmen.

Eingänge, Ausgänge


Bezeichner

→Datentyp

Beschreibung

Eingänge:

Device

STRING

Gerätename des Modbus-RTU-Buskopplers

Baud

DINT

Übertragungsgeschwindigkeit für diese Verbindung (mit Initialisierungswert 115200)

Parity

MB_PARITY

Verwendung eines Paritätsbits für die Verbindung, wie im Datentyp MB_PARITY definiert

DataBit

DINT

Anzahl der Datenbits für diese Verbindung (mit Initialisierungswert 8)

StopBit

DINT

Anzahl der Stoppbits für diese Verbindung (mit Initialisierungswert 1)

TimeoutRW

TIME

Timeout für lesende/schreibende Aufrufe der Modbus-Bausteine (mit Initialisierungswert T#500ms)

Ausgänge:

MBHandle

DINT

ein Handle, der die Verbindung identifiziert (mit Initialisierungswert -1)

RC

DINT

Ergebniscode für den Aufruf des Bausteins:

  • 0: erfolgreicher Aufruf des Bausteins
    images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/information.svg Dieser Ergebniscode stellt keine Information dar , dass die Modbus-Verbindung erfolgreich erstellt wurde. Siehe der obige Hinweis zur Verwendung des Bausteins.

  • -1: Die für den Verbindungsaufbau erforderlichen Ressourcen (z.B. Speicher) stehen nicht zur Verfügung.

  • -2: Die angeforderte Funktion des Modbus-Stacks konnte nicht ausgeführt werden.

  • -3: Der übergebene Handle ist nicht (mehr) gültig.

  • -5: Keine weiteren Handles stehen für den Verbindungsaufbau zur Verfügung (derzeit können maximal 256 Verbindungen aufgebaut werden).

  • -6: Ein internes Problem der Modbus-Anbindung liegt vor.

  • -7: Der LibModbus-Systemdienst wurde nicht geladen und/oder es sind keine Berechtigungen für die Verwendung von Modbus vorhanden (keine Freischaltung in der Lizenz für das →Laufzeitsystem).

Der Eingang EN und der Ausgang ENO sind für den →Aufruf des Bausteins verfügbar. Siehe "Ausführungssteuerung: EN, ENO" für Informationen zum Eingang EN und zum Ausgang ENO.

Informieren Sie sich unter:

Interne Fehlerdiagnose für Baustein

Der Baustein prüft die folgenden Fehlerfälle (falls für den Baustein zutreffend):

  • Die für den Verbindungsaufbau erforderlichen Ressourcen (z.B. Speicher) stehen nicht zur Verfügung.

  • Die angeforderte Funktion des Modbus-Stacks konnte nicht ausgeführt werden.

  • Der übergebene Handle ist nicht (mehr) gültig.

  • Die angeforderte Datenmenge kann durch die Modbus-Anbindung nicht verarbeitet werden.

  • Keine weiteren Handles stehen für den Verbindungsaufbau zur Verfügung (derzeit können maximal 256 Verbindungen aufgebaut werden).

  • Ein internes Problem der Modbus-Anbindung liegt vor.

  • Der LibModbus-Systemdienst wurde nicht geladen und/oder es sind keine Berechtigungen für die Verwendung von Modbus vorhanden (keine Freischaltung in der Lizenz für das →Laufzeitsystem).

In einem solchen Fehlerfall wird der Ausgang ENO des Bausteins auf den Wert FALSE (oder eine Entsprechung) zurückgesetzt. Zusätzlich liefert der Ausgang RC den entsprechenden Ergebniscode (siehe die vorhergehende Tabelle unter RC).

Beispiel für Verwendung im ST-Editor

So lernen Sie die Verwendung der Modbus-Bausteine am besten kennen: Erstellen Sie ein neues Projekt auf Basis der Projektvorlage Lauflicht mit Modbus-Zugriff und untersuchen Sie dieses Beispielprojekt. Dieses Projekt enthält zwar keine Verwendung dieses Bausteins, aber von anderen Bausteinen, anhand derer Sie die Verwendung dieses Bausteins erlernen können.