Vai al contenuto
PLC Forum


convertire dati da profinet


andrivan74

Messaggi consigliati

Buongiorno a tutti.

Con un s71200 e tia ver15.1 sto leggendo dei dati provenienti da un modulo profinet che trasmette un valore di posizione usando 4 byte.

Non considerando il byte 3 in quanto la taratura del modulo non potrà mai raggiungere valori tali, ho moltiplicato il byte2 per 65536 +il byte1 x256+ il byte0 per avere il valore dint

 

Così facendo ho ottenuto quello che mi serviva e lavora.

 

Vorrei però capire se esiste un modo più elegante per convertire questi 4 byte in un real oppure in qualcosa che mi permetta di poter avere anche numeri negativi.

Ho provato a simulare un valore negativo e nel caso di -1 tutti i byte assumono valori 255, presumo quindi che comincia a dare valori al contrario.

Grazie a chi mi risponderà

Buona serata

 

Link al commento
Condividi su altri siti


16 minuti fa, andrivan74 ha scritto:

ho ottenuto quello che mi serviva e lavora.

Non capisco.... perchè non leggi una DWord?

Se il byte 3 ti infastidisce fai un AND a FFFFFF... o no?

Ciao

Link al commento
Condividi su altri siti

Ciao drn5.

Chiaro che la domanda sembra banale, infatti continuavo ad insistere sulla dword ma non restituiva quello che doveva restituire in quanto c'era un conflitto di dword nelle variabili e i dati erano sbagliati. Ho sbagliato io a scrivere ib al posto di id e la cosa non funzionava.

Ho messo in serio dubbio la mia conoscenza di programmazione, sai gli anni passano :(( :((( ma durante la compilazione con v15.1 andava tutto bene.

Per scaramanzia ho fatto un nuovo progetto con la v16 e subito in compilazione mi ha detto che le variabili non sono univoche.

Ora funziona tutto e mi permetto anche di lasciare la il byte3.

Grazie per la tua pronta risposta

Buona serata

 

Link al commento
Condividi su altri siti

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...