FB_MBUdpWriteSingleCoil (Modbus-Funktion 5)

FB_MBUdpWriteSingleCoil (Modbus-Funktion 5) 1:

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

VAR_INPUT

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

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

nTCPPort: Portnummer des Zielgerätes.

nUnitID: 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: Adresse des digitalen Ausgangs (Bitoffset).

nValue: 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: Durch eine steigende Flanke an diesem Eingang wird der Funktionsbaustein aktiviert.

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

VAR_OUTPUT

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

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

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

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

Function specific ADS error code

Possible reason

0x8001

Nicht implementierte Modbus-Funktion

0x8002

Ungültige Adresse oder Länge

0x8003

Ungültige Parameter:

- falsche Registeranzahl

0x8004

Fehler im Modbus-Server

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS Bibliotheken

TwinCAT v2.8.0

PC (i386)

TcModbusSrv.Lib