Spiddy1 Inserito: 2 novembre Segnala Share Inserito: 2 novembre Buon giorno, Con un modlulo 2x Aq comando con un'analogica un laser 0-10v(0-27647) corrisponde 0-2000w...il cliente mi chiede da passare ad esempio da 750 w a 100w(puo essere anche 0) in un tempo predefinito esempio in 5 secondi... Come si potrebbe fare? Grazie mille Link al commento Condividi su altri siti More sharing options...
pigroplc Inserita: 2 novembre Segnala Share Inserita: 2 novembre bisogna definire una OB30 che gira per esempio a 100 ms. Se devi passare da 27000 a 7000 hai un delta di 20000. Quante volte cicla la OB30 in5 secondi = 5000/100 = 50 volte quindi fai 20000 / 50 = 400. Ad ogni ciclo della OB30 sottrai 400 numeri finché non arrivi a 7000. Link al commento Condividi su altri siti More sharing options...
drn5 Inserita: 2 novembre Segnala Share Inserita: 2 novembre 2000W / 27647 = 0,07234 Watt a impulso 750 W quindi corrispondono a 10368 impulsi 100 W a 1382 impulsi quindi un range di 8986 impulsi da moltiplicare per il tempo di interrupt impostato a OB40... diciamo 100 mSec (ma dipende quanto morbida deve essere questa variazione) e diviso per il tempo di attuazione (i tuoi 5 sec) perciò: 8986 * 100 msec / 5000 msec = 179 impulsi di decremento da 10368 ad arrivare a 1382 per ogni volta che scansiona OB40 dallo start Questo per come lo farei io ... (tutti questi numeri impostabili da pannello giusto per non dover ritoccare il codice una volta che si voglia cambiare il tempo o le potenze) Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 3 novembre Segnala Share Inserita: 3 novembre Se il tempo di rampa deve essere variabile/impostabile devi impostare il tempo di interrupt di OB40 piuttosto breve. Poi, riprendendo l'esempio fato da drn5, se son richiesti 5" per passare da750W a 100W decrementi di 17,6 passi il DA ogni interrupt; tieni un conteggio dei decimali in una varaibile a parte in cui sommi ad ogni decremento la parte decimale, quindo si supera l'unità il passo sarà non di 17ma di 18 e così via. Questa complicazione serve perchè se il tempo richiesto si accorciasse o se la variazione richiesta fosse più ampia, si eviterebbe didare gradini troppo ampi. Questo è il metodo che si usa per generare rampe di velocità dove una variazione troppo ampia viene notata e può anche dare problemi Link al commento Condividi su altri siti More sharing options...
Spiddy1 Inserita: 3 novembre Autore Segnala Share Inserita: 3 novembre Grazie mille delle info ricevuto ma sicuramente i tempi saranno più brevi magari in 0.8 o 1.5 s devo passare da 2000 w a 200… magari lo faccio girare in 10 ms che dite? Link al commento Condividi su altri siti More sharing options...
Spiddy1 Inserita: 3 novembre Autore Segnala Share Inserita: 3 novembre Un’altra informazione c’è chi parla di ob30 e chi di ob40 che differenza c’è tra i 2 ? Per il mio caso quale è meglio usare? Grazie ancora Link al commento Condividi su altri siti More sharing options...
drn5 Inserita: 3 novembre Segnala Share Inserita: 3 novembre (modificato) per il tempo impostato per richiamare OB30 è da verificare all'atto pratico se la risposta dell'apparecchiatura laser è congrua con tempi di aggiornamento così rapidi. Inoltre se c'è differenza sull'azione fisica del laser per il tuo processo, tra il salire di 100W in 1 step ogni 100msec piuttosto che di 10W ogni 10msec.... Modificato: 3 novembre da drn5 Link al commento Condividi su altri siti More sharing options...
Spiddy1 Inserita: 3 novembre Autore Segnala Share Inserita: 3 novembre Grazie. E per la differenza tra ob 30 e 40? Link al commento Condividi su altri siti More sharing options...
drn5 Inserita: 3 novembre Segnala Share Inserita: 3 novembre Il 40 è per gli interrupt generati dall'hardware (quando l'ho scritto alcuni post indietro mi sono sbagliato) Link al commento Condividi su altri siti More sharing options...
Spiddy1 Inserita: 14 novembre Autore Segnala Share Inserita: 14 novembre Il Move della word dell'analogica e dentro ad un Fb separato che gira nel Main.. Se mi faccio la gestione nell'Ob 30 non Vanno i conflitto i 2 move verso la Qw di uscita? Spero di essermi Spiegato Grazie Link al commento Condividi su altri siti More sharing options...
drn5 Inserita: 14 novembre Segnala Share Inserita: 14 novembre e tu scrivila in un punto solo. Però non capisco... il cuore di questa rampa non sarà una cosa mastodontica. Che bisogno c'è di scrivere da una parte e poi da un altra. Raggruppi tutto in un punto solo. D'altronde se usi i tempi che hai scritto sopra e ti aspetti un risultato almeno soddisfacente devi scivere del codice pulito e ottimizzato e di certo non sparso in punti diversi. Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 15 novembre Segnala Share Inserita: 15 novembre 10 ore fa, Spiddy1 ha scritto: Il Move della word dell'analogica e dentro ad un Fb separato che gira nel Main.. Se mi faccio la gestione nell'Ob 30 non Vanno i conflitto i 2 move verso la Qw di uscita? Spero di essermi Spiegato Grazie La rampa sta tutta nell'OB30; impiega da 2 a 5 istruzioni AWL! Nel caso più semplice, quello in cui incrementi la rampa ad ogni interrupt, incrementi la variabile ( o la decrementi se è una rampa indiscesa) e scrivi la variabile nell'uscita analogica direttamente. (si usa l'istruzione POKE [se ricordo correttamente]. Bi sogna scirvere direttamente la periferica perchè se si attende l'aggiornamento delle uscite al termine del ciclo del PLC la rampa non è più molto lineare. Nel caso più complesso come quello che ho descritto in precedenza, le istruzioni AWL sono comunque meno di dieci, anche tenedo conto dei riporti. Perchè andare a ricercare il blocco nelle migliaia di programmi che ho nel mio archivio (sono circa 40 CD9 di programmi accumulati in parecchi decenni di attività, mi richiederebbe una certa fatica, altrimenti te lo pubblicherei. Link al commento Condividi su altri siti More sharing options...
cagliostro Inserita: 15 novembre Segnala Share Inserita: 15 novembre Eventualmente puoi pensare di usare anche la funzione di libreria Ramp Function che si trova nella sezione relativa alle istruzioni dei blocchi di regolazione PID. Al seguente web link https://cache.industry.siemens.com/dl/files/036/108210036/att_916452/v2/s71500_pid_control_function_manual_it-IT_it-IT.pdf da pagina 489 trovi comunque una descrizione completa della funzione. Probabilmente nella tua applicazione, questa funzione di libreria può essere anche eccessiva per quanto concerne le informazioni e le possibilità di controllo messe a disposizione. A te le valutazioni. 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