olaspa Inserito: 8 novembre 2010 Segnala Share Inserito: 8 novembre 2010 Ciao, in mattinata stavo guardando come scalare dei valori analogici con Rslogix5000.Esempio.Se ho una delle seguente schede 1734 - IEC4/C e aprendo le sue propietà la setto con current rage : 4-20 mA. high engineering 16383 low engineering 3227.Io vorrei scala i valori che leggo da plc.Se la scheda legge 3227 deve essere = 0Mentre se la sceda legge 16383 = 10000.Questo per permettermi di gestire meglio i valori analogici.In simens c'era SCL...ma in rockwell non lo trovo in ladder.Grazie milleSaluti Link al commento Condividi su altri siti More sharing options...
batta Inserita: 8 novembre 2010 Segnala Share Inserita: 8 novembre 2010 Io conosco i plc Rslogix5000 solo di striscio, ma penso che i valori per la scalatura siano:0 mA --> 04 mA --> 3277 (e non 3227)20 mA --> 16383Mi pare strano che nel Rslogix5000 non ci sia già una istruzione apposita per la conversione da valore binario letto sul canale analogico a valore ingegneristico.Comunque, si tratta di una semplicissima scalatura. Il valore ingegneristico che, nel caso in esempio deve variare da 0 (4mA) a 1000 (20mA), si calcola come segue:Valore = (lettura_analogico - 3277) * 1000 / (16383 - 3277) = (lettura_analogico - 3277) * 0,076301 Link al commento Condividi su altri siti More sharing options...
fuzzy logic Inserita: 8 novembre 2010 Segnala Share Inserita: 8 novembre 2010 Luca, ci sono essenzialmente due possibilità, oltre a quella indicata da batta: 1. utilizzare la scalatura "automatica" direttamente nella configurazione del modulo; Configuration Tab, seleziona il range (4-20 ma) e il valore di High Engineering e Low Engineering che ti interessano (10000 - 0). Per default sono indicati 16383 e 3277 per la selezione 4 -20 ma. 2. utilizza una istruzione Add-On (l'istruzione SCP non è disponibile nella libreria standard) che puoi scaricare al seguente link:SamplecodeUsa come chiave di ricerca "Title/Description" la sigla SCP.Per dettagli sull'import e utilizzo delle istruzioni Add-On, capitolo 4 del seguente manuale:Add-On Programming- fuzzy logic Link al commento Condividi su altri siti More sharing options...
del_user_27683 Inserita: 8 novembre 2010 Segnala Share Inserita: 8 novembre 2010 Inserisci un ramo e incolla la riga che segue (In ASCII Text):CPT YR "(X- 3277)/(16383- 3277)*10000" MOV YR Y Crea le tag:X > DINT (copiare valore dell'analogica)Y > DINT (valore scalato)YR > REAL (appoggio per calcoli)Note:- Ho lasciato indicati i valori 16383 e 3277 per facilitare la comprensione ed eventualmente modificarli- L'appoggio su una REAL è obbligatorio altrimenti non si perdono semplicemente i decimali.ciao Link al commento Condividi su altri siti More sharing options...
olaspa Inserita: 8 novembre 2010 Autore Segnala Share Inserita: 8 novembre 2010 Grazie mille a tutti.Vi farò sapere, adesso provo 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