Vai al contenuto
PLC Forum


HomePLC.Linux, situazione 2017


lnx

Messaggi consigliati

Salve,

come suggertio da Maurizio (con il quale mi scuso) apro un nuova discussione in riferimento a questa.

 

Non sono un elettricista ma un programmatore, ho esperienza con OpenHAB, HomeAssistant, Raspberry, NodeJS, Android, ecc... e per questo la soluzione .Linux mi attirerebbe non poco, nonostante il basso livello del .Ladder offra sicuramente una "solidità" superiore.
 
@Smoothhands
Ho visto il video sul tuo canale Youtube "mono-video", adesso hai un Like in più... :P
Mi sembra di aver capito che hai dovuto modificare OpenHAB per farlo girare correttamente sull'HomePLC ma non ho capito se l'hai resa pubblica o meno...
Ad ogni modo... Com'è la situazione generale sul fronte HomePLC.Linux a distanza di due anni?
 
Grazie mille.

Link al commento
Condividi su altri siti


  • Risposte 56
  • Created
  • Ultima risposta

Top Posters In This Topic

  • lnx

    27

  • smoothhands

    16

  • del_user_56966

    12

  • flavio.dallara

    1

Ciao Aleandro, grazie mille per la tua risposta.

 

In realtà mi riferivo a quanto detto da Smoothhands 2 anni fa, su librerie e dedizione in generale:

On 9/5/2017 at 8:26 PM, smoothhands said:

Purtroppo, essendo la versione Ladder di gran lunga più venduta, i fondi vengono
prima destinati agli aggiornamenti e al supporto per la versione Ladder che quindi
supporterà sempre gli ultimi firmware disponibili.
Generalmente firmware dell'HomePLC e firmware dei master vanno proprio a braccetto.
La versione Linux supporta la maggior parte dei devices disponibili tranne magari proprio
gli ultimi usciti ed è disponibile una lista con i devices supportati e i firmware consigliati (che
non potranno essere i più recenti).
Quelli da te indicati li supporta tutti: magari non gli ultimi ragnetti con misura della pressione.
Se ci fosse maggiore richiesta di tale processore sicuramente verrebbero destinati più
risorse anche a questo gioiellino.
Viene fornito con librerie (comprese di sorgenti) scritte in c che contengono le funzioni
di interfacciamento verso il processore domotico.
Una per linguaggio di alto livello supportato: c, php, java...
Queste funzioni permettono di accedere ai registri gestiti dal processore domotico e
quindi a tutta la serie di valori resi disponibili dalle sonde e devices vari.
Essendo destinato a chi intende realizzarsi da se il proprio sistema domotico non sono
contemplate librerie domotiche come quelle in ladder per logiche passo-passo, tapparelle
e tutte le funzioni classiche del ladder che inevitabilmente dovranno essere realizzate
con i linguaggi di alto livello.
I moduli generalmente escono di fabbrica con i firmware più recenti e quindi è molto
probabile che tu debba riflashargli il firmware consigliato.
Mi pare che per i ragnetti sia valido proprio l'ultimo disponibile.

 

Oltre a questo avrei anche alcuni dubbi.

Non so ancora se userò OpenHAB (onestamente non è che proprio lo adori, ma sono gusti) e vorrei capire quali strade alternative è possibile percorrere...

 

1. Non sono riuscito a capirlo da nessuna parte... ma la distribuzione linux utilizzata qual'è? Qualcosa Debian-based?

 

2. Da quanto ho capito con HomePLC.Ladder + Master Web si riescono a fare le medesime cose che permette l'HomePLC.Linux, giusto?

