Vai al contenuto
PLC Forum


Modbus Su Hplc Versione Din


Messaggi consigliati

Inserito: (modificato)

Ciao a tutti.

nella descrizione dell'EMPLC2U (l'HPLC in versione DIN) leggo che il dispositivo supporta il protocollo XComm interrogabile MODBUS. La cosa, tra l'altro dovrebbe essere autosensing (questo non mi ricordo dove l'ho letto). Ovviamente immagino ci si riferisca alla seriale collegata al convertitore Ethernet o USB.

Avrei però alcune domande.

Immagino che HPLC, in questo caso, sia lo slave; è corretto?

Interrogabile vuol dire che posso solo leggere (per esempio lo stato degli INPUT e degli OUTPUT) o posso anche scrivere nei registri (quindi, per esempio, attivare un relè, dimmerare una lampada...)?

Posso già collegare il convertitore USB e provare, per esempio da .NET (per il quale ho trovato una libreria MODBUS), a dialogare con il HPLC?

Nel frattempo vi racconto cosa vorrei fare. Forse qualcuno di voi avrà sentito parlare di Arduino. Per gli altri dico brevemente che si tratta di una scheda a microcontrollore ATMEL del costo di poche decine di euro. Utilizzando vari accessori HW è possibile dotarla di Ethernet e RS485 e di scheda SD come memoria di massa. Utilizzando poi varie librerie SW è possibile farle parlare MODBUS ed implementare un web server che può utilizzare la scheda SD per memorizzare le pagine da servire. Il tutto credo costerebbe al massimo un centinaio di Euro. Ah, dimenticavo, il tutto (HW compreso) è open source, è nato in Italia ed è diffusissimo nel mondo intero.

L'idea è quella di avere un web server a bassissimo costo ed a bassissimo assorbimento per realizzare il controllo remoto dell'impianto HPLC.

Cosa ne pensate? Vi sembra interessante o mi sfugge qualche dettaglio che rende inattuabile o poco interessante la cosa?

Grazie a tutti.

Ciao.

Vittorio.

Modificato: da vtalamo

del_user_56966
Inserita:
nella descrizione dell'EMPLC2U (l'HPLC in versione DIN) leggo che il dispositivo supporta il protocollo XComm interrogabile MODBUS. La cosa, tra l'altro dovrebbe essere autosensing (questo non mi ricordo dove l'ho letto). Ovviamente immagino ci si riferisca alla seriale collegata al convertitore Ethernet o USB.

Autosensing significa che può passare dal protocollo XComm al protocollo Modbus RTU Standard in modo automatico...

senza necessità di alcuna configurazione preliminare, se attivi ABS XComm configuri l'applicazione e il sistema tramite XComm...

sconnetti ABS XComm e ti colleghi con un Master Modbus RTU e l'HomePLC si connette senza problemi... ovvero hai una commutazione AUTOmatica

perché "sente" il tipo di protocollo che stai utilizzando... ;)

Immagino che HPLC, in questo caso, sia lo slave; è corretto?

HomePLC è slave sul Livello 1

mentre se utilizzi una Porta Modbus RTU sul bus direttamente la puoi configurare sia come Master che come Slave!

Interrogabile vuol dire che posso solo leggere (per esempio lo stato degli INPUT e degli OUTPUT) o posso anche scrivere nei registri (quindi, per esempio, attivare un relè, dimmerare una lampada...)?

Sul livello 1 (porta principale di programmazione) puoi leggere e scrivere tutti gli 8000 registri della memoria!

mentre sul Bus ci sono delle aree Shared Memory che puoi trovare nella tabella delle risorse di sistema!

si possono utilizzare fino a 5 aree Shared Memory... il che in pratica permette di avere più porte Master e più porte Slave sul solito Impianto...

se poi consideri che è possibile anche fare un Link tra più HomePLC... sai quante variabili girano.. :lol:

Posso già collegare il convertitore USB e provare, per esempio da .NET (per il quale ho trovato una libreria MODBUS), a dialogare con il HPLC?

