ReceiveByte

ReceiveByte 1:

Der Baustein ReceiveByte empfängt ein einzelnes Zeichen von der mit der Eingangsvariablen RxBuffer korrespondierenden Schnittstelle.

ReceiveByte 2: Ein-/Ausgänge

VAR_IN_OUT
  RXBuffer         : ComBuffer;
END_VAR

Name

Typ

Beschreibung

RxBuffer

ComBuffer

Empfangsdatenpuffer der mit der verwendeten Schnittstelle korrespondiert.

ReceiveByte 3: Ausgänge

VAR_OUTPUT
  ByteReceived       : BOOL;
  ReceivedByte       : BYTE;
  Error              : ComError_t;
END_VAR

Name

Typ

Beschreibung

ByteReceived

BOOL

Ist nach dem Aufruf ByteReceived=TRUE, dann steht in der Ausgangsvariablen ReceivedByte das empfangene Datenbyte zur Verfügung. Anderenfalls wurden keine Daten empfangen.

ReceivedByte

BYTE

Ist nach dem Aufruf ByteReceived=TRUE, dann steht in der Ausgangsvariablen ReceivedByte das empfangene Datenbyte zur Verfügung. Anderenfalls wurden keine Daten empfangen.

Error

ComError_t

Error gibt im Fehlerfall einen Fehlercode aus.

Beispiel

Sobald der Baustein ReceiveByte in einer langsameren SPS-Task abgearbeitet wird, als die Kommunikation mit der Hardware, ist zu beachten, dass in jedem SPS-Zyklus mehr als ein Zeichen bereitstehen kann. Die empfangenen Zeichen sollten daher in einer Schleife ausgelesen werden:

REPEAT
Receive(RXbuffer:=RXbuffer);
IF Receive.ByteReceived THEN
(* Zeichen auswerten *)
END_IF
UNTIL NOT Receive.ByteReceived
END_REPEAT

Die Anzahl der Schleifendurchläufe ist dabei grundsätzlich auf die Größe des Empfangsdatenpuffers (zur Zeit 300 Byte) begrenzt, so dass eine Endlosschleife nicht zu befürchten ist.

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT v3.1.4012

PC oder CX (ARM, x86, x64)

Tc2_SerialCom