Riccardo Lucatuorto
Risposte nei forum create
-
AutorePost
-
Riccardo Lucatuorto
PartecipanteSe posso aggiungermi l’unica cosa che ha senso fare se si hanno più SlimLine è un sistema che stabilisca chi è il sistema master in modo automatico, puó aiutare in caso di guasto di una CPU.
Per esempio in casa ne ho 4 ognuno che controlla una parte diversa di casa, se uno si guasta viene rieletto il master e comunque tutto il resto funziona eccetto le cose collegate direttamente alla CPU guasta, in questo modo se si guastasse la CPU che controlla con l’unità di estensione il sistema principale, posso prendere una CPU funzionante qualunque e sostituirla e far andare avanti comunque le cose principali.
Riccardo Lucatuorto
PartecipanteGrazie per la risposta, esattamente, anche se l’idea non era usare un PLC, ma avere un rack di raspberry Pi (da 3 a 4) con istallato software tipo consul.io che con usa semplice API HTTP permette di fare la leader election (questo perché il software che sto facendo con interfaccia e logiche di controllo gira comunque su raspberry)
https://www.consul.io/docs/guides/leader-election.html
In questo modo posso gestire tutte le logiche di failsafe in caso di mancanza del master od avere comunque l’impianto funzionante anche se non completamente in caso di guasto di uno dei PLC al piano.
Riccardo Lucatuorto
PartecipanteForse mi sono spiegato male, la leader election la vorrei fare dinamicamente magari appoggiandosi su un sistema esterno con funzione di observer che assegna il ruolo di master al primo che la richiede, gli altri trovando il ruolo già assegnato si configurano come slave.
Successivamente con il sistema in esecuzione non rimane altro che controllare se il master esiste ancora ed eventualmente ricominciare l’elezione dall’inizio se il master è andato in errore.
Riccardo Lucatuorto
PartecipanteIn generale i vari PLC non comunicheranno tra di loro, sarà il sistema centrale (probabilmente un raspberry) ad inviare i messaggi su MQTT con i circuiti da aprire, sul PLC voglio tenere meno logica possibile, giusto quella per la sicurezza tipo non accendo la pompa se non ho almeno un circuito aperto.
Inoltre avevo intenzione di far pubblicare ad ogni PLC un messaggio circa ogni minuto con lo stato, in modo da verificare se ci sono problemi e se tutto sta andando come previsto. Inoltre su uno dovrò leggere escrivere due slave Modbus, ed inviare al sistema centrale i dati letti.
Riccardo Lucatuorto
PartecipanteGrazie per la risposta, quindi con i blocchi JSONEncode e JSONDecode posso preparare i messaggi da inviare via MQTT che quelli in ingresso.
In generale sono abbastanza orientato su MQTT perchè è un paradigma che conosco e che uso già in altre parti, in più non devo preoccuparmi quando invio un messaggio di avere un canale aperto con il PLC, concettualmente mi pare più semplice sia come gestione che come configurazione.
-
AutorePost