Vai al contenuto
PLC Forum


Eventi Da Passare Esterno


Messaggi consigliati

Inserito:

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?


  • 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
Inserita:
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:

Inserita:

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

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

Inserita:

web server

quindi far girare il mio sito per pilotare la casa

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

Inserita:

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?

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

Inserita:

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 ?

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

Inserita: (modificato)

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

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

Inserita:

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

del_user_56966
Inserita:

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:

Inserita:

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

Inserita:

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?

Inserita:

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

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

Inserita:

mmmm

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

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

no tramite i comparatori....

Inserita: (modificato)

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

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

del_user_56966
Inserita:

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

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