usando il protocollo Modbus RTU dovrebbe bastare una parola per esprimere il concetto ma

oggi mi divago un po...

Puoi usare qualsiasi prodotto che rispetti lo standard Modbus RTU quindi pannelli Operatore HMI, Scada, Linux, DotNET, Java, Windows, ecc..ecc...

il Modbus RTU è universale, Standard "de facto", libero, gratuito, non equivocabile ecc... :horny:

Nel frattempo vi racconto cosa vorrei fare. Forse qualcuno di voi avrà sentito parlare di Arduino. Per gli altri dico brevemente che si tratta di una scheda a microcontrollore ATMEL del costo di poche decine di euro. Utilizzando vari accessori HW è possibile dotarla di Ethernet e RS485 e di scheda SD come memoria di massa. Utilizzando poi varie librerie SW è possibile farle parlare MODBUS ed implementare un web server che può utilizzare la scheda SD per memorizzare le pagine da servire. Il tutto credo costerebbe al massimo un centinaio di Euro. Ah, dimenticavo, il tutto (HW compreso) è open source, è nato in Italia ed è diffusissimo nel mondo intero.

L'idea è quella di avere un web server a bassissimo costo ed a bassissimo assorbimento per realizzare il controllo remoto dell'impianto HPLC.

Cosa ne pensate? Vi sembra interessante o mi sfugge qualche dettaglio che rende inattuabile o poco interessante la cosa?

si è una buona idea, in realtà esistono vari microprocessori per sviluppare applicazioni basicstamp, arduino e altri..

dal punto di vista hobbistico ci puoi passare delle belle giornate di sviluppo sopra e farti un buona esperienza...

però considera che riguardo alle soluzioni HomePLC esiste già un embedded Linux open source che dialoga con tutto il sistema in realtime...

e che ha a bordo un processore HomePLC, quindi non devi fare alcuna comunicazione esterna con modbus o altro protocollo...

questo supera notevolmente il "collo d'imbuto" che avrebbe un protocollo come il Modbus RTU nel gestire troppe variabili in tempo reale tramite la seriale

la prima soluzione va bene quindi nel caso di piccole applicazioni e bassa mole di dati... :)

la cosa più interessante che sto verificando su HomePLC Open è che tutti i linguaggi sono nativi ovvero si sviluppa direttamente tramite

classi Java.XComm e anche per nel PHP le chiamate a XComm sono native... ovvero è come se facessero parte del linguaggio stesso...

inoltre l'applicazione è più veloce che nell'uso di database in quanto non c'è l'overload dovuto all'accesso ai dati del database...

dato che in questo dispositivo l'eccesso avviene direttamente tramite la memoria...

quindi non ti rimane altro che usare JAVA e le funzioni XComm standard con indirizzamento IEC1131-3 e programmare tutta la Domotica Real Time che vuoi...

ti faccio un esempio di come sia semplice gestire un programma JAVA con l'HomePLC Open...

questa è una funzione Java che implementa una classe nativa XComm, in pratica è una semplice attivazione monostabile

la funzione legge l'ingresso %IX1.0 e secondo lo stato di questo attiva l'uscita %QX1.0

Esempio con JAVA:

if (Hplc.Ix(1,0)==1){

Hplc.SetQx(1, 0, 1);

}

else

{

Hplc.SetQx(1, 0, 0);

}

come vedi anche usando Java si continua a utilizzare l'indirizzamento standard in IEC1131-3 cosi che chi già sa utilizzare l'indirizzamento internazionale

è già in grado di svilupparsi l'applicazione senza tavole di conversione o altro...

Inserita:
la cosa più interessante che sto verificando su HomePLC Open è che tutti i linguaggi sono nativi ovvero si sviluppa direttamente tramite

classi Java.XComm e anche per nel PHP le chiamate a XComm sono native... ovvero è come se facessero parte del linguaggio stesso...

Non sapevo che Hplc open fosse già uscito, pensavo fosse ancora in sviluppo..