Per capire... il modulo Master Web è solo web o posso installare pacchetti ed interfacciarmi in qualsiasi modo? (il protocollo HTTP non credo che sia il massimo per l'IoT)

Ho letto che è possibile utilizzare linguaggi quali C++, PHP e Java per accedere come meglio si vuole ai registri... Ma volendo usare ad esempio NodeJS + MQTT? Non mi sembra di aver trovato pacchetti npm dedicati, devo usare il pacchetto modbus?

 

3. Il livello 1 di supervisione è esclusivamente dedicato alla programmazione LadderHome e la diagnostica ABS, giusto?

 

Scusate le mille perplessità...

Vedo che c'è un corso in settimana prossima, farò le acrobazie per esserci ma temo di non poter andare... :wallbash:

Grazie a tutti per la disponibilità.

Link al commento
Condividi su altri siti

Ciao di nuovo Aleandro,

ho trovato anche queste interessante discussioni (qui e qui) in cui parli di supervisione.

Purtroppo sono tutte discussioni vecchie e i vari link che hai postato a suo tempo oggi portano tutti ad un 404... :(

 

Ad ogni modo, la mia intenzione sarebbe quella di controllare il sistema HomePLC (accendere, spengere, controllare stati e ricevere cambiamenti di stato) tramite applicazioni open source di alto livello (come NodeJS e Android, comunicando con protocollo MQTT o ModBus?), magari affiancando un Raspberry...

 

Forse quindi più che il Master Web mi servirebbe l'EMT4? Oppure sono solo due modi diversi per ottenere la medesima funzionalità?

 

Leggo anche:

 

On 2/7/2011 at 5:56 PM, Aleandro2008 said:

Si puoi collegarti sulla porta principale da questa si può fare indifferentemente Supervisione, configurazione, programmazione e diagnostica!

ma se i dati da gestire sono solo una parte si potrebbe avere anche un HMI o altro direttamente sul Bus HomePLC certo dal punto di risorse

disponibili è una soluzione più limitata è non supporta gli eventi se non tramite l'area eventi in abbinamento al Block Move!

 

Da Web Server lo fa comunque tramite la normale LAN, il fatto che tu ti connetta tramite WI-FI o altro è solo un tipo di connessione alternativo...

connetti il tutto cosi!

ROUTER --> ETM3 --> HomePLC

 

Mi spiegheresti per cortesia la differenza tra l'interfacciamento tramite ETM4 e tramite Livello 1?

 

Anche quanto dice @mbsk sembra molto interessante!

 

On 2/9/2012 at 5:21 PM, mbsk said:

Devi inviare il pacchetto via socket sull'IP dell'ETM3 e sulla porta 5600 in UDP.

quando l'HomePLC risponde al pacchetto, ti si scatena un evento socket DataArrival :thumb_yello:

Si, invi gli stessi pacchetti!

Perlomeno io con VB6 ho fatto così! :)

quelli della NET lo definiscono "Modbus OverIP" ( MoIP ?? :rolleyes: )

 

Sarebbe possibile avere due righe di codice di esempio (VB6 o altro) per capire come fate a sostituirvi all'XCOMM? :P

 

Grazie ancora per ogni consiglio, è un mondo interessantissimo... e complimenti! :thumb_yello:

Link al commento
Condividi su altri siti

Sulla parte Linux ad oggi non saprei più darti consigli...

per quel che so ci sono aziende (prevalentemente spinoff universitarie) che lo utilizzano con successo,

ma sono sempre più convinto che questi sono prodotti richiedono appunto quel livello di preparazione...

e effettivamente HomePLC Linux  è un approccio nato per aziende di sviluppo e non per l'uso generico come nel caso del Ladder...

 

Link al commento
Condividi su altri siti

Ciao Aleandro,

grazie mille per la tua risposta...

 

Ma invece per quanto riguarda il mondo Ladder, sulla parte Master Web e/o EMT4 che mi sai dire?

Lo so, lo so... ho fatto una sacco di domande... :worthy::P

Link al commento
Condividi su altri siti

Cosa intendi?

Gli ETM4 sono delle interfacce di rete LAN/RS485 nulla di più,

il Master WEB è un applicazione di espansione di HomePLC (praticamente è un sistema operativo Linux connesso direttamente al Bus HomePLC)

che la dove possa servire permette di estendere le attività del sistema...

sinceramente oggi salvo che non ti devi inventare qualcosa di veramente particolare... quello che è previsto dalle leggi e dalle norme in fatto di classificazione degli impianti è più che idoneo HomePLC Ladder dato che sfrutta totalmente il Bus RealTime e il TBM

sia per semplicità d'uso che per velocità implementativa...

dove per semplicità non intendo il fatto che chiunque può utilizzarlo al 100% ...che in un mercato come quello BACS oltre che una bugia sarebbe pura fantasia...  

ma semmai che rende più semplice la vita ai tecnici preparati che conoscono il sistema... 

 

Link al commento
Condividi su altri siti

Ciao Aleandro, grazie ancora...

Vorrei solo chiarirmi le idee prima di progettare ed acquistare...


Ho posto alcune domande abbastanza specifiche nei due post precedenti, quotando anche vecchie discussioni in cui davi dettagli interessanti al riguardo.

 

Ricapitolando:

1. Avere un Master Web oppure un EMT4 con collegato un Raspberry, è equivalente? Cioè... ci faccio le stesse cose? Oppure con il Master Web è più facile interagire con i registri? Come?

2. Non ho capito bene la differenza fra l'interfacciamento tramite Master Web (o EMT4) e tramite Livello 1 (il livello di supervisione)

3. Sarebbe possibile vedere un paio di righe di codice (VB6 o altro) per capire cosa inviare sulla porta 5600 dell'EMT4? Se non erro, è necessario simulare comandi XCOMM oppure usare ModBus, giusto?

4. È possibile mettersi in ascolto su un registro ed essere così notificati dell'eventuale cambiamento? (tipo listener onChange(), ad esempio il contatto magnetico di una finestra)

 

Se non hai molto tempo per scendere nei dettagli, capisco perfettamente, attenderò... :thumb_yello:

Grazie ancora.

Link al commento
Condividi su altri siti

Quote

1. Avere un Master Web oppure un EMT4 con collegato un Raspberry, è equivalente? Cioè... ci faccio le stesse cose? Oppure con il Master Web è più facile interagire con i registri? Come?

 

Per interfacciarti con dispositivi come Raspberry basta un adattatore seriale, ma con un ETM4 e semplice... (il facile si intende sempre per chi lo sa fare! :P)

 

Quote

2. Non ho capito bene la differenza fra l'interfacciamento tramite Master Web (o EMT4) e tramite Livello 1 (il livello di supervisione)

 

il Master Web è un sistema Linux che scambia informazioni tramite il Bus non serve per realizzare la supervisione... per quella può bastare un piccolo embedded come quello da te accennato o prodotti similari... che infatti io utilizzo con grande soddisfazione! :thumb_yello:

 

Quote

3. Sarebbe possibile vedere un paio di righe di codice (VB6 o altro) per capire cosa inviare sulla porta 5600 dell'EMT4? Se non erro, è necessario simulare comandi XCOMM oppure usare ModBus, giusto?

 

Se devi accedere con sistemi diversi da quelli di corredo... si utilizza il Modbus RTU ma con un paio di righe non te la cavi...

 

Quote

4. È possibile mettersi in ascolto su un registro ed essere così notificati dell'eventuale cambiamento? (tipo listener onChange(), ad esempio il contatto magnetico di una finestra)

 

sul Modbus RTU no, per il semplice motivo che per quanto semplice e standard è un protocollo non adatto per queste applicazioni... infatti penso che serva solo per garantire una piena compatibilità col resto del mondo... e non tanto per garantire particolari perfomace..

 

Link al commento
Condividi su altri siti

Ciao Aleandro, grazie ancora per il tuo intervento... adoro quando rispondi domanda per domanda :lol:

 

1 hour ago, Aleandro2008 said:

Per interfacciarti con dispositivi come Raspberry basta un adattatore seriale, ma con un ETM4 e semplice... (il facile si intende sempre per chi lo sa fare! :P)

 

Sono sistemista Linux, se dici che è "facile" credo e spero di essere in grado di farlo :P

Il fatto è che non ho mai preso in mano un ETM4, né un Master Web... e non riesco a trovare online niente che mi faccia capire bene come funzionano nel dettaglio.

Se tu fossi così gentile da illustrarmi due concetti in più, credo di potermi fare un'idea in completa autonomia... :thumb_yello:

 

1 hour ago, Aleandro2008 said:

il Master Web è un sistema Linux che scambia informazioni tramite il Bus non serve per realizzare la supervisione... per quella può bastare un piccolo embedded come quello da te accennato o prodotti similari... che infatti io utilizzo con grande soddisfazione! :thumb_yello:

 

Scusa la domanda scema... ma se il Master Web non serve a fare supervisione a cosa serve? :P

Te cosa usi di hardware a software a tal scopo, posso chiedere? Usi per caso l'EMT4 con un Raspberry anche te?

 

1 hour ago, Aleandro2008 said:

Se devi accedere con sistemi diversi da quelli di corredo... si utilizza il Modbus RTU ma con un paio di righe non te la cavi...

 

Certo, con "un paio di righe" non intendevo che fosse possibile comandare tutto... :lol:

La mia intenzione era solamente quella di vedere un qualche codice che inviasse e ricevesse pacchetti...

Ad esempio, posso usare questo con EMT4 e Raspberry?

 

1 hour ago, Aleandro2008 said:

sul Modbus RTU no, per il semplice motivo che per quanto semplice e standard è un protocollo non adatto per queste applicazioni... infatti penso che serva solo per garantire una piena compatibilità col resto del mondo... e non tanto per garantire particolari perfomace..

 

Ma quindi se con ModBus RTU non posso creare listener e ricevere quindi i cambi di stato in real time, cosa devo usare per ottenere una supervisione degna di tale nome? :wacko:

 

Grazie mille per la costante disponibilità, sei preziosissimo! :clap:

Link al commento
Condividi su altri siti

Quote

Sono sistemista Linux, se dici che è "facile" credo e spero di essere in grado di farlo :P

 

Di fatto questo ti abilita per la programmazione Linux, da questo per diventare un esperto di automazione c'è comunque del lavoro...

di fatto anche per il più esperto programmatore il non sapere esattamente cosa programmare purtroppo diventa bloccante..

 

Quote

Il fatto è che non ho mai preso in mano un ETM4, né un Master Web... e non riesco a trovare online niente che mi faccia capire bene come funzionano nel dettaglio.

 

Online non trovi nulla per il semplice motivo che i sistemi HomePLC al contrario della domotica da supermercato sono per professionisti

che si vogliono specializzare sulle soluzioni di Efficienza Energetica a norma Europea (previste dalla legge attuale) poi si può pensare anche per

applicazioni di Domotica generica... ma in pratica è un sistema BACS...

di gratuito online non trovi neppure le norme... figurati se trovi come programmarle..:P

 

Quote

Se tu fossi così gentile da illustrarmi due concetti in più, credo di potermi fare un'idea in completa autonomia... :thumb_yello:

 

Quote

Scusa la domanda scema... ma se il Master Web non serve a fare supervisione a cosa serve? :P

 

Per farti un esempio d'uso del Web Server, su questo puoi installare dei servizi di comunicazione come per esempio protocolli ecc..,

usarlo come supervisione classica tramite programmazione PHP, OpenHAB ecc.. in pratica è un embedded linux aperto quindi ci puoi installare molte applicazioni e programmarle in vari linguaggi..

Quote

 

Certo, con "un paio di righe" non intendevo che fosse possibile comandare tutto... :lol:

La mia intenzione era solamente quella di vedere un qualche codice che inviasse e ricevesse pacchetti...

Ad esempio, posso usare questo con EMT4 e Raspberry?

 

 

si essendo standard di fatto, quel codice si utilizza normalmente... 

 

Quote

Ma quindi se con ModBus RTU non posso creare listener e ricevere quindi i cambi di stato in real time, cosa devo usare per ottenere una supervisione degna di tale nome? :wacko:

 

qui scendi su un piano molto complesso, dovrei prima capire cosa intendi per supervisione degna di questo nome... perché ho paura che questo concetto non sia molto chiaro neppure agli addetti... 

 

Ps: per avere tutte le risposte che ti servono c'è una sola strada... diventare un utente HomePLC cosi da poter accedere ai siti di assistenza online e telefonica...

con qualche info qua e la su sistemi cosi evoluti duri molta fatica e non ottieni quello che cerchi...

Link al commento
Condividi su altri siti

Ciao lnx,

Quote

Com'è la situazione generale sul fronte HomePLC.Linux a distanza di due anni?

la situazione è rimasta tale... come ha già scritto Aleandro aggiornamenti di firmware e altro avvengono

esclusivamente su specifiche richieste.

 

Quote

ma la distribuzione linux utilizzata qual'è? Qualcosa Debian-based?

si... è qualcosa Debian-based ma ritagliato su misura.

 

Quote

con HomePLC.Ladder + Master Web si riescono a fare le medesime cose che permette l'HomePLC.Linux, giusto?

ni... il Master Web è lo stesso dispositivo dell'HomePLC.Linux con ma la differenza sta nel modo e nella quantità di registri

che puoi accedere. Nel primo caso la logica di controllo è scritta in Ladder sull'HomePLC e il MasterWeb, essendo sul

livello Master dell'architettura, può accedere solo in lettura ai registri principali. L'HomePLC.Linux invece è il controllore

principale e quindi ha accesso completo a tutti i registri di sistema e la logica risiede al suo interno.

 

Quote

il modulo Master Web è solo web o posso installare pacchetti ed interfacciarmi in qualsiasi modo? ...

Ho letto che è possibile utilizzare linguaggi quali C++, PHP e Java per accedere come meglio si vuole ai registri... Ma volendo usare ad esempio NodeJS + MQTT

la versione linux contenuta sul MasterWeb (ma anche sull'controller linux) non è modificabile facilmente: non è presente un gestore di pacchetti e dipendenze come

in una distribuzione completa. Quindi puoi usare i linguaggi che hai scritto anche tu ma nodeJS non può essere installato. Per quanto riguarda MQTT puoi realizzare

qualche componente nel linguaggio che preferisci che sfrutta tale protocollo.

 

Quote

Il livello 1 di supervisione è esclusivamente dedicato alla programmazione LadderHome e la diagnostica ABS, giusto?

per la versione ladder+masterweb si mentre per il controller linux la programmazione avviene col linguaggio da te scelto.

 

Link al commento
Condividi su altri siti

Quote

Il fatto è che non ho mai preso in mano un ETM4, né un Master Web... e non riesco a trovare online niente che mi faccia capire bene come funzionano nel dettaglio.

Allora... vediamo quantomeno di chiarire qualche differenza tra i due. 

L'ETM4 è un convertitore Ethernet-RS485 quindi e viene connesso, in questo caso, a livello 1 direttamente

all'HomePLC.Ladder. Agisce in maniera trasparente nel senso che, se scegli di utilizzare il protocollo Modbus RTU

lato HomePLC, puoi inviargli tali comandi "over" TCP/IP: il convertitore estrae il payload dal frame TCP e lo inoltra

pari pari verso la connessione RS485.

 

Il MasterWEB invece è un device linux con porta Ethernet e porta RS485. Si tratta di un dispositivo composto

da due processori differenti: un processore ARM che farà girare il sistema Linux e un processore domotico che

verrà riconosciuto dal sistema Linux tramite driver specifico. Il processore domotico si occupa di interfacciarsi

con il bus RS485 mediante protocollo XComm ed espone risorse (registri HomePLC) e API di basso livello verso

la macchina Linux.

 

Se vuoi utilizzare ModbusRTU over TCP e ETM4 sei vincolato alle specifiche del protocollo Modbus e

spetta a te il compito di prevedere, nel software che realizzi per un eventuale Raspberry, opportuni cicli

di lettura per mantenere aggiornato lo stato di alcune risorse.

 

Nel caso di MasterWEB puoi realizzare del software in C/C++, PHP, Python e Java che si interfaccia

alle istruzioni del processore domotico tramite librerie di alto livello appositamente scritte per semplificarti la vita

e non è necessario utilizzare un protocollo come il Modbus per accedere alle risorse.

 

In definitiva la differenza nell'utilizzo dei due dispositivi è nell'approccio con cui puoi accedere alle risorse

che vengono rese disponibili da HomePLC.

Link al commento
Condividi su altri siti

Grazie mille ragazzi, con il vostro preziosissimo aiuto sto finalmente iniziando ad orientarmi! :clap:

E grazie @smoothhands per essere intervenuto :thumb_yello:

 

Spero di andare con ordine...

 

 

1. HomePLC.linux

 

19 hours ago, Aleandro2008 said:

Per farti un esempio d'uso del Web Server, su questo puoi installare dei servizi di comunicazione come per esempio protocolli ecc.., usarlo come supervisione classica tramite programmazione PHP, OpenHAB ecc.. in pratica è un embedded linux aperto quindi ci puoi installare molte applicazioni e programmarle in vari linguaggi..

 

18 hours ago, smoothhands said:

la versione linux contenuta sul MasterWeb (ma anche sull'controller linux) non è modificabile facilmente: non è presente un gestore di pacchetti e dipendenze come in una distribuzione completa. Quindi puoi usare i linguaggi che hai scritto anche tu ma nodeJS non può essere installato. Per quanto riguarda MQTT puoi realizzare qualche componente nel linguaggio che preferisci che sfrutta tale protocollo.

 

Peccato che abbiano tagliato apt...

Ad ogni modo, se posso installare roba, magari è anche possibile installare NodeJS tramite il tar.xz versione 32bit... No? :P

Una precisazione però: se il sistema opeerativo non è "standard" magari non è nemmeno possible formattare e reinstallare (ogni tanto capita di dover fare pulizia e azzerare :whistling: )

 

 

2. ETM4

 

17 hours ago, smoothhands said:

L'ETM4 è un convertitore Ethernet-RS485 quindi e viene connesso, in questo caso, a livello 1 direttamente all'HomePLC.Ladder. Agisce in maniera trasparente nel senso che, se scegli di utilizzare il protocollo Modbus RTU lato HomePLC, puoi inviargli tali comandi "over" TCP/IP: il convertitore estrae il payload dal frame TCP e lo inoltra pari pari verso la connessione RS485.


Se vuoi utilizzare ModbusRTU over TCP e ETM4 sei vincolato alle specifiche del protocollo Modbus e spetta a te il compito di prevedere, nel software che realizzi per un eventuale Raspberry, opportuni cicli di lettura per mantenere aggiornato lo stato di alcune risorse.

 

Interessante! Anche se l'allineamento stati sembra che venga molto più naturale con HomePLC.Linux.

Ad ogni modo, usando EMT4 non posso mettermi in ascolto sul bus e fare azioni a seconda del pacchetto che vedo passare? Immagino che quando accendo una luce vedrò passare il pacchetto dell'input, ad esempio qualcosa con %IX1.2 o sbaglio?

Sarebbe bellissimo avere ad esempio un:

function onReceive(packet) {
	switch(packet.address) {
		case ...
	}
}

 

 

3. Master Web

 

18 hours ago, smoothhands said:

il Master Web è lo stesso dispositivo dell'HomePLC.Linux con ma la differenza sta nel modo e nella quantità di registri che puoi accedere. Nel primo caso la logica di controllo è scritta in Ladder sull'HomePLC e il MasterWeb, essendo sul livello Master dell'architettura, può accedere solo in lettura ai registri principali. L'HomePLC.Linux invece è il controllore principale e quindi ha accesso completo a tutti i registri di sistema e la logica risiede al suo interno.

 

Mmmm, aspetta... Quando dici "essendo sul livello Master dell'architettura" intendi che l'accesso completo ai registri è possibile solo dal livello di supervisione mentre invece qualsiasi componente collegato al livello master è limitato in sola lettura? :blink:

Onestamente, fra HomePLC.Linux, EMT4 (+ Raspberry) e Master Web, quest'ultimo sembrerebbe il meno versatile...

 

 

4. @smoothhands

Te usi OpenHAB su HomePLC.Linux per interagire tramite il tablet, giusto?

Se prendiamo una riga di items.xml, cosa usi come binding?

Ad esempio: Switch Kitchen_Light "Kitchen Light" { cosa-hai-scritto-qui? }

:P

 

 

5. @Aleandro2008

Sì, sto cercando di diventare utente HomePLC, ho effettato la registrazione su hbe-system.com per vedere i prezzi ed accedere alle risorse ma mi hanno risposto che non accettano tutti, non so come andrà a finire... :toobad:

Oggi pomeriggio chiamo la NetBuildingAutomation e sento anche loro... :lol:

 

 

E grazie ancora della vostra infinità disponibilità e pazienza! ;) ;) ;)

