Refresco parcial de E/S
Refresca las entradas o las salidas especificadas por los valores d1_Start (dirección de inicio) y d2_End (palabra final) inmediatamente después de que la entrada de trigger EN pase a TRUE incluso durante la ejecución del programa.
Entrada
palabra inicial a refrescar
palabra final a refrescar
Ulizando esta instrucción, se pueden actualizar las entradas o las salidas sin el retardo producido por el ciclo scan.
Se debe de especificar el mismo tipo de operando para d1_Start y d2_End.
FP2, FP2SH, FP3 /5 /10 /10SH (PLCs with rack)
Especificar 0 £d1_Start£d2_End£127 en la palabra de dirección. Si solo se va a actualizar WX10 (ó WY10) según la configuración de las direcciones de E/S, especificar d1_Start y d2_End como se indica a continuación: d1_Start = 10 y d2_End = 10.
Especificar la misma dirección en d1_Start y d2_End para actualizar una sola palabra.
La instrucción de actualización de E/S parcial solo se ejecuta para los módulos de entrada salida del rack maestro o del rack de expansión. No se ejecuta para los módulos de E/S de las estaciones esclavas de un Sistema de E/S distribuido.
FP-S, FP0 (PLCs without rack)
La instrucción F143_IORF refresca las entradas y las salidas especificadas por d1_Start (dirección de inicio) y d2_End (dirección final) inmediatamente después de que la condición de ejecución pase a ON incluso durante la ejecución del programa.
Con el FP0 y el FP-S, el refresco realizado por el comando IORF solo se realiza para la unidad de control.
Si d1_Start y d2_End son variables y no constantes, el compilador accede automáticamente a los valores de las variables a través del registro índice.
Se debe de especificar el mismo tipo de operando para d1_Start y d2_End.
Para el refresco de las entradas, especificar WX0 en d1_Start y d2_End.
Para el refresco de las salidas, especificar WY0 en d1_Start y d2_End.
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
start: BOOL:=FALSE;
(*activates the funtion*)
FirstRefreshAddr: INT:=10;
LastRefreshAddr: INT:=10;
END_VAR
Cuando la variable start pasa de FALSE a TRUE, se ejecuta la función.
Para refrescar WX10 y WY10 según la configuración del mapa de E/S del maestro, especificar d1 = 10 y d2 = 10.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_CONTACT,,start,5,1,7,3,);
B(B_F,F143_IORF!,Instance,9,0,16,5,,?DEN?Dd1_Start?Dd2_End?AENO);
B(B_VARIN,,FirstRefreshAddr,7,2,9,4,);
B(B_VARIN,,LastRefreshAddr,7,3,9,5,);
L(1,2,5,2);
L(1,0,1,5);
L(7,2,9,2);
END_NETWORK_BODY
END_NET_WORK
END_BODY
(* PLCs with backplanes FP-C/FP2/FP2SH/FP3/FP10SH *)
IF start then
(* Updates the input/output of word no. 0 to 1 *)
F143_IORF( 0, 1);
END_IF;
(* PLCs without backplanes FP0, FP-Sigma *)
IF start then
(* Updates the input/output of word no. 0 to 1 *)
F143_IORF(WX0, WX1);
F143_IORF(WY0, WY1);
END_IF;