Recepción de datos en la CPU o en el puerto de la MCU
Esta instrucción copia los datos recibidos en el puerto especificado por Port en la variable asignada a aBuffer.
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
Salida
Almacena los datos recibidos
si no existe ningún módulo MCU en el n° de slot especificado en Port.
si no existe ningún módulo MCU en el n° de slot 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
bReadReceiveData: BOOL:=FALSE;
aiReceiveBuffer: ARRAY [0..10] OF INT:=[11(0)];
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,E_ReceiveData!,,12,1,21,5,,?DEN?DPort?AENO?CReceiveData);
B(B_CONTACT,,bReadReceiveData,7,2,9,4,);
B(B_VARIN,,1,10,3,12,5,);
B(B_VAROUT,,aiReceiveBuffer,21,3,23,5,);
L(1,3,7,3);
L(9,3,12,3);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
if (bReadReceiveData) then
aiReceiveBuffer:=ReceiveData(1);
end_if;