Nei ns sistemi come in tutti i PLC gli I/O sono gestiti in immagine di processo (Vedi articolo), quindi il sistema operativo riconosce i moduli presenti e provvede a gestire gli I/O mappandoli in datablock di memoria. Gli ingressi saranno indirizzabili con %IXaaa.bb e le uscite con QXaaa.bb dove
- aaa: Indica l’indirizzo del modulo da 0 a 15 (255 per il modulo CPU).
- bb: Indica l’I/O sul modulo.
Quindi il modo corretto è definire il nome dell’I/O mappandolo correttamente cone %IX o %QX. Esempio
- Start AT %IX0.1 : BOOL; (* Di 01 Module 0 *)
- Stop AT %IX0.2 : BOOL; (* Di 02 Module 0 *)
- Motor AT %QX255.0: BOOL; (* Do 00 CPU module *)
Esistono dei FB che permettono di gestire direttamente gli I/O sui moduli SysGetPhrDI e SysSetPhrDO, utilizzando questi FB lo stato dell’ingresso viene acquisito immediatamente e l’uscita viene settata immediatamente. Questi FB si utilizzano in casi particolari, quando ad esempio occorre acquisire velocemente un ingresso o gestire velocemente un’uscita eseguendone la gestione in task Fast che può essere eseguita ogni 1mS o anche più velocemente.
Il FB CPUModuleIO è un vecchissimo FB il cui uso è ormai deprecato da tempo.