Sicuramente il blocco funzione di acquisizione analogica richiede un certo tempo di esecuzione, visto che fà un accesso al bus SlimLine per dialogare con il modulo di acquisizione, presumo che il tempo richiesto dalla FB sia circa 200-300 uSec. Da questo si evince che se le acquisizioni sono molte il tempo di loop ne risente, per 10 acquisizioni occorrono circa 3 mSec.
Considerando che comunque il valore acquisito cambia solo al termine della acquisizione reale effettuata dal convertitore A/D presente sul modulo di acquisizione. Nel caso migliore (Acquisizione in volt o in corrente) un modulo PCB122, esegue una acquisizione ogni 10 mSec, mentre un modulo PCB126 esegue una acquisizione ogni 15 mSec. Quindi è inutile leggere il valore acquisito tutti i loop di programma su tutti i canali, rallentando l’esecuzione.
Ho realizzato un semplice programma in linguaggio ST che esegue l’acquisizione di più canali sequenziando i canali in modo da avere una sola acquisizione a loop di programma, stampa e download programma.