FB_SendRecvMsg: Funktionsbaustein zum Senden und Empfangen von Nachrichten

Überblick

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

G-SE-0047230.1.gif-high.gif

 

 

Der Funktionsbaustein FB_SendRecvMsg sendet und empfängt benutzerdefinierte Nachrichten. Er sendet eine Nachricht auf der seriellen Leitung und wartet auf eine Antwort. Es ist auch möglich, Nachrichten zu senden, ohne auf eine Antwort zu warten, oder ohne Senden einer Nachricht eine Nachricht zu empfangen. Diese Funktion sollte mit einem ASCII-Manager verwendet werden.

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

i_iTimeout

INT

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

i_iQuantityToSend

INT

Anzahl zu sendender Objekte.

i_pbyBufferToSend

POINTER TO BYTE

Adresse des Puffers für die Speicherung zu sendender Objektwerte. Die ersten beiden Wörter sind Steuerwörter.

i_iSizeRecvBuffer

INT

Anzahl zu empfangender Objekte.

i_pbyBufferToRecv

POINTER TO BYTE

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

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_Aborted

BOOL

q_Aborted 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.

q_iQuantiyRecv

INT

Anzahl der empfangenen Objekte