Reset del buffer de recepción
Esta instrucción borra el buffer de recepción del puerto especificado en Port.
Entrada
Especificar los puertos de comunicación (dependiendo del tipo de PLC):
Puerto COM, por ejemplo SYS_COM0_PORT
Puerto Ethernet, por ejemplo SYS_ETHERNET_USER_CONNECTION_1
MCU/SCU por ejemplo 16#xx01 (xx = número de slot) en COM01
El buffer de recepción se resetea automáticamente cuando se ejecuta una instrucción de envío. Para resetear el buffer de recepción sin enviar más datos, ejecutar esta siguiente instrucción. También se puede utilizar la instrucción F159_MTRN con n_Number = 0. Cuando se resetea el buffer de recepción se pone a 0 el número de bytes recibidos en offset 0 y el puntero de escritura pasa a offset 1. Los siguientes datos se almacenan a partir de offset 1 sobrescribiendo los datos existentes. La bandera de "recepción completa" pasa a FALSE.
si no existe el puerto de comunicación especificado en Port.
si no existe el puerto de comunicación especificado en Port.
Todas las variables de entrada y de salida utilizadas para la programación de esta función han sido declaradas en la Cabecera de la POU. Se utiliza la misma cabecera de la POU para todos los lenguajes de programación.
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;