Si utilizzano vartiabili di IN_OUT quando il FB deve agire sul valore della variabile, le utilizzi esattamente come le variabili di ingresso e di uscita.
Se dichiari ad esempio la variabile IOVar di tipo VAR_IN_OUT, questa variabile sarà accessibile sia come ingresso al FB che come uscita.
DB_MY_FUNC.IOVar:=0; //Assegno un valore alla variabile di ingresso
DB_MY_FUNC(); //Eseguo il blocco funzione
Var:=DB_MY_FUNC.IOVar; //Trasferisco valore della variabile di uscita
Personalmente non utilizzo mai variabili di IN_OUT, quando il FB o la funzione devono agire sul valore di una variabile preferisco passare in ingresso su una variabile IN l’indirizzo della variabile e all’interno della funzione o del FB utilizzo il puntatore alla variabile.