pescediavolo Inserito: 7 agosto 2007 Segnala Inserito: 7 agosto 2007 Buongiorno a tutti:dopo aver realizzato un rete modbus che comunica con una serie di strumentazioni di supervisione di consumi mi ritrovo con il problema che il protocollo trasferisce i byte piu significativi all'indirizzo più in basso, mentre il meno significativo all'indirizzo più alto, il contrario di come interpreta il valore S7200.C'è una sappatoia per ovviare a questo problema?Grazie Fabrizio
kamikaze Inserita: 7 agosto 2007 Segnala Inserita: 7 agosto 2007 C'è una sappatoia per ovviare a questo problema?Se ti trovi MSB ed LSB invertiti , usa per leggere i dati dal campo l'istruzione SWAP.NETWORK 1LD "always ON"SWAP IW0 //swap MSB with LSBMOVW IW0, MW0 //move results to dummy wordPer scriverli i dati a campo, usa una word di appoggio, poi attraverso l'istruzione SWAP , scrivi la word nell'indirizzo OUT che ti interessa.Network 2LD "always ON"MOVW MW4, AW4 SWAP AW4 //swap MSB with LSBIvan
pescediavolo Inserita: 7 agosto 2007 Autore Segnala Inserita: 7 agosto 2007 Grazie per la risposta Ivannel caso i valore prelevato fosse una doppia word dovrei usare lo swap su ognuna delle due word e poi trasferirle invertendolevb3 vb2 vb1 vb000 44 55 66 doppia word da protocollo modbus organizzazione memorie Big-Endian byte + significativo all'indirizzo + basso (cioè trasmesso per primo) swap44 00 66 55 swap byte per ogni word trasferisci vwo in vw12 inverto l'ordine delle wordtrasferisci vw2 in vw10vb13 vb12 vb11 vb10 risultato il byte + significativo ora si trova all'indirizzo vb + alto compatibile con lo standar S720066 55 44 00dovrebbe essere cosi o ho scritto una ****.Grazie Fabrizio
Savino Inserita: 11 agosto 2007 Segnala Inserita: 11 agosto 2007 mi ritrovo con il problema che il protocollo trasferisce i byte piu significativi all'indirizzo più in basso, mentre il meno significativo all'indirizzo più alto, il contrario di come interpreta il valore S7200.E' una propieta' particolare della architettura dei PLC Siemens... SIMATIC: 15..............0 BYTE 0 BYTE 1 INTEL: 15..............0 BYTE 1 BYTE 0
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