Mauro76 Inserito: 2 gennaio 2015 Segnala Share Inserito: 2 gennaio 2015 salve a tutti, volevo sapere come convertire un intero che va da 0 a 100% in un uscita analogica 0 - 27468. Ho fatto lo scale (FC105) è giusto ? Link al commento Condividi su altri siti More sharing options...
drugo66 Inserita: 2 gennaio 2015 Segnala Share Inserita: 2 gennaio 2015 Ciao, la funzione corretta dovrebbe essere UNSCALE (FC106): gli dai in ingresso un REAL e lo converte in intero da -27648 a 27648 (BIPOLAR) o da 0 a 27648 (UNIPOLAR); FC105 fa esattamente il contrario. Link al commento Condividi su altri siti More sharing options...
Mauro76 Inserita: 2 gennaio 2015 Autore Segnala Share Inserita: 2 gennaio 2015 ho provato come dici tu allora: in ingresso ho messo un md50 impostato a 100.0 % in uscita mi dovrebbe dare qualcosa, ma invece niente perchè ? io devo inserire un valore che parte da 0 e va a 100% (valore intero inserito da pannello operatore) lo devo portare fuori in uscita analogica e questo valore deve cambiare da 0 a 27468 giusto? Link al commento Condividi su altri siti More sharing options...
drugo66 Inserita: 2 gennaio 2015 Segnala Share Inserita: 2 gennaio 2015 (modificato) Prova a simulare il tutto appoggiando il valore di uscita ad un intero che puoi verificare, invece che direttamente all'uscita analogica, e vedi come si comporta; attenzione anche ai tipi di dati: se il valore 0-100% non è un REAL, devi prima convertirlo (I_DI converte da INT a DINT e DI_R converte da DINT a REAL). Almeno così discrimini dov'è l'errore ... Mi sono accorto adesso che hai utilizzato MD50 (chiedo venia): se è un DINT (intero a 32 bit) devi convertirlo in REAL con DI_R, prima di passarlo alla FC106. Modificato: 2 gennaio 2015 da drugo66 Link al commento Condividi su altri siti More sharing options...
drugo66 Inserita: 2 gennaio 2015 Segnala Share Inserita: 2 gennaio 2015 Visto che non riesco più a reperire il manuale in rete, ho pensato di postarlo nella sezione Upload del S7-300: il capitolo 6 è quello di tuo interesse. Link al commento Condividi su altri siti More sharing options...
ken Inserita: 3 gennaio 2015 Segnala Share Inserita: 3 gennaio 2015 è una semplice proporzione: 100%:27648= valore attuale : X quindi x= valore attuale * 27648/100 questo è il modo più banale per fare un unscale senza complicarsi la vita. attenzione però ad utilizzare le variabili in modo corretto e a mettere dei limiti per sicurezza. valore attuale *27648 sarà sicuramente un doppio intero perciò attenzione a come si dichiarano le variabili Link al commento Condividi su altri siti More sharing options...
sesaspa Inserita: 3 gennaio 2015 Segnala Share Inserita: 3 gennaio 2015 (modificato) come dice ken L "tuovalore" L 27648 *D L 100 /D T "Tag_34":P //valore da mandare all'out analog se il tuo valore rimane compreso tra 0 / 100 Modificato: 3 gennaio 2015 da sesaspa Link al commento Condividi su altri siti More sharing options...
Mauro76 Inserita: 3 gennaio 2015 Autore Segnala Share Inserita: 3 gennaio 2015 grazie drugo66 ho fatto come mi hia suggerito ed ho risolto alla perfezione, anche l'invio da pannello della percentuale al plc e con l'uscale (fc106) sono riuscito ad ottenere il risultato in uscita analogica corrispondente. grazie a tutti e buon fine settimana. 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