Link al commento
Condividi su altri siti

 

Quote

 

Il livello 1 di supervisione è esclusivamente dedicato alla programmazione LadderHome e la diagnostica ABS, giusto?

per la versione ladder+masterweb si mentre per il controller linux la programmazione avviene col linguaggio da te scelto.


 

 

Va precisato che la dove indichi Diagnostica si intende anche l'accesso per la Supervisione TBM EN15232

tanto per chiarire cosa intendevo per "Supervisione degna di questo nome", quelle che non sono in regola con le norme non lo sono più 

e non lo dico io lo dice la legge...

 

 

 

 

 

 

 

Link al commento
Condividi su altri siti

Quote

 ho effettato la registrazione su hbe-system.com per vedere i prezzi ed accedere alle risorse ma mi hanno risposto che non accettano tutti, non so come andrà a finire... :toobad:

 

come ti avevo detto, Infatti l'unico modo di approfondire è diventare un utente HomePLC, in realtà quello che puoi comprendere oggi

con domande al volo sui forum potrebbe essere stravolto anche da un solo upgrade del sistema...

per farti un esempio da uno giorno all'altro sul Bus è stato installato un sistema operativo Linux cose che il giorno prima non erano possibili da quel giorno lo sono..

si calcola che quello che si può fare adesso con i sistemi HomePLC sia solo il 40% delle potenzialità del progetto...   

