FB_SendRecvMsg: Funktionsbaustein zum Senden und Empfangen von Nachrichten
Die folgende Grafik zeigt den Anschlussplan für den Funktionsbaustein FB_SendRecvMsg:
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 TwidoEmulationSupport-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 TwidoEmulationSupport-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 |