Daten können empfangen werden, wenn der Merker "Empfangen beendet" FALSE ist. (Der Merker "Empfangen beendet" wird auf FALSE gesetzt, nachdem er auf RUN-Modus umschaltete, oder wenn Daten gesendet werden oder ClearReceiveBuffer ausgeführt wird.) Die Daten werden automatisch im Empfangspuffer der CPU oder des MCU-Moduls gespeichert. Bei einer CPU muss der Empfangspuffer in den Systemregistern definiert werden. Wenn das Empfangsende ermittelt wurde, können die Daten in einen festgelegten Zielbereich der CPU kopiert werden.
Wenn für die angegebene Zeit keine weiteren Bytes empfangen werden oder der Befehl ClearReceiveBuffer ausgeführt wird, wird der Ausgang IsDone auf TRUE gesetzt. Weiterer Datenempfang ist unmöglich. Mit F159_MTRN oder ClearReceiveBuffer wird der Merker "IsDone" auf FALSE gesetzt.
Ablauf des Datenempfangs:
Schnittstellen-Parameter und Empfangspuffer einstellen
Erforderliche Einstellungen: Kommunikationsart (programmgesteuert), Baudrate, Kommunikationsformat, Empfangspuffer (nur CPU)
Daten empfangen
Die Daten werden automatisch in den Empfangspuffer geschrieben.Empfangsende feststellen
Wählen Sie eine der folgenden Möglichkeiten:
Methode |
Anmerkung |
IsReceptionDone |
Liefert den Wert des Merkers "Empfangen beendet". Wird auf TRUE gesetzt, wenn das Endezeichen empfangen wurde. |
IsReceptionDoneByTimeOut |
Bestimmt das Empfangsende durch eine Zeitsteuerung, z.B. bei Binärdaten ohne Endezeichen. Anmerkung MCU: Die Empfangs-Zeitüberschreitung muss im Systemregister der Kommunikationsschnittstelle eingestellt werden. |
sys_bIsComPort1ReceptionDone sys_bIsComPort2ReceptionDone sys_bIsToolPortReceptionDone (Nur CPU) |
Diese Systemvariablen werden auf TRUE gesetzt, wenn das Endezeichen empfangen wurde. |
Eingangsmerker (X) des MCU-Moduls X0 und X2 (nur MCU) |
Mit diesen Merkern können Sie prüfen, ob die Datenübertragung zu einem MCU-Modul beendet wurde. |
Direkte Auswertung des Empfangspuffers. |
Daten im Empfangspuffer verarbeiten
Verwenden Sie einen der folgenden Befehle:Befehl |
Anmerkung |
ReceiveData |
Kopiert die über eine CPU oder ein MCU-Modul empfangenen Daten automatisch in die festgelegte Variable. |
ReceiveCharacters |
Kopiert die über eine CPU oder ein MCU-Modul empfangenen Zeichen automatisch in die festgelegte Zeichenfolgenvariable. |
F10_BKMV |
Überträgt die Daten vom Empfangspuffer in einen Zielbereich. Nicht erforderlich bei ReceiveData oder ReceiveCharacters. |
F161_MRCV |
Kopiert die über ein MCU-Modul empfangenen Daten in den Empfangspuffer der CPU. Nicht erforderlich bei ReceiveData oder ReceiveCharacters. |
CPU oder MCU für nächsten Datenempfang vorbereiten
Verwenden Sie einen der folgenden Befehle:
Befehl |
Anmerkung |
ClearReceiveBuffer |
Der Empfangspuffer wird beim Senden der nächsten Daten automatisch zurückgesetzt. Um den Empfangspuffer ohne das Senden von Daten zurückzusetzen, verwenden Sie einen dieser Befehle. |
SendData |