Vai al contenuto
PLC Forum


Conversione da doppia virgola mobile a UINT


mirkoconsoli

Messaggi consigliati

Ciao a tutti,

 

su un CJ1M CPU22  sto cercando di convertire un valore a doppia virgola mobile, sempre positivo, in un valore UINT( o cumunque in una sola word) arrotondato e senza decimali per un'archiviazione in una area di memoria DM.

 

Per adesso ho utilizzato la funzione FIXD e sono arrivato ad un dato a 16 bit come posso proseguire la conversione tenendo presente che il mio valore contenuto nell'area a 64Bit non supererà mai il valore di +10.000

 

Grazie a tutti

Mirko

Link al commento
Condividi su altri siti


Beh, con la FIXD hai un dato a 16bit, cioè una word. Nella fattispecie sarà un INT.

Ma se il tuo valore non supererà mai 32767, allora non c'è alcuna differenza tra un INT e un UINT.

Pertanto il problema non sussiste.

Se poi vuoi proprio il risultato in una variabile dichiarata UINT, basta che fai una MOV del valore INT nel dato UINT. Avrai un warning ma chissenefrega

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