Jump to content
PLC Forum


Sign in to follow this  
ilgio80

Eventi Da Passare Esterno

Recommended Posts

ilgio80

Ho il raspberry collegato all homeplc con il convertitore usb.

Riesco a scrivere e leggere i registri.

Sto cercando di capire se posso inviare un impulso al raspa allo scatenamento di un evento in hplc.

Cioè se cambia una qualsiasi uscita sul homeplc mi manda un segnale al raspa. Il quale rilegge tutti i registri per tener aggiornato il sistema.

È possibile?

Share this post


Link to post
Share on other sites

Aleandro2008
Ho il raspberry collegato all homeplc con il convertitore usb.

Riesco a scrivere e leggere i registri.

Complimenti!

questo significa che hai già gestito sia il protocollo che i drive USB.... :thumb_yello:

Sto cercando di capire se posso inviare un impulso al raspa allo scatenamento di un evento in hplc.

Cioè se cambia una qualsiasi uscita sul homeplc mi manda un segnale al raspa. Il quale rilegge tutti i registri per tener aggiornato il sistema.

È possibile?

se utilizzi il Modbus RTU per interfacciarti non direi, non è un protocollo ad eventi.... :blink:

ma puoi senz'altro creare gli eventi tramite programmazione lato RASPBERRY... :smile:

Share this post


Link to post
Share on other sites
ilgio80

Grazieeee. Si sono riuscito con minimalmodbus grazie ai suggerimenti di "forzalacquila".

Come farei a creare gli eventi lato rasp?

Devo praticamente creare un demone che ogni secondo legge tutti i registri?

Così sarebbe uno spreco. Io vorrei che rileggesse tutti i registri solo se viene modificato uno lato plc

Share this post


Link to post
Share on other sites
Aleandro2008
Come farei a creare gli eventi lato rasp?

Devo praticamente creare un demone che ogni secondo legge tutti i registri?

Così sarebbe uno spreco. Io vorrei che rileggesse tutti i registri solo se viene modificato uno lato plc

tanto per capire che lavoro devi svolgere lato Rasp per cui ti serve tutti questi registri.....? :blink:

Share this post


Link to post
Share on other sites
ilgio80

web server

quindi far girare il mio sito per pilotare la casa

Share this post


Link to post
Share on other sites
Aleandro2008
quindi far girare il mio sito per pilotare la casa

sui web server normalmente non girano in contemporanea molti registri, una pagina web solitamente mostra massimo qualche decina di informazioni....

spesso digitali, questo significa che tramite un registro avresti almeno 16 valori da mettere a video...

lavorando sul programma si può ottimizzare il tutto con la lettura di qualche registro.... :smile:

certo non è come avere gli eventi di XComm, ma la soluzione si allinea ai normali web server sul mercato...

Share this post


Link to post
Share on other sites
ilgio80

si be certo..

massimo saranno 2 registri da leggere..

ma allora non si può fare come dico io

allo scatenarsi di un evento mi dia un impulso nel rasp che mi aggiorna i valori..

devo perforza fare un demone che me li rilegga ogni secondo indifferentemente se son stati cambiati o meno..

non ci sarebbe un traffico allucinante sul bus?

Share this post


Link to post
Share on other sites
Aleandro2008
non ci sarebbe un traffico allucinante sul bus?

forse stai parlando di altri Bus..!!? :lol:

il traffico della supervisione in Modbus RTU non incide affatto sulla gestione del Bus HomePLC.... ;)

Share this post


Link to post
Share on other sites
ilgio80

quindi l'unica soluzione è fare un demone che parte ogni secondo e mi legga i valori... e me li scriva in un file .txt oppure in un DB ?

Share this post


Link to post
Share on other sites
Aleandro2008
quindi l'unica soluzione è fare un demone che parte ogni secondo e mi legga i valori... e me li scriva in un file .txt oppure in un DB ?

per quel che vedo le più aziende sul mercato che sviluppano Web Server per la domotica utilizzano un database.... anche al livello hobby non penso sia diverso... :blink:

