FB_MBWriteSingleCoil (Modbus-Funktion 5)

FB_MBWriteSingleCoil (Modbus-Funktion 5) 1:

Diese Funktion wird zum Beschreiben eines digitalen Ausgangs benutzt (Coil). Dabei handelt es sich um einen Bit-Zugriff.

FB_MBWriteSingleCoil (Modbus-Funktion 5) 2: Eingänge

VAR_INPUT
    sIPAddr       : STRING(15);
    nTCPPort      : UINT:= MODBUS_TCP_PORT;
    nUnitID       : BYTE:=16#FF;
    nMBAddr       : WORD;
    nValue        : WORD;
    bExecute      : BOOL;
    tTimeout      : TIME;
END_VAR

Name

Typ

Beschreibung

sIPAddr

STRING (15)

Ist ein String, der die IP-Adresse des Zielgerätes enthält.

nTCPPort

UINT

Portnummer des Zielgerätes.

nUnitID

BYTE

Identifizierungsnummer eines Gerätes eines seriellen Sub-Netzwerkes. Wenn ein Gerät direkt über TCP/IP angesprochen wird, muss dieser Wert 16#FF entsprechen.

nMBAddr

WORD

Adresse des digitalen Ausgangs (Bitoffset).

nValue

WORD

Wert, der in den digitalen Ausgang geschrieben werden soll. Der Wert 16#FF00 schaltet den Ausgang ein und der Wert 16#0000 schaltet den Ausgang ab.

bExecute

BOOL

Durch eine steigende Flanke an diesem Eingang wird der Funktionsbaustein aktiviert.

tTimeout

TIME

Gibt die Timeout-Zeit an, die bei der Ausführung des ADS-Kommandos nicht überschritten werden darf.

FB_MBWriteSingleCoil (Modbus-Funktion 5) 3: Ausgänge

VAR_OUTPUT
    bBUSY      : BOOL;
    bError     : BOOL;
    nErrId     : UDINT;
END_VAR

Name

Typ

Beschreibung

bBusy

BOOL

Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt.

bError

BOOL

Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausgang gesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde.

nErrId

UDINT

Liefert bei einem gesetzten bError-Ausgang die ADS-Fehlernummer.

Beispiel für den Aufruf des Bausteins in FBD

PROGRAM Test
VAR
    fbWriteSingleCoil   : FB_MBWriteSingleCoil;
    bWriteCoil          : BOOL;
    bWriteCoilBusy      : BOOL;
    bWriteCoilError     : BOOL;
    nWriteCoilErrorId   : UDINT;
    nMBAddr             : WORD := 3;
    nValue              : WORD := 16#FF00;
END_VAR
FB_MBWriteSingleCoil (Modbus-Funktion 5) 4:

Nach steigender Flanke von "bExecute" und erfolgreicher Ausführung des WriteSingleCoil-Befehls, wird der digitale Ausgang 4 angeschaltet.

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT v3.0.0

PC or CX (x86)

Tc2_ModbusSrv