Resetta il buffer di ricezione
Questa istruzione cancella il buffer di ricezione nella porta di comunicazione specificata da 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
Il buffer di ricezione viene resettato automaticamente quando si a inviano viene eseguita l'istruzione. Si può resettare il buffer di ricezione anche senza inviare dati eseguendo questa istruzione. In alternativa, potete anche utilizzare F159_MTRN con n_Number = 0. Quando il buffer di ricezione viene resettato, il numero di byte ricevuti viene messo su zero in offset 0 e il puntatore viene rimesso su offset 1. I dati successivi saranno salvati partendo da offset 1 e sovrascrivendo i dati esistenti. Il flag "ricezione conclusa" passa a FALSE.
se la porta di comunicazione specificata da Port non esiste.
se la porta di comunicazione specificata da Port non esiste.
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
bClearReceiveBuffer: 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 := 4 ;
NETWORK_BODY
B(B_CONTACT,,bClearReceiveBuffer,5,1,7,3,R);
B(B_F,E_ClearReceiveBuffer!,,11,0,21,4,,?DEN?DPort?AENO);
B(B_VARIN,,1,9,2,11,4,);
L(1,2,5,2);
L(7,2,11,2);
L(1,0,1,4);
END_NETWORK_BODY
END_NET_WORK
END_BODY
if (DF(bClearReceiveBuffer)) then
ClearReceiveBuffer(1);
end_if;