FB_MBDiagnose (Modbus-Funktion 8)

FB_MBDiagnose (Modbus-Funktion 8) 1:

Die Diagnose-Funktion stellt eine Reihe von Tests für die Überprüfung des Übertragungssystems zwischen dem Master und dem Slave oder für die Überprüfung der verschiedenen internen Fehlerzustände innerhalb des Slaves zur Verfügung.

FB_MBDiagnose (Modbus-Funktion 8) 2: Eingänge

VAR_INPUT
    sIPAddr       : STRING(15);
    nTCPPort      : UINT:= MODBUS_TCP_PORT;
    nUnitID       : BYTE:=16#FF;
    nSubFnc       : WORD;
    nWriteData    : 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.

nSubFnc

WORD

Die Subfunktion, die ausgeführt werden soll.

nWriteData

WORD

Das Datenwort, das geschrieben werden soll.

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_MBDiagnose (Modbus-Funktion 8) 3: Ausgänge

VAR_OUTPUT
    bBUSY      : BOOL;
    bError     : BOOL;
    nErrId     : UDINT;
    nReadData  : WORD;
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.

nReadData

WORD

Liefert das gelesene Datenwort.

Beispiel für den Aufruf des Bausteins in FBD

PROGRAM Test
VAR
    fbDiagnose          : FB_MBDiagnose;
    bDiagnose           : BOOL;
    bDiagnoseBusy       : BOOL;
    bDiagnoseError      : BOOL;
    nDiagnoseErrorId    : UDINT;
    nSubFnc             : WORD;
    nReadData           : WORD;
    nWriteData          : WORD;
END_VAR
FB_MBDiagnose (Modbus-Funktion 8) 4:

Nach steigender Flanke von "bExecute" und erfolgreicher Ausführung des Diagnose-Befehls, befindet sich in nReadData das gelesene Datenwort.

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT v3.0.0

PC or CX (x86)

Tc2_ModbusSrv