Jump to content
PLC Forum


Sign in to follow this  
ilgio80

Eventi Da Passare Esterno

Recommended Posts


Aleandro2008

Ottimo, è possibile vedere un trancio di software di questa parte.... ?

cioè dove prendi le variabili da minimalmodbus e le tiri su in Python...

Share this post


Link to post
Share on other sites
ilgio80
 instrument = minimalmodbus.Instrument('/dev/ttyUSB0', 1) # port name(nome device in /dev), slave address (in decimal)
        instrument.serial.baudrate = 57600   # Baud
        instrument.serial.bytesize = 8
        instrument.serial.stopbits = 1
        instrument.serial.timeout  = 0.2   # seconds
        registro410=instrument.read_register(410,0) # registro,numero decimali
        registro411=instrument.read_register(411,0) # registro,numero decimali


        def getbit(num, bit):
                return ((num>> bit) & 1)

poi creo la stringa che pubblico con json.dump

Share this post


Link to post
Share on other sites
Aleandro2008

Buono, considera che una volta terminato lo sviluppo sul ladder potresti anche raddoppiare la velocità di comunicazione e portarla a 115.2 bps....

ricordando però di riportarla a 57.6 bps quando utilizzi il LadderHome 2... :smile:

Share this post


Link to post
Share on other sites
ilgio80

ah perfetto..

comunque veramente non sto scherzando..

la velocita di refresh sul web è 5 volte più veliche che usare xcomm

in più la pagina non è lenta e non si blocca

ricordi quando all'inizio quando avevo fatto la stessa pagina che andava sul xcomm mi sembrava lento a refrescare i semafori?

ora con il rasp non lo dico più ;)

Share this post


Link to post
Share on other sites
Aleandro2008

l'equivalente di json su XComm è la procedura di refresh basato sulle pagine preconfigurate, che non stavi utilizzando...

mi pare che tu usavi le chiamate dirette delle variabili...

ma se le variabili che ti servono le puoi gestire cosi... hai risolto no? :smile:

Share this post


Link to post
Share on other sites
ilgio80

no no usado gli eventi con il refresh sulle pagine xml

Share this post


Link to post
Share on other sites
ilgio80

comunque.. devo ancroa capire un problemino che ho e non riesco a trovare l'errore

il demone scrive e legge

ogni tanto, è successo poche volte ma la parte lettura non funziona piu

non riesco a capire il motivo

mentre i comandi li scrive sempre

allora riavvio il demone e rifunziona tutto..

secondo me è il convertitoreusb che non è molto affidabile...

bisongava trovare il modo di interfacciarsi con l ETM

Share this post


Link to post
Share on other sites
Aleandro2008

non penso sembra più che una parte software sia elusa....

Share this post


Link to post
Share on other sites
forzalaquila

bravo ilgio80!

facci vedere please :thumb_yello::thumb_yello::thumb_yello:

ciao

Share this post


Link to post
Share on other sites
ilgio80

mmm

non riesco ad isolare i valori dei registri del termoregolatore..

io leggo il registro %MW5503 ed ho 7933

e il registro %MW5504 ho 1220

voglio sapere che valore ha il mio setpoint e come trovare se è estate/invero e se crono/confort/mantenimento

non riesco a capire il byte alto, bassso ecc..

:(

Share this post


Link to post
Share on other sites
smoothhands

Nel caso del registro %mw5503 il byte alto vale 30 e il byte basso 253

nel caso di registro %mw5504 il byte alto vale 4 e il byte basso 196

Per ottenere il byte basso devi fare l'and con il valore 00ff esadecimale.

Share this post


Link to post
Share on other sites
Aleandro2008
non riesco a capire il byte alto, bassso ecc..

è informatica di base....

ma dove vuoi leggere questi valori nel Ladder o nel Raspberry?

Edited by Aleandro2008

Share this post


Link to post
Share on other sites
ilgio80

nel rasp..

leggo il registro intero e poi devo tirar fuori i diversi valori

Share this post


Link to post
Share on other sites
Aleandro2008
leggo il registro intero e poi devo tirar fuori i diversi valori

allora vale l'indicazione data da smoothhands

Share this post


Link to post
Share on other sites
smoothhands

Per quanto riguarda il byte alto la procedura è leggermente diversa.

Va fatto l'and del valore con FF00 (esadecimale) e successivamente

devi fare lo shift a destra (>>) del risultato di 8bit.

Share this post


Link to post
Share on other sites
ilgio80

ok

byte alto e basso trovati..

ora i bit dei flag che non capisco

allora leggo il 5504

ricevo 1220

quindi non mi serve dividere in byte

devo leggere i singoli bit

e dal quel che ho capito è che :

Bit 0 = Estate/Inverno
Bit 1 = Input 1 - Stato Finestra
Bit 2 = Bloccato/Sbloccato

ricavo i primi 8 bit e mi trovo

0
0
1
0
0
0
1
1

esepio il primo bit estate/inverno ho 0 quindi estate? e il bit2 ho 1 quindi sbloccato?

invece il mio MCT è si in estate, però è locked

Share this post


Link to post
Share on other sites
smoothhands

mi sa che è corretto.

Nel manuale ho trovato una figura che mostra l'oggetto termoregolatore

in cui fa vedere tre pulsanti grafici:

- estate/inverno

- off/on

- regolabile/bloccato

Il pulsante sembra attivato (quindi a 1) sul secondo valore e i torni contano.

Questa ovviamente è una supposizione.

dovresti provare a far cambiare il termoreg. e controllare successivamente

lo stato dei bits.

Edited by smoothhands

Share this post


Link to post
Share on other sites
Aleandro2008
esepio il primo bit estate/inverno ho 0 quindi estate? e il bit2 ho 1 quindi sbloccato?

se usi il demo "Termoregolazione" che è fornito di base negli esempi di LadderHome...

trovi spiegazioni sugli stati e visualizzi i singoli stati/comandi e come vengono utilizzati concretamente.... :smile:

Share this post


Link to post
Share on other sites
ilgio80

ok..

altra domandina..

per im postare il setpoint uso il registro 211

dall . dice di usare il byte basso ed il valore va da 0-45 C°

ma io non posso settare un setpoint con i decimali? tipo 30,5 ?

Share this post


Link to post
Share on other sites
Aleandro2008

sul modello MCT3 il setpoint si imposta senza decimali...

Share this post


Link to post
Share on other sites
ilgio80

si sul MCT da display si.. ma pensavo che se gli passavo i valori settando direttamente il registro potevo mettere anche il ,5

e invece sul DGT?

al registro 211 devo passare solo il valore intero? come (30) ?

:(

Share this post


Link to post
Share on other sites
Aleandro2008

sul DGT penso di si ma non saprei mi devo informare....

sul byte relativo al setpoint che vuoi gestire..... intendo quello di confort o mantenimento....

in ogni caso l'impostazione del setpoint di temperatura sui sistemi HomePLC con le nuove tecnologie in uscita sembra stia per divenire obsoleta... :smile:

Share this post


Link to post
Share on other sites
ilgio80

confort..

come stia per diventare obsoleta?

e come setto il setpoint del mio DGT?

prova a informarti su come passare al byte basso (30,5°)

:)

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