IsReceptionDone

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.

Parametri

Ingresso

Port (WORD, INT, UINT)

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

IsDone (BOOL)

Impostato su TRUE se il carattere terminatore è stato ricevuto. Il carattere terminatore è specificato nel registro di sistema corrispondente, nelle impostazioni della porta COM.

Note

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.

Esempio

Intestazione del POU

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

Corpo LD

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

Corpo ST

bIsDone:=IsReceptionDone(Port := iPort);

L'ultima revisione: 2022-04-19Feedback su questa paginaPanasonic hotline