HomePLC è un sistema in evoluzione che ha portato tante novità di settore

e ne porterà ancora molte altre... 

Link al commento
Condividi su altri siti

6 minutes ago, Aleandro2008 said:

come ti avevo detto, Infatti l'unico modo di approfondire è diventare un utente HomePLC, in realtà quello che puoi comprendere oggi

con domande al volo sui forum potrebbe essere stravolto anche da un solo upgrade del sistema...

 

Certamente, hai ragione... è solo per avere una panoramica iniziale, spero solo di non abusare troppo della vostra cortesia :P

Link al commento
Condividi su altri siti

3 hours ago, Aleandro2008 said:

come ti avevo detto, Infatti l'unico modo di approfondire è diventare un utente HomePLC, in realtà quello che puoi comprendere oggi

con domande al volo sui forum potrebbe essere stravolto anche da un solo upgrade del sistema...

 

Mi hanno appena abilitato l'account sul sito HBE!!! :thumb_yello::clap:

Dai dai... a piccoli passi sto entrando nel mondo HomePLC, grazie ancora!

Link al commento
Condividi su altri siti

4 minutes ago, Aleandro2008 said:

Mi hanno appena abilitato l'account sul sito HBE!!!

Fischia!! allora sono 100 punti acquisiti!... 

fatti onore..:lol:

 