Non ho capito bene (un po' più di) una cosa:

Posso scrivere il mio condice direttamente in PHP, usando delle classe apposite ?

In questo modo aggirola programmazione in Ladder?

O posso usarle entrambe?

La programmazione risiede adirettamente in HPLC? Mi serve un webserver esterno come se dovessi creare un servizio di telecontrollo web?

Scusa le domande....

Grazie !!! :)

del_user_56966
Inserita:
Non sapevo che Hplc open fosse già uscito, pensavo fosse ancora in sviluppo..

non è in vendita ma essendo in fase di collaudo per gli sviluppatori ne è stato reso disponibile qualche prototipo!

Non ho capito bene (un po' più di) una cosa:

Posso scrivere il mio condice direttamente in PHP, usando delle classe apposite ?

In pratica sarà possibile utilizzare qualsiasi linguaggio di programmazione C/C++, Java, Python, PHP e molti altri!

essendo open source dovrebbe essere messa a disposizione anche la libreria per eccedere all'Hardware direttamente!... :o

In questo modo aggirola programmazione in Ladder?

O posso usarle entrambe?

quella EN61131-3 programmabile in Ladder Diagram e Functional Block Diagram e quella Open Source in questo momento sono due versioni distinte...

La programmazione risiede adirettamente in HPLC? Mi serve un webserver esterno come se dovessi creare un servizio di telecontrollo web?

forse non mi sono spiegato molto bene... HomePLC Open è inserito nel Kernel di Linux...ti dice nulla!?.. ;)

Inserita:
...forse non mi sono spiegato molto bene... HomePLC Open è inserito nel Kernel di Linux...ti dice nulla!?.. wink.gif

:o E' una "distribuzione" apposita?

del_user_56966
Inserita:
E' una "distribuzione" apposita?

si è una distribuzione HD/SW che supporta la tecnologia HPLC in modo nativo!

gli Italiani quando fanno le cose le fanno bene... ;)

Inserita:
si è una distribuzione HD/SW che supporta la tecnologia HPLC in modo nativo!

gli Italiani quando fanno le cose le fanno bene...

In questo caso, indubbiamente...

Questo vuol dire che viene "ripensata" completamente la logica di programmazione...

Curiosità, quando inizierebbe ad essere distribuita questa scatola magica ? :)

del_user_56966
Inserita:
Curiosità, quando inizierebbe ad essere distribuita questa scatola magica ?

non fra molto...si parla dei primi del 2012!... :)

Inserita:

OT

Aleandro,

scusa il disturbo, ho provato mandarti un MP ma hai la casella piena :)

Due domande stupide :

- Riguardo al HPLC Opensource: Partendo dal presupposto che sono totalmente nuovo in questo tipo di tecnologia e che lavoro in ambito informatico secondo te ha più senso partire direttamente con il modello open o partire con la versione standard?

- Riguardo a Te:

Di dove sei?

Grazie del tuo tempo,

Paolo

del_user_56966
Inserita:
- Riguardo al HPLC Opensource: Partendo dal presupposto che sono totalmente nuovo in questo tipo di tecnologia e che lavoro in ambito informatico secondo te ha più senso partire direttamente con il modello open o partire con la versione standard?

sono due concetti molto diversi tra loro!

Il modello HomePLC che segue la normativa EN61131-3 in pratica è programmabile come qualsiasi altro PLC di classe Industriale quindi

permette di "leggere" uno schema elettrico a video con un tipo di Debug che rispecchia quello che è lo standard Industriale e a cui il tecnico d'automazione

è già abituato, direi che in pratica continua la tradizione dell'automazione anche nel settore della Domotica che fino a poco tempo fa era il settore

dove ogni giorno uscivano sempre programmi che con gli standard esistenti dell'automazione hanno poco a che fare...

Mentre il modello Open Source mette a disposizione la tecnologia HomePLC a basso livello ma non specifica alcuno standard di programmazione

ma solo standard dei linguaggi come per esempio PHP, C/C++, ecc..

su questo si può sviluppare di tutto anche ricreare degli standard ma questi non sono forniti di base... almeno fino a che qualche azienda

