Valuta il flag "ricezione conclusa"
Questa funzione restituisce il valore del flag "ricezione conclusa". Il flag è TRUE se il carattere terminatore è stato ricevuto sulla porta di comunicazione allocata in Port.
Ingresso
Specifica le porte di comunicazione (in base al tipo di PLC):
Porta COM p.es. SYS_COM0_PORT
Porta Ethernet p.es. SYS_ETHERNET_USER_CONNECTION_1
MCU/SCU p.es. 16#xx01 (xx = numero slot) in COM01
Uscita
Impostato su TRUE se il carattere terminatore è stato ricevuto. Il carattere terminatore è specificato nel registro di sistema corrispondente, nelle impostazioni della porta COM.
Valutazione del flag "ricezione conclusa"
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. Questa funzione può essere utilizzata per FP7 o MCU anche per la modalità timeout. Il flag "ricezione conclusa" può essere valutato con una delle seguenti istruzioni o variabili di sistema:
IsReceptionDone
IsReceptionDoneByTimeOut
sys_bIsComPort1ReceptionDone, sys_bIsComPort2ReceptionDone, sys_bIsToolPortReceptionDone (in base alla porta)
La conclusione della ricezione può essere determinata anche controllando i contenuti del buffer di ricezione. Lo Numero del byte ricevuti può cambiare durante lo svolgimento di uno scan. For example, if the number of received bytes is read more than once different statuses may exist within one scan.
Tutte le variabili di ingresso e uscita utilizzate per programmare questa funzione sono state dichiarate nell'intestazione del POU. La stessa intestazione del POU è utilizzata per tutti i linguaggi di programmazione.
VAR
iPort: INT:=0;
bIsDone: BOOL:=FALSE;
END_VAR
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_F,IsReceptionDone!,,5,0,14,3,,?DPort?CIsDone);
B(B_VARIN,,iPort,3,1,5,3,);
B(B_VAROUT,,bIsDone,14,1,16,3,);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
bIsDone:=IsReceptionDone(Port := iPort);