omar1971 Inserito: 10 gennaio 2016 Segnala Inserito: 10 gennaio 2016 Ciao, ragazzi... ho,le idee un pò confuse, ma soprattutto non ho le basi....per mettere in funzione ciò che vorrei realizzareSi tratta di gestire completamente o quasi parte dell'impianto domotico di casa realizzato con una nota marca Milanese DUEMMEGI con il software OpenHab. Tale prodotto comunica mediante il protocollo modbus su porta seriale 19200 baud; No parity; 8 data bits; 1 stop bitSi può interagire mediante le word e bit es: word 1 bit 1 = uscita 1 word 1 bit 2 = uscita 2 word 1 bit 3 = uscita 3 word 1 bit 4 = uscita 4 oppure word 100 = temperatura ambiente.Mi piacerebbe avere la possibilità di storicizzare dei dati e poterli visualizzare su di un grafico come nel demo di OpenHabHo installato OpenHab su Windows 7 ed il demo funziona, ho installato anche OpenHab Designer, ma non capisco il funzionamento.Chiedo: esiste un esempio di ciò che ho espresso? chi mi può aiutare a capire come muovermi...A progetto ultimato... vorrei utilizzare un RasberryPi come web serverciao... grazie per l'aiuto
Ivan Botta Inserita: 10 gennaio 2016 Segnala Inserita: 10 gennaio 2016 Omar, hai aperto 3 discussioni identiche, ne ho eliminate 2.La prossima volta presta per favore maggiore attenzione, grazie.
smoothhands Inserita: 10 gennaio 2016 Segnala Inserita: 10 gennaio 2016 Ciao omar1971,il problema principale è quello di interfacciare il pc (o altro) su cui hai installato openHABe il sistema della DUEMMEGI.Ho dato un'occhiata al sito e al catalogo: se sei in possesso dell'unità DFCP 4 avrestianche la porta LAN e in questo modo potresti sfruttare l'addon Modbus Tcp di openHAB.Se hai puntato direttamente sul modbus RTU probabilmente hai la DFCP cha ha soloRS232 e RS485 e a questo punto è un pò più complicato.C'è un addon per openHAB che permette di inviare array di caratteri su porta seriale.Prima di avventurarsi sulla RS485 e modbus RTU potresti provare ad interfacciareil sistema domotico direttamente con la RS232.Hai un pò più limitazioni ma per fare delle prove può essere un bon inizio.
omar1971 Inserita: 11 gennaio 2016 Autore Segnala Inserita: 11 gennaio 2016 Ciao grazie per l'attenzione Purtroppo la compnentistica installato non l'ultimo midello ... Ora mi con netto al sistema domotico tramite il modulo DFTS della DUEMMEGI con comunicazione seriale modbus rtu
smoothhands Inserita: 11 gennaio 2016 Segnala Inserita: 11 gennaio 2016 Beh comunque da manuale sembra che il DFTS ha comunque la RS232e c'è scritto proprio che anche sulla RS232 ci vuoleo il protocollo proprietario o il modbus RTU.Fortunatamente leggendo meglio le info sul binding modbus pare chesia possibile configurarlo anche per lavorere con modbus rtu su seriale.A questo punto dovresti connettere con cavo seriale (crossed) il pccon il DFTS, che ha un connettore frontale, e poi un pò alla volta tentiamodi impostare openhab assieme. Non l'ho mai fatto però ci possiamo provare.
electricb Inserita: 11 gennaio 2016 Segnala Inserita: 11 gennaio 2016 Impossibile.... Sul dfrs non puoi avere un collegamento mater slave modbus perché non è implementato.Sul dfrs puo solo collegarti tramite 232 con protocollo 2mg dxp+Per utilizzare il protocollo modbus rtu devi utilizzare il dfts o il dfcp attraverso il canale 232 o 485 o il dfcp4 con 232 485 e eth
smoothhands Inserita: 12 gennaio 2016 Segnala Inserita: 12 gennaio 2016 ma non ha scritto che ha il DFTS?
omar1971 Inserita: 12 gennaio 2016 Autore Segnala Inserita: 12 gennaio 2016 (modificato) Si ragazzi DFTS confermo Rs232 protocollo MODBUS RTUMentre il DFRS sull'unica porta seriale si ha il protocollo proprietario Modificato: 12 gennaio 2016 da omar1971
electricb Inserita: 12 gennaio 2016 Segnala Inserita: 12 gennaio 2016 (modificato) Si ragazzi :.. Scusate.. Devo aver letto male.!!!! I vapori dell'alcol bevuto durante le feste ... Scusate ancora !!!!!!!!!!!! Modificato: 12 gennaio 2016 da electricb
smoothhands Inserita: 12 gennaio 2016 Segnala Inserita: 12 gennaio 2016 (modificato) Allora direi di cominciare.Come puoi leggere in questa discussione vanno scaricati alcuni file di archivio con quello che serve.Se hai già installato il demo io fossi in te ricomincerei da capo per avere una installazione pulita.Magari tieni l'installazione vecchia cambiando di nome alla directory.Estrai il pacchetto runtime e quello addon (in una directory separata) di cui useremo solo qualche file.Copi i file:org.openhab.persistence.rrd4j-1.7.1.jarorg.openhab.binding.modbus-1.7.1.jarnella cartella addon della directory di openHAB e questo dovrebbe essere tutto ciò che ti serve.Poi va creata una copia del file openhab_default.cfg rinominandola openhab.cfg che diventeràil file di configurazione di openHAB.Visto che avevi già installato openHAB Designer lo apri e gli fai puntare la directory configurationdella nuova installazione di openHAB che hai appena fatto. Devi utilizzare l'icona a forma di cartelletta arancione che vedi nell'immagine qui sopra.Direi che se ti porti a questo punto siamo pronti veramente per partire. Fammi sapere. Questa, a parte i due addons, è la base di ogni nuova installazione di openHAB versione 1.x.openHAB Designer è utile inizialmente perchè è dotato in alcuni casi di autocompletamentoe quindi semplifica l'inserimento di codice. Inoltre evita che, in alcuni casi, vi sia qualcheproblema di codifica di carattere nei file di configurazione. Modificato: 12 gennaio 2016 da smoothhands
omar1971 Inserita: 12 gennaio 2016 Autore Segnala Inserita: 12 gennaio 2016 Ti ringrazio immensamente... per l'aiuto...stasera non riesco a provare, presumo di non incontrare problemi eseguendo ciò che mi hai indicatoe spero che tu possa accompagnarmi per mano in questa nuova esperienza.Grazie
omar1971 Inserita: 12 gennaio 2016 Autore Segnala Inserita: 12 gennaio 2016 ciao smoothhands.. ho fatto tutto come mi hai indicato...
smoothhands Inserita: 13 gennaio 2016 Segnala Inserita: 13 gennaio 2016 (modificato) A questo punto va collegato il pc al DFTS e va configurato il binding modbus.Apriamo da Designer il file openhab.cfg che era stato copiato da openhab_default.cfg.La parte che ci interessa è questa...############################### Modbus Binding ######################################## # # sets refresh interval to Modbus polling service. # Value in milliseconds (optional, defaults to 200) #modbus:poll= # host (mandatory) #modbus:slave1.host= # The data type, can be "coil" "discrete" "holding" "input" #modbus:slave1.type= # the TCP port (optional, defaults to '502') #modbus:slave1.port= # The slave id (optional, defaults to '1') #modbus:slave1.id= # The slave start address (optional, defaults to '0') #modbus:slave1.start= # The number of data item to read # (optional, defaults to '0' - but set it to something meaningful) #modbus:slave1.length= # Value type, required for combined registers (details: http://www.simplymodbus.ca/FAQ.htm#Types) # Can be "bit", "int8", "uint8", "int16", "uint16", "int32", "uint32", "float32" # (optional, defaults to 'uint16') #modbus:slave1.valuetype=Come vedi ci sono delle cose opzionali e che quindi, se ti vanno bene così, puoi lasciare commentate.Ad esempio l'intervallo di refresh impostato a 200msec.La pagina web a cui fare sempre riferimento è https://github.com/openhab/openhab/wiki/Modbus-Tcp-BindingLa prima cosa a cui prestare attenzione è questa...Remark : in "openhab_default.cfg", the modbus binding section has a wrong key "host", this doesn't work if you put your slave ip address here. So you have to replace "host" by "connection" witch is the right key as mentioned above.Quindi, visto che tutti i parametri sono commentati con #, potremmo lasciarli dove sono perprenderli come riferimento e aggiungere le righe che ci servono...modbus:serial.slave1.connection=COM2:19200:8:even:1:rtu Questa è la prima in cui il significato è quello seguente:modbus:<slave-type>.<slave-name>.<slave-parameter>dove <slave-type> può essere tcp oppure serial<slave-name> è un nome scelto da te... ho messo slave1 e...<slave-parameter> nel tuo caso è connection (al posto di host) con ulterioriparametri [:baud:dataBits:parity:stopBits:encoding] La le altre righe che inserirei sono queste...modbus:serial.slave1.lenght=4 modbus:serial.slave1.type=coilMancherebbero i parametri id e start.Il parametro <id> è l'indirizzo dello slave in quanto openHAB agirebbe come masteriniziando le richieste sul bus (ma non hai indicato nulla nel tuo primo post) e il default è 1.Il parametro <start> indica l'indirizzo di partenza dal quale estrarre un totale di <lenght> coils.Visto che avevi indicato la word 1 e il binding imposta il valore 0 come default secondome potrebbe funzionare (di solito si usa un offset=1 dal valore indicato).Non ti resta che avviare openHAB e vedere cosa succede.Ti consiglio di utilizzare start_debug.bat in modo da vedere a console cosa stacombinando openHAB. Modificato: 13 gennaio 2016 da smoothhands
omar1971 Inserita: 14 gennaio 2016 Autore Segnala Inserita: 14 gennaio 2016 grazie, ho provato a realizzare quanto hai descritto impostando il file configurazione mediante il Designer come segue, aggiungendo start 400 (presumo che sia la word che dovrei andare a leggere) visto che:dalla word 001 alla 255 vengono riportati lo stato degli ingressi dal modulo 001 al 255dalla word 257 alla 511 vengono riportati lo stato delle uscite dal modulo 001 al 255quindi volendo monitorare il modulo uscita 144 uscita 1-2-3-4 ho pensato che il parametro start lo devo impostare a 400ho avviato start debug ma vedo a schermo scorrere una valanga di stringhe e verso la fine del caricamento leggo si diverse righe modbus--- [ERROR] ---- readquindi presumo ci siano problemi di comunicazione..Domani riprovo con più calma..############################### Modbus Binding ########################################## sets refresh interval to Modbus polling service.# Value in milliseconds (optional, defaults to 200)#modbus:poll= # host (mandatory)#modbus:slave1.host= # The data type, can be "coil" "discrete" "holding" "input"#modbus:slave1.type= # the TCP port (optional, defaults to '502')#modbus:slave1.port= # The slave id (optional, defaults to '1')#modbus:slave1.id= # The slave start address (optional, defaults to '0')#modbus:slave1.start= # The number of data item to read# (optional, defaults to '0' - but set it to something meaningful)#modbus:slave1.length= # Value type, required for combined registers (details: http://www.simplymodbus.ca/FAQ.htm#Types)# Can be "bit", "int8", "uint8", "int16", "uint16", "int32", "uint32", "float32"# (optional, defaults to 'uint16')#modbus:slave1.valuetype= #Questa è la prima in cui il significato è quello seguente:#modbus:<slave-type>.<slave-name>.<slave-parameter>#dove:#<slave-type> può essere tcp oppure serial#<slave-name> è un nome scelto da te... ho messo slave1 e...#<slave-parameter> nel tuo caso è connection (al posto di host) con ulteriori#parametri [:baud:dataBits:parity:stopBits:encoding]modbus:serial.slave1.connection=COM2:19200:8:even:1:rtu #La le altre righe che inserirei sono queste...modbus:serial.slave1.start=400modbus:serial.slave1.lenght=4modbus:serial.slave1.type=coil
smoothhands Inserita: 14 gennaio 2016 Segnala Inserita: 14 gennaio 2016 (modificato) Non ti preoccupare della valanga di stringhe... è normale.Se metti la finestra a tutto schermo rimane tutto un pò più ordinato.Il ragionamento che hai fatto sul coil penso sia corretto però iometterei 399 per via dell'offset usuale.Poi un appunto... io ho scritto COM2 ma bisogna trovare lacom esatta che utilizzi in questo momento. Poi non sò quante uscite ha il modulo fisico per cui avevomesso 4 come valore ma potrebbe essere anche di più.Sto andando per tentativi.Quando riprovi ad avviare openHAB ci ricopi le scritte di errore così proviamo a vedere se ci dice qualcosa che può aiutarci?Alla prossima. Modificato: 14 gennaio 2016 da smoothhands
omar1971 Inserita: 14 gennaio 2016 Autore Segnala Inserita: 14 gennaio 2016 Ciao la porta COM2 è corretta, perchè la usco per interfacciarmi al software di programmazione della DUEMMEGIi punti di uscita in questo caso (word 400) sono 4per il riferimento word provo con 399 (anche se il manuale riporta una tabella di comparazione fra ID modulo e word)per copiare le stringhe di errore non so come fare perchè le righe sono sempre in rotazione quindi impossibile fare un copia ed incolla .. e nemmeno facile leggere / trascrivere correttamente l'errore. Comunque ci provo...
smoothhands Inserita: 14 gennaio 2016 Segnala Inserita: 14 gennaio 2016 (modificato) A un certo punto comunque lo sbrodolo di scritte dovrebbe fermarsi.A quel punto puoi tornare indietro con il mouse e riuscire a fare copia e incolla.Oppure nella directory logs di openHAB dovresti avere un file con tutti log di sistema.Nel tuo caso, che hai appena iniziato, non dovrebbe essere particolarmente grande.Quale id di partenza utilizzare è un problema minore... prima bisogna capireperchè non riesce a comunicare. Modificato: 14 gennaio 2016 da smoothhands
omar1971 Inserita: 14 gennaio 2016 Autore Segnala Inserita: 14 gennaio 2016 eccoti ciò che ho copiato ...---18:55:26.217 [DEBUG] [.p.internal.PersistenceManager:147 ] - Initializing rrd4j persistence service.18:55:26.503 [DEBUG] [c.internal.ModelRepositoryImpl:64 ] - Configuration model 'rrd4j.persist' can not be found18:55:26.510 [DEBUG] [p.r.i.charts.RRD4jChartServlet:118 ] - Starting up rrd chart servlet at /rrdchart.png18:55:27.611 [INFO ] [.service.AbstractActiveService:169 ] - Modbus Polling Service has been started18:55:28.118 [ERROR] [i.modbus.io.ModbusRTUTransport:166 ] - Last request: 01 01 01 90 00 00 3d db18:55:28.120 [ERROR] [i.modbus.io.ModbusRTUTransport:167 ] - failed to read: Error reading response18:55:28.121 [ERROR] [w.m.io.ModbusSerialTransaction:197 ] - execute try 1 error: I/O exception - failed to read18:55:29.124 [ERROR] [i.modbus.io.ModbusRTUTransport:166 ] - Last request: 01 01 01 90 00 00 3d db18:55:29.125 [ERROR] [i.modbus.io.ModbusRTUTransport:167 ] - failed to read: Error reading response18:55:29.127 [ERROR] [w.m.io.ModbusSerialTransaction:197 ] - execute try 2 error: I/O exception - failed to read18:55:30.130 [ERROR] [i.modbus.io.ModbusRTUTransport:166 ] - Last request: 01 01 01 90 00 00 3d db18:55:30.131 [ERROR] [i.modbus.io.ModbusRTUTransport:167 ] - failed to read: Error reading response18:55:30.134 [DEBUG] [.b.modbus.internal.ModbusSlave:342 ] - ModbusSlave:I/O exception - failed to read18:55:30.141 [INFO ] [.b.modbus.internal.ModbusSlave:310 ] - ModbusSlave errorgetting responce from slave18:55:30.344 [DEBUG] [b.m.internal.ModbusSerialSlave:117 ] - connection was null, going to create a new one18:55:30.854 [ERROR] [i.modbus.io.ModbusRTUTransport:166 ] - Last request: 01 01 01 90 00 00 3d db18:55:30.855 [ERROR] [i.modbus.io.ModbusRTUTransport:167 ] - failed to read: Error reading response18:55:30.857 [ERROR] [w.m.io.ModbusSerialTransaction:197 ] - execute try 1 error: I/O exception - failed to read18:55:31.863 [ERROR] [i.modbus.io.ModbusRTUTransport:166 ] - Last request: 01 01 01 90 00 00 3d db18:55:31.865 [ERROR] [i.modbus.io.ModbusRTUTransport:167 ] - failed to read: Error reading response18:55:31.867 [ERROR] [w.m.io.ModbusSerialTransaction:197 ] - execute try 2 error: I/O exception - failed to read18:55:32.872 [ERROR] [i.modbus.io.ModbusRTUTransport:166 ] - Last request: 01 01 01 90 00 00 3d db18:55:32.873 [ERROR] [i.modbus.io.ModbusRTUTransport:167 ] - failed to read: Error reading response18:55:32.875 [DEBUG] [.b.modbus.internal.ModbusSlave:342 ] - ModbusSlave:I/O exception - failed to read18:55:32.882 [INFO ] [.b.modbus.internal.ModbusSlave:310 ] - ModbusSlave errorgetting responce from slave18:55:33.084 [DEBUG] [b.m.internal.ModbusSerialSlave:117 ] - connection was null, going to create a new one18:55:34.094 [ERROR] [i.modbus.io.ModbusRTUTransport:166 ] - Last request: 01 01 01 90 00 00 3d db18:55:34.096 [ERROR] [i.modbus.io.ModbusRTUTransport:167 ] - failed to read: Error reading response18:55:34.097 [ERROR] [w.m.io.ModbusSerialTransaction:197 ] - execute try 1 error: I/O exception - failed to read18:55:35.102 [ERROR] [i.modbus.io.ModbusRTUTransport:166 ] - Last request: 01 01 01 90 00 00 3d db18:55:35.103 [ERROR] [i.modbus.io.ModbusRTUTransport:167 ] - failed to read: Error reading response18:55:35.105 [ERROR] [w.m.io.ModbusSerialTransaction:197 ] - execute try 2 error: I/O exception - failed to read18:55:35.610 [ERROR] [i.modbus.io.ModbusRTUTransport:166 ] - Last request: 01 01 01 90 00 00 3d db18:55:35.611 [ERROR] [i.modbus.io.ModbusRTUTransport:167 ] - failed to read: Error reading response18:55:35.613 [DEBUG] [.b.modbus.internal.ModbusSlave:342 ] - ModbusSlave:I/O exception - failed to read18:55:35.619 [INFO ] [.b.modbus.internal.ModbusSlave:310 ] - ModbusSlave errorgetting responce from slave18:55:35.821 [DEBUG] [b.m.internal.ModbusSerialSlave:117 ] - connection was null, going to create a new one
smoothhands Inserita: 14 gennaio 2016 Segnala Inserita: 14 gennaio 2016 (modificato) Allora questo...18:55:26.503 [DEBUG] [c.internal.ModelRepositoryImpl:64 ] - Configuration mode l 'rrd4j.persist' can not be found lo risolviamo dopo. Non è nulla di particolare: ci servirà per generare i grafici che chiedevi.Questo...Last request: 01 01 01 90 00 00 3d dbè il modbus ADU (Application Data Unit) ed è una roba del tipo...<header> <function> <starting address> <quantity of inputs> <CRC>Mancherebbe l'informazione sui <quantity of inputs> stranamente... in quanto 0x0190 in esadecimale equivale a 400 in decimalee sappiamo a cosa ci riferiamo.Ah... forse ho capito... hai scritto male...modbus:serial.slave1.lenght=4è length il parametro corretto. Modificato: 14 gennaio 2016 da smoothhands
smoothhands Inserita: 14 gennaio 2016 Segnala Inserita: 14 gennaio 2016 Mi correggo... io ho scritto male e tu hai copiato troppo bene
omar1971 Inserita: 15 gennaio 2016 Autore Segnala Inserita: 15 gennaio 2016 (modificato) ciao, ho modificato il parametro length, lanciato il debug... ma non ho risolto nulla...se non ti offendi ... per aiutarti , tempo fa avevo provato una connessione con il software movicon, e le prove effettuate erano andate a buon fine, riuscendo a comunicare con il sistema di supervisione, ti allego delle immagini delle configurazioni Modificato: 15 gennaio 2016 da omar1971
smoothhands Inserita: 15 gennaio 2016 Segnala Inserita: 15 gennaio 2016 (modificato) perchè dovrei offendermi?ti avevo avvertito che si andava per tentativi...ed è contemplata pure la non riuscita.posta pure il materiale e vediamo se ne saltiamo fuori. una curiosità... come è cambiato il log. se è cambiato?Un'altra cosa da provare è cambiare la parità da even a none.Sulla pagina del binding c'è scritto che supporta solo even e oddma in rete ho trovato anche qualcuno che faceva delle prove con none.Un tentativo si può anche fare. Modificato: 15 gennaio 2016 da smoothhands
smoothhands Inserita: 15 gennaio 2016 Segnala Inserita: 15 gennaio 2016 Un'altra cosa da verificare è l'id del dispositivo.Dato che non abbiamo inserito nulla openHAB presume che siaslave e abbia id = 1.openHAB invece è il master.
omar1971 Inserita: 15 gennaio 2016 Autore Segnala Inserita: 15 gennaio 2016 Ciao scusami il ritardo ecco la configurazione del DFTS della DUEMMEGI con il software Movicon... spero ci possano aiutare..
omar1971 Inserita: 15 gennaio 2016 Autore Segnala Inserita: 15 gennaio 2016 (modificato) bello non si capisce una cippa....non riesco ad allegare immagini di dimensioni tali da poter visualizzare decentemente il contenuto.. Modificato: 15 gennaio 2016 da omar1971
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora