Vai al contenuto
PLC Forum


Spostamento Dm - come ?


minihidro

Messaggi consigliati

Devo spostare il contenuto di una DM con un numero decimale a virgola mobile in una CIO precisamente la CIO3110 (ovvero una delle CIO riservate il il collegamento seriale PC link.)

Ho provato con MOV , ma vengono dei gran pasticci... qualcuno sa darmi qualche dritta ?

Grazie ...

Link al commento
Condividi su altri siti


Un numero in virgola mobile occupa 2 word (canali) ed è codificato in forma particolare. Se lo devi trasferire in un canale devi prima convertirlo in numero intero, però perdi tutti i numeri a destra della virgola. Spero ti basti quanto scritto, Ciao

Link al commento
Condividi su altri siti

Se usi Omron, hai la bellezza di una guida on-line, dall'. in linea, su tutte le funzioni e quindi che tu non l'abbia trovata la dice un poco lunghetta. E' vero che le istruzioni variano un poco tra i diversi tipi di CPU, comunque usa MOVL, se non è suportata, cerca meglio per la tua CPU. Ovviamente, il canale sorgente e di destinazione dovranno essere di tipo REAL.

Link al commento
Condividi su altri siti

Senza entrare in polemica , ma il manuale l'ho letto ( ed il pc-link e' possibile solo su le cpu cj1m-cpl1 che mi risulti) ed ho provato sia il MOV che il MOVL .

Non funzionano !

Non serve quindi solo leggere il manuale.......

La parte decimale , mi serve ,ed e' questo il problema!! (forse)

Modificato: da minihidro
Link al commento
Condividi su altri siti

potresti moltiplicare il numero in modo che le tue cifre decimali facciano parte del numero intero, per esempio se hai 325, 456 come valore lo moltiplichi per 1000 e ti diventa 325456 così lo puoi mettere in una doppia word e non perdi alcun valore, poi quando fai l'operazione inversa di lettura devi ricordarti di dividere per 1000

Non so se mi sono spiegato però spesso uso questo sistema.

Link al commento
Condividi su altri siti

Ho seguito il tuo consiglio , ma non ho moltiplicato per 1000 ma per +1 e inserito il risualtato nella CIO e FUNZIONA !! :)

In pratica moltiplicando per 1 ottieni lo stesso risultato in virgola mobile inserito su una CIO.

Mi sembra comunque una soluzione di "ripiego" , possibile che non ci sia un'istruzione apposita ?

Ciao

Link al commento
Condividi su altri siti

  • 2 weeks later...

Scusa , ma come hai fatto ? A me non appare la stessa variabile in virgola mobile dopo aver eseguito una MOVL .....

E' solo un problema di visualizzazione ?

Link al commento
Condividi su altri siti

Confermo anch'io che, se il DM sorgente contiene già il dato in virgola mobile, la MOVL è sufficiente.

Considera che, a livello di bit, il numero reale è incomprensibile rispetto alla rappresentazione binaria standard (perchè dei 32 bit, oltre al bit di segno, una parte rappresenta la mantissa e una l'esponente del numero) quindi sì, credo che il tuo sia un problema di visualizzazione.

Prova ad aprire la finestra di controllo (ALT + 4) inserisci il tuo CIO3110 e come tipo di dato specifica REAL.

Ciao!

Modificato: da edogol
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...