SerialLineControl
Der Funktionsbaustein SerialLineControl wickelt die Kommunikation zwischen einer seriellen Schnittstelle (KL60xx, EL60xx oder COM-Schnittstelle) und der SPS ab. Der Funktionsbaustein wird zyklisch aufgerufen und stellt empfangene Daten im RxBuffer bereit. Gleichzeitig werden im Sendebuffer TxBuffer bereitgestellte Daten zur Schnittstelle übertragen.
Da die Funktion unabhängig von der Applikation abgewickelt wird, wird sie als Hintergrundkommunikation bezeichnet und kann, insbesondere bei seriellen Busklemmen, auch in einer schnellen Task abgewickelt werden (siehe Kommunikationskonzept und Unterstützte Hardware).
Der Funktionsbaustein ersetzt ab der Version 2.0 der Bibliothek die hardwareabhängigen Funktionsbausteine KL6Control, KL6Control5B und PcComControl.
Interface
VAR_INPUT
Mode : ComSerialLineMode_t;
pComIn : POINTER TO BYTE
pComOut : POINTER TO BYTE
SizeComIn : UINT;
END_VAR
VAR_OUTPUT
Error : BOOL;
ErrorID : ComError_t;
END_VAR
VAR_IN_OUT
TxBuffer : ComBuffer;
RxBuffer : ComBuffer;
END_VAR
Mode | Der Mode-Eingang legt eindeutig fest, welche serielle Hardware verwendet wird. |
---|---|
pComIn | Universeller Pointer auf die Eingangsvariable der Prozessdaten der seriellen Hardware (Datentypen KL6inData, KL6inData5b, KL6inData22b, EL6inData22b, PcComInData). Der Pointer wird mit der ADR() Funktion zugewiesen. |
pComOut | Universeller Pointer auf die Ausgangsvariable der Prozessdaten der seriellen Hardware (Datentypen KL6outData, KL6outData5b, KL6outData22b, EL6outData22b, PcComOutData). Der Pointer wird mit der ADR() Funktion zugewiesen. |
SizeComIn | Größe des Eingangs-Prozessabbildes der verwendeten seriellen Hardware. Die Größe wird mit der SIZEOF() Funktion ermittelt und zugewiesen. |
Error | Der Error Ausgangs wird TRUE sobald ein Fehler auftritt. |
ErrorID | Der ErrorID Ausgang gibt im Fehlerfall einen Fehlercode aus. |
TxBuffer | Puffer mit Sendedaten für die verwendete serielle Hardware. Der Sendepuffer wird durch Funktionen wie SendByte, SendData oder SendString gefüllt. |
RxBuffer | Puffer in dem die Empfangsdaten abgelegt werden. Der Empfangspuffer wird durch Funktionen wie ReceiveByte, ReceiveData oder ReceiveString ausgelesen. |