non li fornirà come prodotti di corredo...

come vedi sono metodologie opposte tra loro... ma questo è anche lo spirito del progetto... ovvero quello che significa "sistema aperto"!

Inserita: (modificato)

A questo punto devo capire, probabilmete anche con un corso, in quale dei due entro prima e megio "nell' ottica".

Ho basi di programmazione, soprattutto in PHP, JS et simila... ma se le funzioni che dovrei creare con decine di righe di codice si traducessero in "4 click" in ladder, forse, e dico forse, potrebbe diventare più semplice imparare un sistema "nuovo" e già colaudato di programmare questi sistemi.

Mi riferisco soprattutto in termini di tempo di sviluppo dell' applicazione che girerebbe onboard.

Certo che una roba scritta in codice "diretto" offre molte possibilità anche solo in tarmini di integrazioni con disposisivi esterni di qualunque natura, sistemi, applicativi, etc.. tutto SENZA il bisogno di "traduttori" esterni, apparecchi di collegamento, applicazioni esterne che si interfacciano al sistema che creano questa o quella funzione in più, e fastidiosi addon che creano solo ulteriori single point of failure .

Grazie della risposta, al momento dell' uscita deciderò.. magari alla NET faranno un corso e cercherò di capire quale strada è la più "conveniente" cone start-up, anche se certamente il progetto open mi stuzzica non poco e sicuramente finirà che ci metterò mano in qualche modo :)

PS. Non Hai risposto alla seconda domanda :P

Paolo

Modificato: da lss
del_user_56966
Inserita:
Ho basi di programmazione, soprattutto in PHP, JS et simila... ma se le funzioni che dovrei creare con decine di righe di codice si tradicessero in "4 clik" in ladder, forse, e dico forse, potrebbe diventare più semplice imparare un sistema "nuovo" e già colaudato di programmare questi sistemi.

sai come si dice!

preferisco avere il problema della scelta che una scelta forzata... :lol:

del_user_56966
Inserita:

comunque da prove fatte anche programmare tramite le classi per chi è programmatore non è difficile affatto...

la funzione da richiamare in fondo una volta sviluppata è anche più semplice del Ladder... solo che non è standard!... ;)

Inserita: (modificato)

...mmm..

Dipende dai quali movimenti ti permettono di fare le classi, per quanto riguarda lo standard, se nella programmazione PLC lo standard è il Ladder, bene, se qusto, a me neofita, una volta imparate le basi, mi permette di procedere con una certa velocità, meneggevolezza e flessibilità nelle programmazione di HPLC benissimo.

Se con un non-standard per la programmazione dei PLC, tipo PHP o quelchelè, qualche funzione, qualche classe, e qualche giorno di imprecazioni ottengo il medesimo risultato o anche migliore in termini di integrazione ad esempio o mi permette di essere più autonomo nel debug, nei test o altro, beh... fantastico !

Tanto, da quello che ho capito l' essenziale è rispettare gli standard europei per il risparmio energetico etc e programmare le funzioni come devono essere secondo norma... a quel punto si è ok..

Sbaglio?

PS

Non ti rompo più le scatole per la domanda.. ok :)

Non voglio essere invadente e non mi piace approfittare o rompere le scatole alla gente, quindi, quando il progetto "casa" inizierà volevo capire se eri disponibile ad una "consulenza" non aggratis sul forum... :)

Paolo

Modificato: da lss
del_user_56966
Inserita:
Se con un non-standard per la programmazione dei PLC, tipo PHP o quelchelè, qualche funzione, qualche classe, e qualche giorno di imprecazioni ottengo il medesimo risultato o anche migliore in termini di integrazione ad esempio o mi permette di essere più autonomo nel debug, nei test o altro, beh... fantastico !

Ok, è fantastico!... in qualche ora mi sono fatto delle librerie simili a quelle Ladder, penso che se dovessi crearmi un mio standard non servirebbe più

