MB_InitTCP-Baustein

Kurz-Information

NameMB_InitTCP
→POE-Typ→Funktion
KategorieWeitere Systembausteine, Bausteine fuer Modbus, Baustein mit interner Fehlerdiagnose
Grafische Schnittstelle

Verfügbar ab
  • Version 1.51.0 (für logi.CAD 3) und Version 3.0.7 des →Laufzeitsystems
    (warning) Dieser Baustein wird 

    für →Raspberry Pi und 

    für die Plattform WindowsX86 (inkl. integrierte SPS unter Windows) unterstützt.
  • Version 1.109.0 (für logi.CAD 3) und Version 3.19.0 des →Laufzeitsystems
    (warning) Dieser Baustein wird 

    sowohl für Raspberry Pi als auch 

    für die Plattformen WindowsX86 (inkl. integrierte SPS unter Windows) und LinuxX86 unterstützt.
  • Version 2.0.9 (für Bibliothek System) – geänderter Datentyp für Eingang IPAddress (vorher: STRING[15]nun: STRING)
    (warning) 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-/TCP-Verbindung und liefert ein Handle, der gemeinsam mit anderen Modbus-Bausteinen für die Kommunikation mit einem Modbus-TCP-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→DatentypBeschreibung
Eingänge:IPAddressSTRINGIP-Adresse des Modbus-TCP-Buskopplers
PortDINTModbus-Port des Modbus-TCP-Buskopplers (mit Initialisierungswert 502)
TimeoutRWTIME

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

Ausgänge:MBHandleDINT

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

RCDINT

Ergebniscode für den Aufruf des Bausteins:

  • 0: erfolgreicher Aufruf des Bausteins
    (info) 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.
  • -2Die angeforderte Funktion des Modbus-Stacks konnte nicht ausgeführt werden.
  • -3Der übergebene Handle ist nicht (mehr) gültig.
  • -5Keine 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 eine Verwendung dieses Bausteins.