ate_sas Inserito: 16 ottobre 2015 Segnala Share Inserito: 16 ottobre 2015 Salve,in una comunicazione modbus ho la necessità di prelevare variabili LONG INT, definite come 32bit Int; l'accesso è di tipo Holding Register per 2 registri.Il mio sistema di acquisizione, DCS della Geip, funziona in modo simile al Modscan o altri simulatori semplici ModbusMaster sulla Seriale con protocollo ModbusRTU.Normalmente utilizzo la formula per Word1*65536+Word2 per ottenere il valore sia unsigned che signedInt a 32 bit.Uno strumento in particolare, però, non mi da il corretto risultato con questa formula; utilizzano un OPC ModbusServer con la codifica VT_I4 (4byte) e puntandoagli stessi registri, che ho verificato singolarmente, mi da il valore corretto letto sul display! Ho provato a cercare in rete come scrivere questo dataType ma non sono riuscito a trovare nulla che mi indicasse la specifica per comporre i due signed_integer in VT_I4.Qualcuno ha esperienza in merito? O può indicarmi come combinare i due registri.Grazie. Link al commento Condividi su altri siti More sharing options...
SandroCalligaro Inserita: 10 novembre 2015 Segnala Share Inserita: 10 novembre 2015 Magari l'hai già visto, comunque qui ne parlano:http://www.wago.com/wagoweb/documentation/759/eng_manu/311/m07590311_00000000_0en.pdf La differenza tra il caso che indichi tu e questo mi sembra il fatto che qui il numero intero è con segno, quindi probabilmente sarà in complemento a 2. Link al commento Condividi su altri siti More sharing options...
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