lupusimprobus Inserito: 27 agosto 2008 Segnala Share Inserito: 27 agosto 2008 Buongiorno a tutti e grazie in anticipo per l'aiuto.Il mio problema appare molto semplice ma non riesco comunque a trovare una soluzione.Ho la necessità di copiare il valore di una variabile (in formato REAL) in un'altra variabile (anch'essa in formato REAL).Non trovo però una funzione (tipo F0_MV o F1_DMV) che si possa utilizzare con le variabili in formato REAL.L'unica che ho trovato è F309_FMV ma mi permette di copiare una costante in una variabile (entrambe in formato REAL) ma non una variabile in un'altra variabile.Il plc è un FP-X C60PDBuona giornata a tutti :-D Link al commento Condividi su altri siti More sharing options...
pineto Inserita: 28 agosto 2008 Segnala Share Inserita: 28 agosto 2008 Ciao,presumo che stai utilizzando FPWinGR.Puoi utilizzare una funzione matematica,ad esempio la funzione F310 addizioni una variabile Real con una costante 0 e memorizzi il risultato in un'altra variabile Real.Io ti consiglio anche di valutare di passare a FPWinPro,vedi non avresti questi problemi e un software molto piu evoluto e molto intuitivo.E poi utilizza lo standard IEC 61131-3,ti consiglio vivamente di provarloCiao Link al commento Condividi su altri siti More sharing options...
lupusimprobus Inserita: 29 agosto 2008 Autore Segnala Share Inserita: 29 agosto 2008 Capperi, è vero!Ho dimenticato di dire che software utilizzo :-(Comunque utilizzo il FPWIN pro ma il problema di copiare il valore contenuto in una variabile REAL in un'altra dello stesso tipo lo ho comunque.Ho utilizzato il sistema della somma con la funzione F310_FADD Sommando al valore sorgente una costante (ovviamente 0.0) e trasferendo il risultato nella variabile di destinazione.Pensavo ci fosse un altro modo e che non fossi riuscito a trovarlo.In effetti l'FPWIN pro è un software davvero notevole solo che sapendone utilizzare solo una minima parte vi è sempre la possibilità di scegliere la strada più tortuosa per risolvere un problema.Ad esempio, ieri ho avuto la necessità di copiare un array di 13 bit in un altro del medesimo tipo (ARRAY [0..12] OF BOOL) e non ho trovato altra soluzione che crearmi una funzione dedicata. Magari esiste qualcosa di pronto all'uso di cui io non sono a conoscenza. La paura è sempre quella di perdere tempo ad inventare l'acqua calda.Grazie per l'aiuto, Valerio. Link al commento Condividi su altri siti More sharing options...
pineto Inserita: 29 agosto 2008 Segnala Share Inserita: 29 agosto 2008 Comunque utilizzo il FPWIN pro ma il problema di copiare il valore contenuto in una variabile REAL in un'altra dello stesso tipo lo ho comunque.Io ho fatto delle prove, a me funziona correttamente.Comunqyue se utilizzi il PRO puo fare un'altra cosa,dichiara una variabile con indirizzo della tua DT "mi raccomando DDT per una Reale" tipo Reale e fai la stessa cosa per la variabile d'uscita,poi con l'istruzione MOVE muovi il contenuto di una sull'altra.Ad esempio, ieri ho avuto la necessità di copiare un array di 13 bit in un altro del medesimo tipo (ARRAY [0..12] OF BOOL) e non ho trovato altra soluzione che crearmi una funzione dedicata. Magari esiste qualcosa di pronto all'uso di cui io non sono a conoscenzaAdesso vado a stento perche non ho molto tempo per vedere il tool, comunque una cosa che mi viene a mente e di utilizzare la conversione di un array a 16 bit in intero e poi da intero a array a a6 bit in modo da copiarti il contenuto di uno sull'altro.Comunque ci sono altri modi per copiare il contenuto di un array su di un altro array ,questo e uno di quelli che mi è venuto in mente adessoLa paura è sempre quella di perdere tempo ad inventare l'acqua calda.Considera il set di istruzioni che possiede questo tool di sviluppo,sicuramente aiuta e semplifica di molto il lavoro Link al commento Condividi su altri siti More sharing options...
pineto Inserita: 29 agosto 2008 Segnala Share Inserita: 29 agosto 2008 comunque una cosa che mi viene a mente e di utilizzare la conversione di un array a 16 bit in intero e poi da intero a array a a6 bit in modo da copiarti il contenuto di uno sull'altro.Scusami ma la soluzione migliore di è di utilizzare l'istruzione MOVE dovi muovi la struttura del primo array sulla seconda,semplice veloce e funzionale.Mi ero andato a complicare le cose perche non ero sicuro che con il MOVE si potesse muovere una struttora di variabili BOOL Link al commento Condividi su altri siti More sharing options...
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