Visto l’interesse di molti clienti di poter gestire gli I/O di un sistema SlimLine da pagina web, ho realizzato un semplice script PHP che permette di leggere e scrivere gli I/O logici del modulo CPU. Lo script può essere facilmente modificato per gestire un maggior numero di I/O logici e/o gestire I/O analogici (Vedi screenshot).
Un programma ladder in LogicLab trasferisce lo stato dei due ingressi del modulo CPU su una word di memoria MW100.16, e trasferisce il valore di una word di memoria MW100.18 sulle due uscite logiche del modulo CPU.
Lo script PHP su pressione del tasto Read da pagina web, tramite il comando modbus 0x03 Read holding registers esegue la lettura della word MW100.16 (Registro 40008) e visualizza lo stato dei due ingressi. Su pressione del tasto Write da pagina web tramite il comando modbus 0x06 Preset single register esegue la scrittura dello stato delle due uscite logiche nella word MW100.18 (Registro 40009).
Il “cuore” dello script sono le due funzioni ModbusRead($File, $Node, $Register) e ModbusWrite($File, $Node, $Register, $Data) che permettono di leggere e scrivere registri sullo SlimLine. Queste funzioni possono essere utilizzate per crearsi un proprio script (Download programma LogicLab e script PHP).