di una settimana max 2... infatti il senso è proprio questo se devo fare delle applicazioni standard uso la EN61131-3 è sono in linea col mondo..

per tutto il resto ci sono linguaggi più potenti che possono soccorrermi quando devo fare integrazioni più pesanti!... :lol:

Tanto, da quello che ho capito l' essenziale è rispettare gli standard europei per il risparmio energetico etc e programmare le funzioni come devono essere secondo norma... a quel punto si è ok..

Sbaglio?

Assolutamente, lo standard Europeo richiede lo svolgimento di alcune ben precise funzioni non indica di sicuro con quale linguaggio queste devono essere svolte...

l'importante è che la funzione sia ottenuta nel modo indicato dallo standard...

Non voglio essere invadente e non mi piace approfittare o rompere le scatole alla gente, quindi, quando il progetto "casa" inizierà volevo capire se eri disponibile ad una "consulenza" non aggratis sul forum...

Non ti preoccupare se ti rispondo è segno che si parla di tecnica quindi non rompi... :lol:

Inserita: (modificato)

Che linguaggio di programmazione prediligi / usi ?

Non ti preoccupare se ti rispondo è segno che si parla di tecnica quindi non rompi... laugh.gif

Ok, ma mica posso chiederti di aiutarmi a progettare l' impianto di casa, non sei Bruce Wayne (spero averlo scritto giusto) .. :D

Grazie ancora di tutto , sei troppo gentile !

PS

Mi sa che ti dovrò almeno offire una cena da quanto ti romperò appena inizio :P

Modificato: da lss
Inserita:
Ok, ma mica posso chiederti di aiutarmi a progettare l' impianto di casa, non sei Bruce Wayne (spero averlo scritto giusto) .. biggrin.gif

Non volevo offenderti eh, era solo per dire che non voglio approfittarmi di te, mica sei un supereroe :)

... anche se vista la quantità di cose che vedo che scrivi sul forum... :P

Ciau!

Paolo

del_user_56966
Inserita:
Che linguaggio di programmazione prediligi / usi ?

Prediligo per ogni settore il suo linguaggio se non lo conosco lo devo imparare,

non posso pensare che la programmazione si adatti a me sono io che mi devo adattare a lei!... :lol:

inoltre facciamo prima a dire cosa non prediligo, non prediligo i linguaggi e gli ambienti di sviluppo limitati,

come non prediligo quelli non performanti dal punto di vista funzionale,

il massimo per me è usare linguaggio più potente ma allo stesso momento che non mi complichi troppo la vita... ma come dicevo non esiste un solo linguaggio,

ogni applicazione/settore ha il proprio e spesso anche più di uno... :)

Ok, ma mica posso chiederti di aiutarmi a progettare l' impianto di casa, non sei Bruce Wayne (spero averlo scritto giusto) .

:whistling: :sneaky:

Inserita: (modificato)
il massimo per me è usare linguaggio più potente ma allo stesso momento che non mi complichi troppo la vita... ma come dicevo non esiste un solo linguaggio,

ogni applicazione/settore ha il proprio e spesso anche più di uno... smile.gif

eh ovvio che il linguaggio molto potente, semplice, senza complicazioni e con pochissimi limiti è il massimo (forse anche un po' utopico) ..

Mi riferivo alla programmazione HPLC Open, cosa usi?

C/C++, C Sharp ( e derivati vari), pyton, PHP, ... (qui potrei proseguire per mezz' ora) ... o cosa ? :)

....

Sei Bruce Wayne? La Batmobile monta HPLC ? :P

Paolo

Modificato: da lss
del_user_56966
Inserita:
Mi riferivo alla programmazione HPLC Open, cosa usi?

C/C++, C Sharp ( e derivati vari), pyton, PHP, ... (qui potrei proseguire per mezz' ora) ... o cosa ? smile.gif

per adesso PHP e Java ma appena possibile voglio provare col C++

Sei Bruce Wayne? La Batmobile monta HPLC ?

La Batmobile non saprei ma sicuramente qualche migliaio di auto elettriche si... :whistling:

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...