E in settimana prossima ho un appuntamento alla Net Building Automation! :worthy::thumb_yello::clap::lol:

Link al commento
Condividi su altri siti

Quote

Ad ogni modo, se posso installare roba, magari è anche possibile installare NodeJS tramite il tar.xz versione 32bit... No?

Il dispositivo è un embedded con processore ARM e quindi, se proprio vuoi addentrarti in questa giungla, devi prendere i

sorgenti del pacchetto (e ovviamente tutte le dipendenze) e cross-compilare tutto. Non so quanto convenga.

 

Quote

Ad ogni modo, usando EMT4 non posso mettermi in ascolto sul bus e fare azioni a seconda del pacchetto che vedo passare?

Non funziona così... la porta a cui viene connessa è in grado di comprendere il protocollo XComm e Modbus RTU (più eventualmente altri)

quindi quello che puoi fare è utilizzare quei protocolli li.

XComm è chiuso e proprietario mentre il Modbus è open. Tramite modbus puoi interrogare i registri di HomePLC mediante

i metodi previsti dal protocollo Modbus.

Con EMT4 e Modbus RTU la gestione ad eventi direttamente dalla porta RS485 non la puoi ottenere.

 

Quote

qualsiasi componente collegato al livello master è limitato in sola lettura?

Il sistema HomePLC è suddiviso in Controller, Master (più di uno e con diverso compito), Slave (più di uno e con diverso compito).

