Vai al contenuto
PLC Forum


CONVERSIONE WORD IN DECIMALE - CONVERSIONE WORD IN DECIMALE


jawdb212

Messaggi consigliati

Chiedo scusa non sono pratico di programmazione , mi ritrovo con un file dat creato con la funzione esporta dati del PL/ PRO.

In questo file ho dei valori che dovrei recuperare ma sono senza PLC .

In una MW ho un determinato valore che pero' essendo una doppia word

non e' corrispondente al reale .

Come faccio a ricavarmi il valore reale da questa doppia word presente in questo file.

Sono senza PLC e quindi non ricavarlo da lui stesso.

Vi ringrazio

Link al commento
Condividi su altri siti


Gabriele Corrieri

Ciao Tony,

c'è una formula (che non so nemanco io come funzia, è un formato IEEE) però se posti il fatidico numero, o la serie io, o altri con plc o simulatori a casa possiamo convertirteli in real.

Ciao

Link al commento
Condividi su altri siti

Ciao Gabriele ti ringrazio il numero in questione e' 16575 ed in valore reale dovrebbe essere intorno mi pare ai sette milioni ( salvo cattivi ricordi ) .

Non posso caricare il vecchio dat sulla macchina che ormai sta' lavorando ma allo stesso tempo mi e' stato chiesto se e' possibile recuperare il dato di produzione cancellato erroneamente dall'operatore .

Il vecchio dat e' di un backup fatto circa una settimana fa' che puo' andare bene.

Ciao ci sentiamo .

Se ci riesci fammi sapere come fai cosi' la prossima volta non ti disturbo.

Link al commento
Condividi su altri siti

Non ho un plc sottomano per verificarlo ma penso che funzioni così:

Se ad esempio hai %MW100 che nel tuo dat vale 123 e la %MW101 vale 45

la %MD100 dovrebbe essere 45*65536+123 cioè 2949243

Per tanto se il tuo valore 16575 è nella MW "bassa" e quella superiore è zero il valore della MD è effettivamente 16575. Viceversa se le word sono invertite il valore diventa 16575*65536+0 = 1086259200

ciao

Andrea

Link al commento
Condividi su altri siti

andrea.fa+Nov 15 2002, 08:16 AM-->
CITAZIONE(andrea.fa @ Nov 15 2002, 08:16 AM)

Giusto!

Inoltre se posti i tuoi valori, facciamo una verifica.

Ricordati che ci devi dire i valori di entrambe le Word!

Link al commento
Condividi su altri siti

Gabriele Corrieri

Ciao

io non mi ci ritrovo ...

io sto facendo delle prove con PLCSIM Simatic, in pratica ho aperto più di una finestra sulla stessa variabile.

Ecco i risultati, o perlomeno, le anomalie:

- 16575 in che formato è? Intero? o Binario (Hex)?

- se fosse hex il risultato sarebbe 7.231124e+022, che ovviamente non ha senso (abbiamo almeno 16 ordini di grandezza di differenza). Se le word fossero invertite il risultato sarebbe 1.282314e-040, altrettanto privo di significato.

- se fosse intero il risultato sarebbe 1.809458e-023, se invertiamo le word otteniamo 1.010490e-040.

Il risultato più ... serio sarebbe quello sopra, se ovviamente il numero 'reale' che intende Antonino è in formato FP-IEEE a virgola mobile, poi non so bene come funziona il sistema su Telemecanique.

Posto in qui sottoun metodo di conversione da binario (a 32bit) a real in virgola mobile, formato FP-IEEE, non lo metto qui perchè la grafica associata verrebbe mal visualizzata, chi è interessato scarichi il pdf.

Ciao

Link al commento
Condividi su altri siti

Abbiate pazienza :

Tutto cio' che so' e' questo :

1) nel PLC e' una doppia word ; nel collegamento effettuato una settimana fa' mi ricordo una cifra intorno ai sei o sette milioni .

Cifra che ora putroppo e' stata azzerata per errore da HMI e che pero' mi e'stato chiesto se e' possibile ripristinare .

2) ho il file dat salvato una settimana fa' col il PL7 ed in quella MW mi visualizza il numero 58016 ; ( il dato inserito all'inizio del post era sbagliato ) .

Questi sono i dati che mi ritrovo. Ciao ragazzi

Se ci riesco bene , altrimenti pazienza.

Link al commento
Condividi su altri siti

Gabriele Corrieri

Ciao Tony,

... desumo che la cifra sia in decimale, in hex occuperebbe due word, i risultati non sono comunque significativi si parla di un esponente -40 o -41 ...

Vorrei solo capire se ti interessa il valore in virgola mobile oppure qualcos'altro, che finora mi sfugge.

Ciao

Link al commento
Condividi su altri siti

Gabriele Corrieri

Ciao Antonino,

allora i ragionamenti sono quelli di Andrea, con le dovute correzioni al numero originale.

Quel 7 milioni (a meno che sia scalato in qualche modo) non viene fuori da nessun sistema di conversione, ripeto, a meno che non ci sia una scalatura (moltiplicazione o divisione per quache altro parametro) in gioco.

Ciao

Link al commento
Condividi su altri siti

NO NON C'E' NESSUNA SCALATURA .

AL PRIMO FERMO MACCHINA GLI BUTTO GIU' IL VECCHIO FILE DAT ( DOPO AVER SALVATO IL NUOVO ) E COSI' VEDO IL RISULTATO DIRETTAMENTE

SUL PLC IL RISULTATO .

CIAO

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