Vai al contenuto
PLC Forum


Moltiplicazioni E Divisioni Con Virgola


chinellatomarco

Messaggi consigliati

chinellatomarco

Scusate signori magari sarà una cavolata ma non ne vado fuori...

Dovrei fare delle divisioni e moltiplicazioni con numeri con la virgola, provo e riprovo ma non capisco i risultati

esempio faccio /F D10 D20 D30:

Divido il contenuto di D10 per D20 ne metto in D30.

Emepio banalissimo D10=10, D20=4, D30=2.5.

Ora mi aspetto di trovare il 5 (0,5) in D30 e 2 in D31 credo ...Mi viene fuori D30 = 0 e D31 =16416 ???????

Che è sta roba???


Ecco qui!

37458049ce6035bda3533697aa08ad7e.gif

Link al commento
Condividi su altri siti


I numeri in virgola mobile rispettano lo standard IEEE_754

Perciò all'interno delle due word troverai:

1 bit per il segno

8 bit per l'esponente

23 bit per la mantissa

Io lascio fare il tutto al sistema e mi limito a rappresentare i dati del tipo dato corretto.

Nel tuo caso prova al posto di channel a visualizzarli in real

Link al commento
Condividi su altri siti

ciao, e normale che vedi tutto cio, cioe in modo errato..

tu ai fatto nei blocchetti una divisione in floatin point (/f) mentre non ai dichiarato lo stesso nelle D, ma le hai dichiarate channell, se cambia la dichiarazione da channel a floting vedrai che tutto ti torna come ti aspetti..

ciao

Arnaldo Azzolini

Link al commento
Condividi su altri siti

  • 2 weeks later...

Ciao,

prova prima di effettuare le operazioni matematiche /F,*F a trasformare i dati che utilizzi con l'istruzione FLT che converte un dato INT 16 bit in un dato REAL 32 bit.

Dopo aver fatto questa operazione effettua le varie operazioni e se nella visualizzazione dichiari il canale come REAL troverai i valori desiderati.

Esempio:

FLT D10 D11(D11 32 bit)

FLT D20 D21(D21 32 bit)

/F D11 D21 D30

Se poi nello strumento test dichiari il tipo di dati REAL monitorando i canali D11 D21 e D30 verranno visualizzati i valori corretti.

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