peratoner Inserito: 20 ottobre 2014 Segnala Inserito: 20 ottobre 2014 Ciao a tutti Sono un principiante e sto giocando con un 1214 per acquisire segnali analogici,piu precisamente ho una pencil probe matita a contatto che mi fornisce un segnale analogico 0 10V ora vorrei tarare l'ingresso quindi acquisire valore 0 e valore fondo scala,di seguito precedere con la reale taratura quindi io pensavo con un blocchetto johonson tipo da 2mm ricavo i ''punti'' di conseguenza ricavo il coefficiente di correzione che poi andra a moltiplicarsi con l'uscita dello scalex .Ma ce qualcosa che non funziona in quanto ilvalore calibrato me lo misura giusto ma gl'altri risultano sballati. Il trasduttore mi sembra lineare pero' bohhhhhhhh dove sbaglio?grazie 10000
drugo66 Inserita: 20 ottobre 2014 Segnala Inserita: 20 ottobre 2014 Ciao, se il traduttore è lineare dovresti solo inserire il valori limite, zero e fondo scala, e poi utilizzare le apposite funzioni del S7-1200 (mi sembra SCALE_X e NORM_X); dovrai anche utilizzare i valori limite corretti per l'analogica che trovi nel manuale di sistema del S7-1200. Io ho sempre fatto così e non ho mai avuto problemi ...
Giuseppe Signorella Inserita: 20 ottobre 2014 Segnala Inserita: 20 ottobre 2014 (modificato) Ciao peratoner, e benvenuto sul forum. Con questa è la terza discussione che apri in poche ore sulla medesima tematica. Aprire più discussioni in più sotto forum sullo stesso argomento, oltre ad essere contro il regolamento (che ti invito a leggere) crea solo confusione in quanto disperde le risposte. Ti lascio aperto questa discussione che è l'unica ad aver ricevuto una risposta e provvedo a cestinare le altre. Ti invito cortesemente a non reiterare. Grazie della collaborazione e buona permanenza sul forum. Modificato: 20 ottobre 2014 da Giuseppe Signorella
peratoner Inserita: 20 ottobre 2014 Autore Segnala Inserita: 20 ottobre 2014 Ciao Drugo Bene o male e' quello che faccio il normX mi serve per commutare da int a real poi lo metto in scala con lo scaleX pero volevo fare un prg apposito per la taratura quindi premendo il trasdut a fine corsa utilizzando una variabile imposto il valore min di scaleX rilasciando imposto il max sempre del scalex a questo punto mi varia la lettura . Voi i valori li impostate per es 0 e 1.0 e il calcolo del coeff come lo fate? ciao e scusate pe la confusione dei tre messaggi su stesso argomento ho sbagliato ciao
drugo66 Inserita: 21 ottobre 2014 Segnala Inserita: 21 ottobre 2014 Premetto che il trasduttore che stai utilizzando io non ho capito cos'è Solitamente utilizziamo trasduttori che arrivano già tarati dal fornitori, quindi devo solo immettere i valori corretti ed il gioco è fatto; hanno il loro amplificatore e, quando si effettua la taratura, si agisce su quello, al limite gli inserisco in una pagina del pannello anche la lettura in Volt, che puo' risultare comoda; sul pannello è anche presente la possibilità di modificare il valore di fondo scala del trasduttore utilizzato per la conversione. Non avendo capito di quale trasduttore stai scrivendo, o probabilmente non avendolo mai usato, non riesco a dirti nulla di risolutivo: tieni presente, però, che se il trasduttore è lineare, modificando i valori di zero e fondo scala, si deve riuscire ad avere una lettura corretta, a meno di un qualche tipo di errore introdotto dall'esternoi ... Adesso che ci penso, con un torsiometro montato sotto ad un motore, non si riusciva a tenere a zero la lettura a riposo: la azzeravo, il collaudo eseguiva pochi cicli e lo zero era di nuovo fuori; abbiamo risolto togliendo il valore iniziale dalle letture successive e inserendo anche un valore di allarme, passato il quale, si richiedeva l'azzeramento manuale dell'amplificatore.
peratoner Inserita: 5 novembre 2014 Autore Segnala Inserita: 5 novembre 2014 Ciao Drugo non ho ancora risolto probabilmente mi sfugge qualcosa, come ti o detto ho questo trasduttore ma non ho i dati specifici mi fornisce un valore in tensione 0 10V e mi è stato detto che è lineare, ora metto un norm x nei valori min e max metto 0 e 27668 poi metto uno scaleX min e max metto 0 e 1 qui allora il valore che mi esce da questo è 0.123487 il valore balla parecchio vorrei ridurre i decimali a 3 valori dopo la virgola corretto? poi vorrei acquisire il valore di zero e da qui fare le mie misure non riesci a mandarmi un esempio vedi quello che riesci graz1000ciao ciao
drugo66 Inserita: 5 novembre 2014 Segnala Inserita: 5 novembre 2014 27668 è un valore che non mi torna: guardati i dati tecnici della CPU o del modulo analogico (li trovi in Dati Tecnici del Manuale di Sistema che puoi scaricarti da Siemens Support); devi utilizzare il valore nominale a fondoscala (verifica, ma credo anche che siano tutti uguali, quindi 27648). E' normale che ti "ballino" gli ultimi decimali: al limite potresti troncare il valore al numero di decimali che ti interessano: visto che non so se esiste un operazione di questo tipo per il 1200, potresti prendere il valore normalizzato, moltiplicarlo, che so, per 1000, poi appoggiarlo ad un DINT, convertirlo nuovamente in Real ed infine dividerlo per 1000: in questo modo avresti i soli 3 decimali dopo la virgola; facendo così, però, introduci inevitabilmente un ulteriore errore. Detto questo, ti spiego cosa ho fatto nel caso di una cella (quindi valore di forza in Newton): - con NORM_X normalizzo il valore dell'analogica in un valore Real che va da 0.0 a 1.0 - la cella è fondoscala 2 Kg forza a 10 V; io ho bisogno il valore in Newton; 1 Kg forza = 9.806 N, quindi prendo il valore normalizzato e lo "metto in scala" con SCALE_X; - mi viene quasi sempre richiesto anche il valore in Volt, quindi il valore normalizzato lo moltiplico per 10 (avrei anche potuto usare di nuovo SCALE_X).
drugo66 Inserita: 5 novembre 2014 Segnala Inserita: 5 novembre 2014 Mi sono dimenticato la cosa più importante: se hai problemi, pilota l'analogica con un alimentatore (scollegando il trasduttore) e verifica che la conversione che effettui sia corretta. E' semplice da eseguire: ti metti a fondoscala e vedi cosa legge, poi vai a fs/2, fs/4 e così via; in questo modo escludi che esista un errore nel tuo codice. Fatto questo rimane il trasduttore: introduce lui un errore oppure è la meccanica di contatto ? Si puo' correggere in qualche modo ? Se sei sprovvisto di un alimentatore, ti consiglio del nostro grande Mirko Ceronti.
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