minihidro Inserito: 20 agosto 2010 Segnala Inserito: 20 agosto 2010 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 ...
amed Inserita: 20 agosto 2010 Segnala Inserita: 20 agosto 2010 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
mubeta Inserita: 20 agosto 2010 Segnala Inserita: 20 agosto 2010 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.
minihidro Inserita: 21 agosto 2010 Autore Segnala Inserita: 21 agosto 2010 (modificato) 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: 21 agosto 2010 da minihidro
_kevin Inserita: 21 agosto 2010 Segnala Inserita: 21 agosto 2010 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 1000Non so se mi sono spiegato però spesso uso questo sistema.
minihidro Inserita: 23 agosto 2010 Autore Segnala Inserita: 23 agosto 2010 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
mubeta Inserita: 24 agosto 2010 Segnala Inserita: 24 agosto 2010 Per scrupolo ho appena verificato, e ti garantisco che non serve nulla di più che un MOVL.
minihidro Inserita: 4 settembre 2010 Autore Segnala Inserita: 4 settembre 2010 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 ?
edogol Inserita: 8 settembre 2010 Segnala Inserita: 8 settembre 2010 (modificato) 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: 8 settembre 2010 da edogol
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora