Devo gestire con un pannello alcuni carrelli, questi carrelli montano una scheda di controllo proprietaria di una azienda che non sono riuscito a rintracciare. Le specifiche che ho mi dicono che la scheda si connette ad una rete Wifi predefinita e ascolta su MODBUS UDP.
– Settando i bit di un determinato registro posso accendere e spegnere alcune luci,
– Scrivendo un valore diverso da zero in un secondo registro il carrello si blocca,
– Scrivendo un valore in un terzo registro il carrello si blocca se non riceve un comando qualsiasi entro x ms
– Leggendo da un quarto registro ho lo stato di carica della batteria.
La scrittura dei registri può avvenire mandando un pacchetto direttamente all’IP assegnato oppure mandando un pacchetto all’indirizzo broadcast della rete.
Nel pannello devo, per ogni carrello, poter gestire le luci, il blocco e leggere il livello batteria. Fin qui nessun problema. Devo poi avere un tasto a video che blocca immediatamente tutti i carrelli.
La mia idea era di definire un PLC per ogni carrello e poi un PLC settato sull’indirizzo IP broadcast della rete. Quando attivo il comando di blocco generale, una macro scrive in loop su questo ultimo PLC fino alla disattivazione del comando.
Il mio dubbio è che in questo ultimo caso il pannello mostri l’errore “PLC No Response” visto che non riceverebbe mai l’ACK del comando di scrittura.