Share this post


Link to post
Share on other sites
ilgio80

quindi avrei un demone che ogni secondo aggiorna il DB

e la pagina che andrò a creare farò un java che mi controlla il DB ogni secondo per tenere la pagina aggiornata

Edited by ilgio80

Share this post


Link to post
Share on other sites
Aleandro2008

in linea di principio questa è la base... di partenza! :smile:

Share this post


Link to post
Share on other sites
ilgio80

e ma chissa che ritardi ho sulla pagina.. no?

Share this post


Link to post
Share on other sites
Aleandro2008

Ne ho visto uno funzionare in tempo reale... il demone era sviluppato in C++ e il Web Server in Python....

probabilmente buona parte la gioca lo sviluppatore a secondo di come realizza l'architettura... del resto come accade sempre...

in giro ci sono dispositivi molto potenti 400Mhz - 1GHz con software "lenti" che impegnano molte energie

mentre piccoli chip da 40MHz che svolgono funzioni più elegantemente dei precedenti... :lol:

Share this post


Link to post
Share on other sites
ilgio80

mmmm

cosa intendi per demone ?

io il demone devo farlo in Python perchè è lui che legge i registri con minimalmodbus

il webserver è apache o ngnix o lighthttp

Share this post


Link to post
Share on other sites
ilgio80

woowwwww

mi è venuta un'illuminazione

posso usare un OUT digitale del hplc e farlo andare ad un GPIO del raspberry

al cambio di qualsiasi uscita in ladder mi da un'impulso in quell'uscita ... e boom il rasp rilegge tutti i valori

:D

che dici?

Share this post


Link to post
Share on other sites
ilgio80

unica cosa da capire è se esiste un bit che si attiva al modificarsi di qualsiasi uscita dell'HPLC

Share this post


Link to post
Share on other sites
Aleandro2008
unica cosa da capire è se esiste un bit che si attiva al modificarsi di qualsiasi uscita dell'HPLC

non penso ma se è solo per alcuni registri potresti crearlo da programma....

Share this post


Link to post
Share on other sites
ilgio80

mmmm

tu intendi sul ladder ad ogni uscita metto in parallelo una variabile

Share this post


Link to post
Share on other sites
Aleandro2008
tu intendi sul ladder ad ogni uscita metto in parallelo una variabile

no tramite i comparatori....

Share this post


Link to post
Share on other sites
smoothhands

Mi sa che comunque non funzionerebbe.

Ovvero in ladder viene percorso tutta la logica dall'alto verso il basso

e da sinistra verso destra.

Se ad ogni modifica di un'uscita fai attivare un out che hai

battezzato come segnale per il RPi finisce che quest ultimo

capisce di dover accedere più volte ai registri.

Sempre che poi l'uscita di un ragnetto sia compatibile

elettricamente con un ingresso digitale del RPi.

Quanto impiega il RPi tramite modbus a leggere i registri che hai scelto?

E inoltre cosa succede se il RPi fa la sua lettura dei registri e il

ciclo di programma deve ancora modificare dei valori?

Anche perchè mi pare di aver capito che il ciclo ladder viene eseguito più

volte tra una lettura dei registri e la successiva riscrittura da parte del processore domotico.

Edited by smoothhands

Share this post


Link to post
Share on other sites
smoothhands

Penso che nel tuo caso sia più percorribile la strada a polling.

Ovvero ogni tot secondi fai leggere via modbus i registri

che ti interessano.

Non sarà proprio in tempo reale ma riesci ad ottenere comunque uno stato

del sistema con una latenza che puoi fissare tu.

Alternativa c'è sempre il software xServer che ti permetterebbe di

gestire ad eventi ma si tratta di fare altre spese e quindi...

Share this post


Link to post
Share on other sites
Aleandro2008

Per utilizzare gli eventi senza fare spese HomePLC ha un BMS/TBM come ABS XComm che appunto potente e gratuito...

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...