FB_WriteReadVar: Funktionsbaustein zum Lesen und Schreiben

Überblick

Der Funktionsbaustein FB_WriteReadVar kann für Folgendes verwendet werden:

oSchreiben von aufeinander folgenden internen Registern und Lesen der Werte im selben Ausführungszyklus des Funktionsbaustein (einfache Transaktion),

oSchreiben von aufeinander folgenden internen Registern und Lesen verschiedener Register.

Die folgende Grafik zeigt den Anschlussplan für den Funktionsbaustein FB_WriteReadVar:

G-SE-0047226.1.gif-high.gif

 

 

Der Funktionsbaustein FB_WriteReadVar liest und schreibt interne Register (nur vom Typ MW) in einem externen Gerät im Modbus-Protokoll. Die Lese- und Schreiboperationen finden im Rahmen derselben Transaktion statt. Beachten Sie, dass die Schreiboperation zuerst ausgeführt wird.

Beschreibung der E/A-Variablen

In der folgenden Tabelle sind die Eingangsvariablen des Funktionsbausteins in der TwidoEmula­tionSupport-Bibliothek beschrieben:

Eingang

Datentyp

Beschreibung

i_xExecute

BOOL

Die Funktion wird an der steigenden Flanke dieses Eingangs ausgeführt.

HINWEIS: Wenn i_xExecute beim ersten Durchlauf eines Tasks in RUNNING nach einem Kalt- oder Warm-Reset auf TRUE gesetzt ist, wird die steigende Flanke nicht erkannt.

i_xAbort

BOOL

Stoppt die laufende Operation an der steigenden Flanke.

i_iLink

INT

Gibt den Port an, über den kommuniziert wird:

o1 = serieller Port 1

o2 = serieller Port 2

o3 = Ethernet / Modbus TCP

i_iId

INT

Gerätebezeichner des externen Zielgeräts:

oSlave-Adresse auf serieller Leitung: 1 bis 247 oder

oEthernet-Index: 1 bis 16

(Abhängig von der Verbindungskonfiguration).

i_iTimeout

INT

Legt die maximale Zeit fest, die bis zum Empfang einer Antwort vom Modem gewartet wird. In ms angegeben. Der Wert 0 bedeutet, dass kein Timeout angewendet wird.

i_diFirstReadObj

DINT

Adresse des ersten Objekts, aus dem Werte gelesen werden.

i_iReadQuantity

INT

Anzahl zu lesender Objekte.

i_pbyReadBuffer

POINTER TO BYTE

Adresse des Puffers für die Speicherung zu lesender Objektwerte.

i_diFirstWriteObj

DINT

Adresse des ersten Objekts, aus dem Werte geschrieben werden.

i_iWriteQuantity

INT

Anzahl zu schreibender Objekte.

i_pbyWriteBuffer

POINTER TO BYTE

Adresse des Puffers für die Speicherung zu schreibender Objektwerte.

i_astRemoteDevices

ARRAY [1..Gc_uiRemoteAddressTableLen] OF ST_RemoteDevice

Enthält die Liste der dezentralen Geräteadressen für die Modbus-TCP-Kommunikation.

In der folgenden Tabelle sind die Ausgangsvariablen des Funktionsbausteins in der TwidoEmula­tionSupport-Bibliothek beschrieben:

Ausgang

Datentyp

Beschreibung

q_xDone

BOOL

q_xDone wird auf TRUE gesetzt, wenn die Funktion erfolgreich abgeschlossen wurde.

q_xBusy

BOOL

q_xBusy ist auf TRUE, während die Funktion ausgeführt wird.

q_xAborted

BOOL

q_xAborted wird auf TRUE gesetzt, wenn die Funktion mit dem Eingang i_xAbort gestoppt wird.

q_xError

BOOL

q_xError wird auf TRUE gesetzt, wenn die Funktion aufgrund eines erkannten Fehlers angehalten wird.

q_etCommError

SEN.CommunicationErrorCodes

q_etCommError enthält den Wert des Kommunikationsfehlercodes SEN.CommunicationErrorCodes.

q_etOperError

SEN.OperationErrorCodes

q_etOperError enthält den Wert des Betriebsfehlercodes SEN.OperationErrorCodes.