Michele La Bianca Inserito: 29 novembre 2019 Segnala Share Inserito: 29 novembre 2019 Salve a tutti, ho un plc s7-300 con un modulo ingressi e uscite miste analogiche. Connettendo un alimentatore variabile in un ingresso analogico dallo step 7 riesco a visualizzare il valore decimale. Ho letto nel manuale che 0 corrisponde a 0 V e 27648 corrisponde a 10 V . Volevo aiuto riguardo quali operazioni devo fare affinché la visualizzazione dell'ingresso mi dia 10 V anziché 27648. Spero possiate aiutarmi. Grazie in anticipo Link al commento Condividi su altri siti More sharing options...
ken Inserita: 29 novembre 2019 Segnala Share Inserita: 29 novembre 2019 è una proporzione, una semplice operazione matematica. 10V:27648=xV:valore attuale dove xV è la tensione che vuoi visualizzare dove valore attuale è il valore che leggi dall'ingresso analogico quindi: xV = valore attuale * 10/27648 Link al commento Condividi su altri siti More sharing options...
Michele La Bianca Inserita: 29 novembre 2019 Autore Segnala Share Inserita: 29 novembre 2019 esatto, però questa proporzione devo implementarla nel programma, è qui che ho difficoltà Link al commento Condividi su altri siti More sharing options...
STEU Inserita: 29 novembre 2019 Segnala Share Inserita: 29 novembre 2019 Usi , KOP , SCL oppure AWL? Ad ogni modo c'è un FCstandard che si chiama scale che fa il caso tuo Link al commento Condividi su altri siti More sharing options...
Michele La Bianca Inserita: 29 novembre 2019 Autore Segnala Share Inserita: 29 novembre 2019 uso AWL. Dove posso trovare questa FCstandard? Link al commento Condividi su altri siti More sharing options...
ken Inserita: 29 novembre 2019 Segnala Share Inserita: 29 novembre 2019 L Valore letto //Valore letto da scheda itd L 10 //10V itd *D L L#27648 /D = Valore convertito Leggi questa discussione in merito al blocco che hanno giustamente suggerito Link al commento Condividi su altri siti More sharing options...
batta Inserita: 30 novembre 2019 Segnala Share Inserita: 30 novembre 2019 (modificato) Ken, corretto, ma meglio fare i calcoli in Real. Così avresti gradini di 1 V. Oppure, moltiplicare per 1000, ed avere il risultato in mV. In Real: L ValoreGrezzo // Valore letto dal canale analogico ITD DTR L 10.0 *R L 27648.0 /R T ValoreScalato // Valore convertito in Volt in formato REAL in INT con risultato in mV: L ValoreGrezzo // Valore letto dal canale analogico ITD L L#10000 *D L L#27648 /D T Valorescalato // Valore convertito in mV su variabile di tipo INT o DINT Comunque, anche se per alcuni compiti l'AWL è ancora il linguaggio migliore, sta per essere messo in disparte anche dalla stessa Siemens. Per questi calcoli l'ideale è usare SCL: ValoreScalato := INT_TO_REAL(ValoreGrezzo) * 10.0 / 27648.0; Modificato: 30 novembre 2019 da batta Link al commento Condividi su altri siti More sharing options...
Michele La Bianca Inserita: 30 novembre 2019 Autore Segnala Share Inserita: 30 novembre 2019 Grazie siete stati molto d'aiuto. Implementerò il codice sperando che vada tutto bene. Grazie millee Link al commento Condividi su altri siti More sharing options...
Michele La Bianca Inserita: 4 dicembre 2019 Autore Segnala Share Inserita: 4 dicembre 2019 Buongiorno signori, io ho in ingresso un valore di 8 bit quindi il comando ITD ( che converte da 16 a 32 bit ) non va bene. Sapete quale comando si usa per convertire un numero da 8 bit a 32 bit in AWL ?? ho cercato nel manuale ma non ho trovato nessun comando. Grazie in anticipo Link al commento Condividi su altri siti More sharing options...
batta Inserita: 4 dicembre 2019 Segnala Share Inserita: 4 dicembre 2019 Se leggi da un canale analogico, leggi un valore a 16 bit, indipendentemente dalla risoluzione dell'ingresso analogico. Del resto, come faresti, con un byte, a leggere 27648? In ogni caso, ITD va bene anche per valori a 8 bit. Link al commento Condividi su altri siti More sharing options...
Michele La Bianca Inserita: 5 dicembre 2019 Autore Segnala Share Inserita: 5 dicembre 2019 Si ha ragione, grazie mille per l'aiuto 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