Vai al contenuto
PLC Forum


Eventi Da Passare Esterno


ilgio80

Messaggi consigliati

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?

Link al commento
Condividi su altri siti


  • Risposte 80
  • Created
  • Ultima risposta

Top Posters In This Topic

  • ilgio80

    36

  • del_user_56966

    29

  • smoothhands

    10

  • forzalaquila

    6

Top Posters In This Topic

Posted Images

del_user_56966
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:

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

del_user_56966
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:

Link al commento
Condividi su altri siti

del_user_56966
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...

Link al commento
Condividi su altri siti

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?

Link al commento
Condividi su altri siti

del_user_56966
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.... ;)

Link al commento
Condividi su altri siti

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 ?

Link al commento
Condividi su altri siti

del_user_56966
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:

Link al commento
Condividi su altri siti

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

Modificato: da ilgio80
Link al commento
Condividi su altri siti

del_user_56966

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:

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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?

Link al commento
Condividi su altri siti

del_user_56966
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....

Link al commento
Condividi su altri siti

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.

Modificato: da smoothhands
Link al commento
Condividi su altri siti

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...

Link al commento
Condividi su altri siti

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...