luca_flux Inserito: 24 dicembre Segnala Inserito: 24 dicembre Ciao a tutti, ho un impianto civile basato su NET HomePLC, installato 10 anni fa, che oggi funziona regolarmente come impianto tradizionale (luci e dimmer operativi, nessuna automazione attiva). L’impianto è stato realizzato con componenti NET Building Automation (HomePLC, moduli I/O, dimmer) ed è presente anche un ETM3 (Ethernet / RS485 Converter). So che l'azienda non è più operativa, e che la gamma oggi è riconducibile a CLE Building Automation; l’impianto esistente è però stabile e non intendo modificarlo. La configurazione PLC e la parte impiantistica restano in carico all’elettricista. Il mio obiettivo è esclusivamente sperimentale e non invasivo, in particolare: inviare comandi ON/OFF e livelli dimmer leggere lo stato delle uscite sviluppare una UI e integrazioni software esterne Non mi interessa riprogrammare il PLC né alterare la logica esistente. Mi interessa capire se è previsto un accesso “supportato” ai comandi, anche solo a livello di protocollo. Il software di integrazione lo sviluppo autonomamente. Le mie domande: L’ETM3 espone Modbus TCP standard su Ethernet o utilizza solo protocolli proprietari? È possibile leggere/scrivere I/O dall’esterno senza modificare la configurazione del PLC? Qual è il modo corretto/previsto per interfacciarsi a un HomePLC da server? In alternativa, è prassi affiancare un gateway Modbus TCP esterno per questo tipo di integrazioni su impianti "legacy"? Grazie a chi può condividere esperienze o indicazioni tecniche, e buone feste!
luca_flux Inserita: 1 ora fa Autore Segnala Inserita: 1 ora fa Aggiornamento: dato che in questi giorni sono in ferie e avevo del tempo libero, mi sono dedicato a fare un po’ di reverse engineering sul mio impianto, cercando anche di evitare di disturbare l’elettricista durante le festività. Sono riuscito a realizzare un’integrazione con Home Assistant in modo completamente non invasivo. Leggendo altri post su questo forum (in particolare il thread Revisionare mio impianto) e facendo diversi test pratici, ecco cosa ho scoperto: Protocollo ETM3 L’ETM3 non espone Modbus TCP standard, ma Modbus RTU incapsulato su UDP (porta 5600). Non si possono usare quindi librerie TCP, è stato necessario sviluppare un client che parla in maniera "raw" via UDP. Accesso I/O – osservazioni pratiche La lettura dello stato funziona in modo affidabile tramite holding registers, nel mio caso: registro 200 per le uscite del master EPLC2U registro 201 per il modulo slave EMXY16 Invio comandi: nei miei test i registri risultano read-only, a differenza di quando indicato da forzalaquila e ilgio80 nel thread sopra citato. L’unico metodo funzionante è l’uso dei coil con logica rising edge: scrittura ON => attesa ~100 ms => OFF. In pratica riesco a generare un evento, non a forzare uno stato. Comportamento EMXY16 I coil del master rispondono immediatamente. I coil associati allo slave EMXY16 invece rispondono in modo intermittente (circa 20% dei casi). Ho risolto momentaneamente implementando una logica di retry: lettura stato iniziale invio impulso attesa ~200 ms rilettura stato retry se lo stato non cambia Con questa strategia arrivo a 100% di affidabilità in pochi tentativi (4/5 in media) Perché succede? Non ho una risposta. È possibile che il ladder del master sovrascriva eventi troppo rapidi o che ci siano timing interni sul bus? Potrebbe anche dipendere dalla configurazione specifica dell’impianto... Soluzione finale Ho sviluppato un bridge MQTT che: effettua polling dello stato riceve comandi da Home Assistant gestisce automaticamente i retry supporta MQTT Auto Discovery (così non devo aggiungere manualmente le entità ad Home Assistant) Architettura: Home Assistant <==> MQTT <==> Worker <==> Modbus RTU/UDP <==> ETM3 <==> PLC Il tutto è completamente disaccoppiato e containerizzato, gira su un NUC affianco a Home Assistant, senza modifiche all’impianto esistente. Per ora mi fermo qui, nei prossimi giorni continuerò con qualche test aggiuntivo e dopo le feste mi confronterò con l’elettricista che ha realizzato l’impianto. Buon fine anno a tutti!
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora