igorte Posted March 27 Report Share Posted March 27 (edited) Sono alla mia prima integrazione di un modulo modbus che gestisce 8 PT100 (DAT8019) con un Logo 8.4. Mi servirebbe aiuto per capire come fare debug della mancata comunicazione dei parametri. status quo: Ho creato il progetto di rete e l'ho caricato su logo senza errori ho configurato il passaggio di informazioni passando ogni valore da modbus ad aree VW del logo. il device passa valori interi, senza virgole il progetto prevede che ogni AnalogInput di rete sia associato alla sua VW0. VW4, VW8,... poi ho un analog comparator settato come "senza sensore" ed i relativi parametri di comportamento ho programmato una pagina del display che dovrebbe far vedere il valore Ax(temperatura) dei rispettivi analog comparator. metto in run e visulazzo la pagina sul logo, ma il valore è fisso su 0, come se non leggesse vw sia il logo che il device modbus sono visibili in rete (accedo ai rispettivi webserver) Domande: esiste un modo per leggere/vedere (da logo o da PC) i valori VW che il DAT dovrebbe passare al logo? nella modalità simulazione non ho trovato modo di visualizzare ne' inserire valori di VW nel caso la tabella di traduzione modbus/logo fosse errata, dovrei ricevere un errore oppure resta "silenzioso"? altri suggerimenti di debug? Grazie, Igor Edited March 27 by igorte mancato ringraziamento Link to comment Share on other sites More sharing options...
igorte Posted March 28 Author Report Share Posted March 28 Posto immagine della mia attuale configurazione, sperando possa aiutare a comprendere il problema. Grazie < Link to comment Share on other sites More sharing options...
NoNickName Posted March 28 Report Share Posted March 28 Già non mi quadra la lunghezza dei datapoint. Un registro modbus sono 16 bit quindi 1 word, non 2. Ogni registro sono 2 byte, non 4 byte. Oppure se hai registri di 4 byte, e quindi sono 32 bit, il passo dei registri del DAT deve essere di 2 in 2. Link to comment Share on other sites More sharing options...
igorte Posted March 28 Author Report Share Posted March 28 Hai ragione, sulla scheda tecnica cita "- “REGISTER”, data of 2 bytes size (word of 16 bits) that can be associated to analogue input or output, variables, set-point, etc...". Ho provveduto a cambiare la tabella come di seguito, ma per ora non ho risolto. Aggiungo che mi è venuto il dubbio se devo compilare questa tabella e poi usare dei NAI (che leggono local variable memory VW) oppure dei NAI che leggono remote device. Sto cercando esempi in rete ma dei 3 provati nessuno mi ha portato a soluzione grazie, Igor Link to comment Share on other sites More sharing options...
NoNickName Posted March 28 Report Share Posted March 28 (edited) 1 ora fa, igorte ha scritto: Hai ragione, sulla scheda tecnica cita "- “REGISTER”, data of 2 bytes size (word of 16 bits) that can be associated to analogue input or output, variables, set-point, etc...". Ho provveduto a cambiare la tabella come di seguito, ma per ora non ho risolto. Sto cercando esempi in rete ma dei 3 provati nessuno mi ha portato a soluzione grazie, Igor Ma hai provato a interrogare il DAT con una utility tipo modpoll o similari? Tanto per avere la certezza che lo slave risponda. Poi andremo a vedere qual è il problema del master. Sono giusti i numeri dei registri? 40041 lo dice nel manuale? Hai provato anche il registro 41? Hai provato a pingare l'indirizzo 192.168.1.100? Edited March 28 by NoNickName Link to comment Share on other sites More sharing options...
igorte Posted March 28 Author Report Share Posted March 28 I registi 40041,... sono scritti sul manuale, ma sono sbagliati. Facendo vari tentativi mi sono proprio accorto che il 400 iniziale va tolto. Ora legge correttamente. adesso però devo capire: 1) se c'è modo di fargli leggere valori di temperatura negativi (al modulo modbus) 2) come impostare correttamente i guadagli su Logo per sfruttare al massimo il range di misura (ora mi sta gestendo da 0°a 100°) Link to comment Share on other sites More sharing options...
NoNickName Posted March 29 Report Share Posted March 29 10 ore fa, igorte ha scritto: I registi 40041,... sono scritti sul manuale, ma sono sbagliati. Facendo vari tentativi mi sono proprio accorto che il 400 iniziale va tolto. Ora legge correttamente. adesso però devo capire: 1) se c'è modo di fargli leggere valori di temperatura negativi (al modulo modbus) 2) come impostare correttamente i guadagli su Logo per sfruttare al massimo il range di misura (ora mi sta gestendo da 0°a 100°) Devi interpretare il dato proveniente dal dat. Normalmente in modbus vengono trasmessi uint16 (0-65535), ma nel caso di temperature di solito il dato è un int16 (-32767 a 32768), quindi devi guardare il primo bit. Se il primo bit è 1, il valore è negativo. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now