Rispettivamente avremo Livello 1,2 e 3. Facciamola semplice e accettiamola così.

Tutti i dispositivi sono mappati nella memoria del controller: che sia l'HomePLC.Ladder o HomePLC.Linux.

Se ti trovi a programmare questi dispositivi la logica di controllo deve necessariamente accedere a tutte le risorse

e assumerne il pieno controllo.

 

Nel caso del MasterWeb invece ti trovi appunto a livello Master e quindi la logica di controllo è comunque sull'HomePLC.Ladder.

Quindi il controllo completo dei registri ce l'ha l'HomePLC.Ladder mentre il MasterWeb può accedere in lettura e scrittura

solo ad alcune aree di memoria. In particolare le aree di memoria in cui sono mappati i dispositivi sono solo in lettura.

 

es.

Se volessi accendere una lampada attivando il bit 3 nel registro x su cui è mappato un dispositivo di I/O e volessi gestire

questa cosa da MasterWeb devo usare un trucchetto.

Nel programma su MasterWeb faccio in modo di attivare il bit 3 sul registro y di cui ho accesso sia in lettura che scrittura

mentre in Ladder devo fare in modo che il relè corrispondente si attivi sia che diventi 1 il bit 3 nel registro x che nel registro y.

Poi è un pò più elaborata la cosa ma è solo per farti capire la differenza.

 

Quote

Master Web, quest'ultimo sembrerebbe il meno versatile...

Vanno utilizzati accorgimenti diversi.

 

Quote

Te usi OpenHAB su HomePLC.Linux per interagire tramite il tablet, giusto?

 Si

 

Quote

Se prendiamo una riga di items.xml, cosa usi come binding?

Ho realizzato in Java un binding dedicato a HomePLC.

 

Quote

Ad esempio: Switch Kitchen_Light "Kitchen Light" { cosa-hai-scritto-qui? }

Mi sono inventato una codifica abbastanza simile al ladder (giusto per non reinventare l'acqua calda)

per specificare le risorse di HomePLC.

 

es.

Switch Kitchen_Light "Kitchen Light" {homeplc="QX:9.1"}

ovvero registro di uscita 9 bit n. 1 - Item di tipo Switch

 

 

Link al commento
Condividi su altri siti

Ciao Smoothhands :)

 

6 minutes ago, smoothhands said:

Il dispositivo è un embedded con processore ARM e quindi, se proprio vuoi addentrarti in questa giungla, devi prendere i

sorgenti del pacchetto (e ovviamente tutte le dipendenze) e cross-compilare tutto. Non so quanto convenga.

 

Bè, volendo c'è anche la versione ARMv6, v7 e v8: https://nodejs.org/en/download/

Ma ok ok, lasciamo stare NodeJS per il momento...

 

 

6 minutes ago, smoothhands said:

Tramite modbus puoi interrogare i registri di HomePLC mediante i metodi previsti dal protocollo Modbus.

 

Non ho mai utilizzato ModBus fino ad ora... intendi metodi come read_coil() e write_coil()?

 

 

6 minutes ago, smoothhands said:

Con EMT4 e Modbus RTU la gestione ad eventi direttamente dalla porta RS485 non la puoi ottenere.

 

Ok, ma quindi se uno volesse la gestione ad eventi esiste solo la strada Java che hai trovato te? (vedi a sequire...)

 

 

6 minutes ago, smoothhands said:

Ho realizzato in Java un binding dedicato a HomePLC.

