Aggiornamento I/O parziale
Aggiorna gli ingressi o le uscite specificati dal valore di d1_Start (indirizzo word iniziale) e dal valore di d2_End (indirizzo word finale) non appena il trigger EN è in stato TRUE, anche in fase di esecuzione del programma.
Ingresso
indirizzo word iniziale
indirizzo word finale
Utilizzando questa istruzione è possibile aggiornare gli ingressi o le uscite senza lo scarto temporale causato dalla scansione.
Lo stesso tipo di operando deve essere specificato per d1_Start e d2_End.
FP2, FP2SH, FP3 /5 /10 /10SH (PLCs with backplanes)
Specificate l'indirizzo word in modo che 0 £d1_Start£d2_End£127. Se soltanto WX10 (o WY10) deve essere aggiornato sulla base della configurazione dell'indirizzo di I/O, d1_Start e d2_End verranno impostati come segue: d1_Start = 10 e d2_End = 10.
Impostate lo stesso indirizzo word in d1_Start e d2_End per aggiornare solo 1 word.
L'istruzione di aggiornamento I/O parziale viene eseguita solo per le unità I/O sulla backplane master o sulla backplane di espansione. Non viene eseguita per l'unità I/O nella stazione slave del sistema di I/O remoti.
FP-S, FP0 (PLCs without backplanes)
L'istruzione F143_IORF aggiorna gli ingressi e le uscite specificati da d1_Start (indirizzo word iniziale) e da d2_End (indirizzo word finale) immediatamente dopo che il trigger passa a TRUE, anche in fase di esecuzione del programma.
Con l'FP0 e l'FP-S, l'aggiornamento iniziato dal comando IORF viene eseguito solo per la CPU.
Se d1_Start e d2_End sono variabili e non costanti, il compilatore accede automaticamente ai valori delle variabili tramite il registro indice.
Lo stesso tipo di operando deve essere specificato per d1_Start e d2_End.
All'aggiornamento dell'ingresso, dovrebbe essere specificato WX0 per d1_Start e d2_End.
All'aggiornamento dell'uscita, dovrebbe essere specificato WY0 per d1_Start e d2_End.
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
start: BOOL:=FALSE;
(*activates the funtion*)
FirstRefreshAddr: INT:=10;
LastRefreshAddr: INT:=10;
END_VAR
Quando la variabile start passa da FALSE a TRUE, la funzione viene eseguita.
Per aggiornare WX10 e WY10 sulla base della configurazione della mappa I/O master, impostate d1 = 10 e 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;