Possono essere ricevuti dati da un dispositivo esterno quando il flag "ricezione conclusa" è FALSE. (Il flag "ricezione conclusa" passa a FALSE dopo la commutazione a “Modo RUN” o se i dati vengono inviati o se viene eseguita ClearReceiveBuffer.) Il dato viene ricevuto automaticamente nel buffer di ricezione della CPU o unità MCU (Multi-Communication Unit). Per la CPU, il buffer di ricezione deve essere definito nei registri di sistema. Una volta verificata la conclusione della ricezione, il dato può essere copiato in un'area target specificata della CPU.
Se non vengono ricevuti altri byte nel periodo specificato o se viene eseguita l'istruzione ClearReceiveBuffer, l'uscita IsDone passa a TRUE. La ricezione di ulteriori dati è impossibile. F159_MTRN o ClearReceiveBuffer fa passare il flag "IsDone" a FALSE.
Procedura per la ricezione di dati da dispositivi esterni:
Impostare parametri di comunicazione e buffer di ricezione
Impostazioni occorrenti: modalità di comunicazione (controllata da programma), baud rate, formato di comunicazione, buffer di ricezione (solo CPU)
Ricevere i dati
I dati sono ricevuti automaticamente nel buffer di ricezione.Verificare la conclusione della ricezione
Usare uno dei seguenti metodi
Metodo |
Commento |
IsReceptionDone |
Restituisce il valore del flag "ricezione conclusa". TRUE se il carattere terminatore è stato ricevuto. |
IsReceptionDoneByTimeOut |
Si usa per accertare la fine della ricezione tramite time-out, p. es. in caso di dati binari senza carattere terminatore. NOTA MCU: Il timeout di ricezione deve essere impostato nel registro di sistema della porta di comunicazione. |
sys_bIsComPort1ReceptionDone sys_bIsComPort2ReceptionDone sys_bIsToolPortReceptionDone (solo CPU) |
Queste variabili di sistema passano a TRUE se il carattere terminatore è stato ricevuto. |
Flag di ingresso (X) dell'unità MCU X0 e X2 (solo MCU) |
Questi flag possono essere utilizzati per verificare la fine della ricezione con una Multi-Communication Unit. |
Valutazione diretta del buffer di ricezione. |
Elaborazione di dati nel buffer di ricezione
Usare una delle seguenti istruzioni:Istruzione |
Commento |
ReceiveData |
Copia automaticamente i dati ricevuti dalla CPU o dalla Multi-Communication Unit nella variabile specificata. |
ReceiveCharacters |
Copia automaticamente i caratteri ricevuti dalla CPU o dalla Multi-Communication Unit in una variabile di stringa. |
F10_BKMV |
Trasferisce dati dal buffer di ricezione ad un'area target. Non occorre con ReceiveData o ReceiveCharacters. |
F161_MRCV |
Copia i dati ricevuti da una Multi-Communication Unit nel buffer di ricezione della CPU. Non richiesto con ReceiveData o ReceiveCharacters. |
Preparare la CPU o la MCU alla ricezione dei dati successivi
Usare una delle seguenti istruzioni:
Istruzione |
Commento |
ClearReceiveBuffer |
Il buffer di ricezione viene resettato automaticamente quando si inviano i dati successivi. Per resettare il buffer di ricezione senza inviare dati usare una di queste istruzioni. |
SendData |