Mi sono inventato una codifica abbastanza simile al ladder (giusto per non reinventare l'acqua calda) per specificare le risorse di HomePLC.

es.

Switch Kitchen_Light "Kitchen Light" {homeplc="QX:9.1"}

ovvero registro di uscita 9 bit n. 1 - Item di tipo Switch

 

Bellissimo! Ho anche trovato il tuo post e me lo sto leggendo e rileggendo, tipo Bibbia! :lol: :lol: :lol:

 

 

On 8/25/2014 at 4:50 PM, smoothhands said:

1. Libreria nativa per HomePLC.Linux modificata in modo da consentire

la generazione di eventi (attualmente sull'area IO e quella estesa) in modo

da ridurre considerevolmente i tempi di lettura dei registri (si parla di

microsecondi) e dell'occupazione di CPU (che rimane a 0% - dato

che il lavoro viene effettuato in linguaggio c).

 

2. Generato lo scheletro per il binding openHAB di HomePLC.

 

Eccola la mitica gestione ad eventi!!! Sei un mito!  :worthy:

Però non ho capito se hai reso tutto pubblico o meno, sia libreria modificata sia binding OpenHAB intendo... :whistling:

 

In realtà, correggimi se sbaglio, a questo punto potrebbe essere possibile usare un qualsiasi software, non necessariamente OpenHAB, giusto?

Sono un amante di MQTT, adorerei sfruttarlo in qualche modo...

 

G R A Z I E ! ! !  :thumb_yello:

Link al commento
Condividi su altri siti

Quote

 

Se volessi accendere una lampada attivando il bit 3 nel registro x su cui è mappato un dispositivo di I/O e volessi gestire

questa cosa da MasterWeb devo usare un trucchetto.

Nel programma su MasterWeb faccio in modo di attivare il bit 3 sul registro y di cui ho accesso sia in lettura che scrittura

mentre in Ladder devo fare in modo che il relè corrispondente si attivi sia che diventi 1 il bit 3 nel registro x che nel registro y.

Poi è un pò più elaborata la cosa ma è solo per farti capire la differenza.

 

 

In realtà è abbastanza semplice basterebbe predisporre un Move a 16 o 32 Bit ecc.. tra due aree... il resto lo fa da se il sistema...

 

 

 

 

Link al commento
Condividi su altri siti

Ciao Inx,

Quote

Bè, volendo c'è anche la versione ARMv6, v7 e v8

avevo tentato tempo fa... anche la strada della cross-compilazione ma l'ambiente

dell HomePLC.Linux non è completo, mancano librerie e alcune sono datate.

Comunque ho riprovato adesso con la versione ARMv7, l'ho inserita sul linux ma

non c'è verso di farla avviare. Probabilmente il modo in cui è stata compilata

non è compatibile con l'hardware/software.

 

L'HomePLC.Linux è questa bestia qua:

Linux (none) 2.6.35.3 #88 PREEMPT Mon Oct 1 16:07:24 CEST 2012 armv7l GNU/Linux

Linux version 2.6.35.3 (user@ubuntu1004desktop) (gcc version 4.4.4 (4.4.4_09.06.2010) ) #88 PREEMPT Mon Oct 1 16:07:24 CEST 2012

ARMv7 is a 32-bit architecture

ARMv7-A Thumb-2 - Little-Endian, Soft-Float, GLIBC

Architecture: armel

Source: gcc-4.4.4-glibc-2.11.1-multilib-1.0 (2.11.1-ev1)

Version: 4.4.4-ev1

Depends: libc6 (>= 2.11.1-ev1), libgcc1 (>= 4.4.4-ev1)

 

 

Quote

intendi metodi come read_coil() e write_coil()?

si esatto

 

Quote

se uno volesse la gestione ad eventi esiste solo la strada Java che hai trovato te?

la gestione ad eventi te la devi costruire tu con un linguaggio di quelli supportati.

Le varie librerie native ufficiali hanno istruzioni solo per leggere registri e per scriverli.

 

Quote

Ho anche trovato il tuo post ...

Si, è un vecchio post in cui studiavo ancora la cosa e chiedevo lumi ad Aleandro.

 

Quote

non ho capito se hai reso tutto pubblico o meno

Il pacchetto completo è liberamente utilizzabile. Si può scaricare dal file manager della Net.

Dei sorgenti, invece, ammetto di essere un pò geloso... anche se mi rendo conto che non

sia proprio in linea con la filosofia opensource.

 

Quote

 a questo punto potrebbe essere possibile usare un qualsiasi software

Certamente... io, al tempo, ho fatto qualche test con CoAP.

 

 

Link al commento
Condividi su altri siti

Quote

In realtà è abbastanza semplice basterebbe predisporre un Move a 16 o 32 Bit ecc.. tra due aree... il resto lo fa da se il sistema...

Ecco... poi arriva Aleandro... e ti asfalta :thumb_yello:

Link al commento
Condividi su altri siti

  • Maurizio Colombi locked this discussione
Ospite
Questa discussione è chiusa alle risposte.

×
×
  • Crea nuovo/a...