Vai al contenuto
PLC Forum


S7200 Protocollo Trasmissione Msb--->lsb Invertite


Messaggi consigliati

Inserito:

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


Inserita:
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 1

LD "always ON"

SWAP IW0 //swap MSB with LSB

MOVW IW0, MW0 //move results to dummy word

Per 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 2

LD "always ON"

MOVW MW4, AW4

SWAP AW4 //swap MSB with LSB

Ivan

Inserita:

Grazie per la risposta Ivan

nel caso i valore prelevato fosse una doppia word dovrei usare lo swap su ognuna delle due word e poi trasferirle invertendole

vb3 vb2 vb1 vb0

00 44 55 66 doppia word da protocollo modbus organizzazione memorie Big-Endian byte + significativo all'indirizzo + basso (cioè trasmesso per primo)

swap

44 00 66 55 swap byte per ogni word

trasferisci vwo in vw12 inverto l'ordine delle word

trasferisci vw2 in vw10

vb13 vb12 vb11 vb10 risultato il byte + significativo ora si trova all'indirizzo vb + alto compatibile con lo standar S7200

66 55 44 00

dovrebbe essere cosi o ho scritto una ****.

Grazie Fabrizio

Inserita:
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

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...