Plg75 Inserito: 24 giugno 2005 Segnala Share Inserito: 24 giugno 2005 Salve a tutti.Ho un problema con plc AB compact logix programmato con rslogix5000Devo creare un'uscita analogica ad esempio tra 0 e 5 volt con andamento a rampa, ma ho un serio problema. Se creo ad esempio un ciclo for ed impongo ad una tag di variare da 0 a 1000 e poi la scrivo sulla porta analogica (con l'opportuno valore di conversione per la tensione), il valore letto sulla tag di uscita non è continuo, tipo 1, 2, 3, 4... ma "salta" 12, 55, 1000, 200.Io credo che sia un problema di velocità di scansione del for(scritto in testo strutturato!) ma non riesco a venirne fuori!Spero che quacuno mi possa aiutare...Grazie a tuttiPlg Link al commento Condividi su altri siti More sharing options...
Gianluca Caredda Inserita: 24 giugno 2005 Segnala Share Inserita: 24 giugno 2005 Dove leggi il valore del tag di uscita? Se lo stai leggendo da RSLogix5000 in modalità online è normale che veda questo valore, soprattutto se la variazione nel tag in uscita è molto rapida. Questo succede perchè RSLogix comunica con il PLC con una velocità limitata, e i valori vengono aggiornati molto più lentamente di qunato non succeda nell'uscita del PLC. Link al commento Condividi su altri siti More sharing options...
Plg75 Inserita: 24 giugno 2005 Autore Segnala Share Inserita: 24 giugno 2005 In effetti la leggo in modalità on line, ma il problema si presenta anche a valle.Se con l'oscilloscopio leggo il canale analogico trovo lo stesso saltello di valori di tensione...Potresti consigliarmi come generare una serie di valori continui in modo alternativo senza il for?GraziePlg Link al commento Condividi su altri siti More sharing options...
Gianluca Caredda Inserita: 24 giugno 2005 Segnala Share Inserita: 24 giugno 2005 Puoi usare un contatore abbinato ad un timer: imposti un timer in modo che una volta raggiunto il preset (ad es. 50 ms):- attivi il contatore che incrementa di un unita il valore accumulato- rifaccia partire il timer.Quando il contatore raggiunge il valore massimo richiesto devi resettarlo in modo da ripartire da zero. Link al commento Condividi su altri siti More sharing options...
Plg75 Inserita: 24 giugno 2005 Autore Segnala Share Inserita: 24 giugno 2005 grazie, grazie e ancora grazie.ho appena finito di scrivere il programma con il temporizzatore e il counter, funziona!!!Vi ringrazio ancora.Plg Link al commento Condividi su altri siti More sharing options...
Henon Inserita: 7 agosto 2005 Segnala Share Inserita: 7 agosto 2005 Per fare una cosa ben fatta, dovresti creare una Tag che venga incrementata, in maniera precisa, ad intervalli di tempo precisi.Puoi usare una Task periodica schedulata ad esempio ogni 10ms.dentro questa task inserisci il tuo programma e la tua SubRoutine.In questa SubRoutine usando il linguaggio che Vuoi (Ladder o ST),devi incrementare la tua Tag (ad Esempio in Real) con uno step diIncremento.Questo step di Incremento (Rampa in Accelerazione)o Step di Decremento (Rampa in Decelerazione), deve essere Calcolato in baseal tempo di Accelerazione o Decelerazione che tu vui ottenere dalla tua rampa.Esempio Rampa da 0 > 10.00V in 5sec con Task da 10ms 10.00 / (5 sec * 0.01s) = Step 0.002 Link al commento Condividi su altri siti More sharing options...
Henon Inserita: 7 agosto 2005 Segnala Share Inserita: 7 agosto 2005 Se non vuoi far fatica ricordati che puoi usare il Linguaggio FBD, e usare l'istruzione di rampa a Doppia S "SCRV".il Valore AccRate e DecRate va Calcolato (ValoreMax / Tempo in Sec)Esempio Accelerazione in 7sec al valore massimo di 10 , il valore di AccRate = 10 / 7sec = 1.4285.Ricordati che devi adattare correttamente il Valore di uscita della Rampaal Valore Analogico .per Esempio 1794-OE4 oppure 1794-IE4XOE2 10Volt Corrisposte a 31206 1756-OF4 puoi scegliere tu l'unità ingegneristica che piu' ti piace. 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