tano71 Inserito: 12 marzo 2008 Segnala Share Inserito: 12 marzo 2008 Buongiorno,Si deve controllare il freno di un svolgitore, per fare questo si utiliza il segnale (potenziometro) collegato a un ballerino.Sul PLC utilizo il OB35 con un tempo di esecuzione di 5ms. Dentro di questo OB35 si richiama la FB41 con valori PI + CYCLE de 10ms. Fino adesso funziona abbastanza bene. Il problema è che devo richiamare altri FB41 per il controllo di un avvolgitore ed un altro svolgitore e quando si fa questo i PID non funzionano più bene, per essempio il integrale non carica più. Sicuramente tutto questo riguarda ai tempi che vengono usati ma non so che tempi si possono usare per questa applicazione.Una domanda: si la OB35 a un tempo di esecuzione di 5ms e il tempo di campeonamento del PID sono 10ms vuole dire che il PID viene elaborato 10 ms e il OB35 rimane attivo per 10ms. o il PID viene elaborato solo per 5 ms.Scusate si non sono stato cosi chiaro ma sto imparando il Italiano e faccio un pò di fatica a scriverlo.Saluti e grazie Link al commento Condividi su altri siti More sharing options...
batta Inserita: 12 marzo 2008 Segnala Share Inserita: 12 marzo 2008 Il tempo di campionamento che imposti come parametro in FB41 è solo un'informazione che tu passi alla funzione.Voglio dire, se tu richiami FB41 ogni 5ms devi far sapere ad FB41, tramite quel parametro, che viene eseguita ogni 5ms. Se tu imposti nel parametro 10ms ed invece richiami FB41 ogni 5ms fornisci un'informazione errata.Non specifichi che cpu stai usando, ma richiami di OB35 ogni 5ms mi sembrano un po' troppo tirati.Pretendere ogni 5ms di richiamare più volte FB41 è chiedere troppo.Molto dipende dalle prestazioni della cpu che stai utilizzando, ma penso potresti accontentarti di elaborare OB35 ogni 10ms e richiamare metà PID in un ciclo e l'altra metà il ciclo successivo. Il tempo di campionamento sarebbe così di 20ms. Per un'applicazione avvolgitore/svolgitore ritengo sia questo un tempo più che accettabile.Se vuoi ridurre il tempo di campionamento segui gli esempi che trovi nel "Corso controllo e regolazione" di Livio, nella sezione "Didattica", e costruisciti una funzione PID più leggera di quella Siemens. Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 12 marzo 2008 Segnala Share Inserita: 12 marzo 2008 Il tempo di campionamento sarebbe così di 20ms. Per un'applicazione avvolgitore/svolgitore ritengo sia questo un tempo più che accettabile.Potrebbe anche essere troppo rapido, oppure lento. Dipende esclusivamente dall'azionamento. Se è un continua o asincrono con inverter vettoriale 20ms sono un tempo di aggiornamento corretto; se l'azionamento è un brushless 20ms sono troppi. Se si tratta di un freno o di un continua con convertitore monofase 20 ms è un aggiornamento troppo frequente, non si da tempo all'azionamento di effettuare la correzione.Penso però che il problema maggiore di tano71 è che dichiara di dover effettuare unn totale di 4 PID. Temo che si debba richiamarli ogni 10 ms, in cascata tra loro, così che il periodo di campionamento per ognuno sale a 40ms.Io non ho mai fatto una misura del tempo di esecuzione dello FB41, ma temo che se la CPU deve svolgere un lavoro "normale" richiamare lo FB41 ogni 10 ms sia il limite minimo. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 12 marzo 2008 Segnala Share Inserita: 12 marzo 2008 Provato su una cpu 3152DP, l'esecuzione di FB41 richiede circa 0,5ms.Tutto sommato, non è così pesante come sembra.Far lavorare 4 PID richiamandone 2 ogni 10ms, e mantenere così un tempo di campionamento di 20ms, non dovrebbe essere un problema.Se c'è bisogno di arrivare a tempi di campionamento di 10ms, anche se secondo me non serve, direi che si può ancora fare. Arrivare a 5ms però è chiedere veramente troppo, e non ne vedo proprio il motivo. Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 13 marzo 2008 Segnala Share Inserita: 13 marzo 2008 (modificato) Flavio, per curiosità, come hai misurato il tempo di esecuzione? Hai alzato un out analogico immediatamente prima del richiamo, rabbassandolo subito dopo il ritorno da FB41? O un altro metodo?Anche per mia esperienza controllare un aspo con campionamento a 20ms è sufficientemente valido per il 95% dei casi, anzi in alcuni casi è anche troppo rapido. Modificato: 13 marzo 2008 da Livio Orsini Link al commento Condividi su altri siti More sharing options...
batta Inserita: 13 marzo 2008 Segnala Share Inserita: 13 marzo 2008 In un programma vuoto ho fatto un loop richiamando FB41 200 volte, ed letto il tempo di scansione. Link al commento Condividi su altri siti More sharing options...
tano71 Inserita: 13 marzo 2008 Autore Segnala Share Inserita: 13 marzo 2008 Grazie mille per l'informazione, ho provato a impostare il tempo di esecuzione del OB35 a 10ms e anche il tempo di campeonamento a 10 ms e sta funzionando bene i PID adesso proviamo a impostarlo a 20ms il tempo di campeonamento per vedere le diferenze.Mi sono scaricato il manuale di Livio e questo weekend lo guardo ma sembra molto interesante e vedrò si riesco a iniziare a fare un controllo PID a misura.Ho letto da qualche parte che ce anche in formato PDF (il manuale) dove lo posso trovare?Grazie mille per il vostro aiutoSaluti. Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 13 marzo 2008 Segnala Share Inserita: 13 marzo 2008 Lo trovi nella documentazione dei workshops SAVE 2007.Perchè non ci dici che azionamenti stai usando?Flavio la tua misura è anche leggermente peggiorativa rispetto al reale, però da come scrivi il PID non sta regolando, è solo attivato a vuoto. Probabilmente in condizioni reali impiega un un poco di più, comunque l'ordine di grandezza è quello. Mi aspettava qualche cosa di più lento con una 315. Link al commento Condividi su altri siti More sharing options...
tano71 Inserita: 13 marzo 2008 Autore Segnala Share Inserita: 13 marzo 2008 Ciao,Gli inverter sono Mentor II della Control Techniques.Grazie mille per la info. Saluti e buon lavoro Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 13 marzo 2008 Segnala Share Inserita: 13 marzo 2008 Si allora 20ms di periodo di campionamento sono praticamente ideali. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 13 marzo 2008 Segnala Share Inserita: 13 marzo 2008 (modificato) ...però da come scrivi il PID non sta regolando, è solo attivato a vuotoHo richiamato FB41 impostando guadagno, integrale, SP, PV e leggendo il valore in uscita. Non mi sono preoccupato di come stesse regolando, ma l'uscita variava modificando PV ed SP.Richiamando FB41 200 volte in una scansione ho ottenuto i seguenti risultati:1) attivando solo P: tempo di scansione 85-90 ms2) attivando PI: tempo di scansione 120-125 ms3) attivando PID: tempo di scansione 130-135 msConsiderando che 2-3 ms servono per le operazioni base della cpu, direi che si possono ritenere sufficientemente validi i seguenti tempi di esecuzione di FB41:- solo P: 0,45ms- PI: 0,6ms- PID: 0,65ms Modificato: 13 marzo 2008 da batta Link al commento Condividi su altri siti More sharing options...
ricki Inserita: 14 marzo 2008 Segnala Share Inserita: 14 marzo 2008 Salve a tutti, io ho fatto un'applicazione utilizzando 4 pid (Fb41) in ob 35 che ciclava in 2 ms utilizzando una 317 2 dp , non riscontrando praticamente nessun problema a livello tempo ciclo. La mia applicazione era un controllo di pressione di 4 cilindri idraulici in reazione. L'unica cortezza che ho dovuto tener conto , è stato di creare un algoritmo che gestiva la variazione del proporzionale e dell'integrale in base alla velocità con cui i cilindri venivano compressi ( simile a quello esistente sul controllo dell'anelllo di velocità nei 611 o Sinamics) . Ciao Ricki Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 14 marzo 2008 Segnala Share Inserita: 14 marzo 2008 Il punto principale è che tano71 non specifica il tipo di CPU (se non mi è sfuggito), quindi non è possibile stabilire se 5 ms di interrupt è troppo veloce o meno per la CPU.Comunque il limite di frequenza lo impone sempre il componente più lento della catena, che in questo caso è l'azionamento. Aggiornare il riferimento all'azionamento con periodo minore di 20ms non porta miglioramenti alle prestazioni, anzi si rischia di avere instabilità. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 14 marzo 2008 Segnala Share Inserita: 14 marzo 2008 La 317 è molto più veloce della 315.Con una 315 non riesci ad eseguire OB35 ogni 2ms neanche in un programma vuoto.A mio parere, comunque, lavorare con cilindri idraulici e, suppongo, valvole proporzionali, impostare pid a 2ms non ha senso.Se si è scelto di usare una 317 solo per prestazioni velocistiche, credo si potrebbe valutare seriamente una esecuzione dei pid a 10-20ms e l'utilizzo di una cpu più economica. Link al commento Condividi su altri siti More sharing options...
tano71 Inserita: 14 marzo 2008 Autore Segnala Share Inserita: 14 marzo 2008 E vero, mi sono dimenticato del tipo di CPU, sono 2 applicazioni diverse in una si usa la 315-2DP e con l'altra applicazione è una CPU 414-2Domanda: Come diceva Batta precedentemente (Far lavorare 4 PID richiamandone 2 ogni 10ms, e mantenere così un tempo di campionamento di 20ms, non dovrebbe essere un problema.)Vuol dire impostare il tempo di esecuzione del OB35 a 10ms, e dentro del OB35 metere un Flip-flop o una altra cose per abbilitare in un ciclo 2 PID e al secondo ciclo gli altri 2 PID quindi sul primo ciclo fa la metta del 1° e 2° PID, il secondo ciclo del OB35 fare la metta del 3 e 4 PID, el terzo ciclo la seconda metta del 1 e 2 PID e al quarto ciclo si fa la seconda metta del 3 e 4 PID, ho sbaglio.Scusate se faccio domande un pò cosi, ma prima lavorava con plc, ma sempre in programmazione di secuenze e cicli, quindi sto provando d'imparare e capire il controllo e regolazione.Grazie mille per il vostro aiutoSaluti Link al commento Condividi su altri siti More sharing options...
batta Inserita: 14 marzo 2008 Segnala Share Inserita: 14 marzo 2008 Vuol dire impostare il tempo di esecuzione del OB35 a 10ms, e dentro del OB35 metere un Flip-flop...Esatto.Imposti OB35 a 10ms ed in OB35 scrivi qualcosa tipo:Segmento 1: flip-flop UN M10.0 = M10.0 Segmento 2: richiama alternativamente PID 1-2 e PID 3-4 U M0.0 SPB M000 CALL "Pid_1" CALL "Pid_2" BEA M000: CALL "Pid_3" CALL "Pid_4" Link al commento Condividi su altri siti More sharing options...
tano71 Inserita: 14 marzo 2008 Autore Segnala Share Inserita: 14 marzo 2008 Grazie mille, lo provo come dicci tu.Saluti Link al commento Condividi su altri siti More sharing options...
ricki Inserita: 14 marzo 2008 Segnala Share Inserita: 14 marzo 2008 Per Batta : oltre che la gestione dei cuscini idraulici, la 317 gestisce una cifra di cose. Per il discorso velocità, devo assolutamente chiudere il pid di pressione in 2 ms altrimenti , con un impatto di 250 mm/s contro il cuscino, avrei un picco di pressione da brividi.Ciao Ricki Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 14 marzo 2008 Segnala Share Inserita: 14 marzo 2008 con un impatto di 250 mm/s contro il cuscino, avrei un picco di pressione da brividi.A 250mm/1" campioni ogni 0.5mm e non è poi molto. Ma non rallenti prima dell'impatto? Link al commento Condividi su altri siti More sharing options...
ricki Inserita: 14 marzo 2008 Segnala Share Inserita: 14 marzo 2008 Ciao Livio , non posso rallentare la slitta che impatta, ma in compenso preaccelero il cuscino in modo di attutire l'impatto...CiaoRicki Link al commento Condividi su altri siti More sharing options...
batta Inserita: 14 marzo 2008 Segnala Share Inserita: 14 marzo 2008 Puoi campionare anche a 2 microsecondi, ma è l'idraulica che non riesce a rispondere in tempo. Link al commento Condividi su altri siti More sharing options...
ricki Inserita: 15 marzo 2008 Segnala Share Inserita: 15 marzo 2008 Scusa Batta, ma se non sai come è stato progettato l'impianto idraulico come puoi dire che è lenta la risposta idraulica....Se ti dico che riesco a regolare con una risposta che è paragonabile a un gradino in 30/40 ms , pressioni di 320 bar ??!!!??? ......... purtroppo il PLCforum inizia ad essere un pò pesantino ... perchè mettere in dubbio il fare o il disfare di molti ?!?......... e con questo vi lascio al set e reset di un bit ..........Ciao Ricki Link al commento Condividi su altri siti More sharing options...
batta Inserita: 15 marzo 2008 Segnala Share Inserita: 15 marzo 2008 Scusa Batta, ma se non sai come è stato progettato l'impianto idraulico come puoi dire che è lenta la risposta idraulica....Se ti dico che riesco a regolare con una risposta che è paragonabile a un gradino in 30/40 ms , pressioni di 320 bar ??!!!??? .....Guarda che io non sto mettendo in dubbio niente, e ancora meno sto muovendo critiche.Semplicemente io non ho mai visto sistemi idraulici in grado di rispondere in 2ms. Poi sei tu stesso a parlare di 30-40ms.Per esempio, parli di pressioni ma non parli di portate. Può essere che tu ti riferisca ad un sistema con pressioni elevate ma portate molto basse, quindi con attuatori di dimensioni ridotte in grado di fornire risposte velocissime. Se è di un sistema simile che parli, dillo, ma non è questo lo standard degli impianti idraulici.Quello che voglio dire è semplicemente che solo se il sistema idraulico è in grado di rispondere in 2ms ha senso un pid con tale tempo di campionamento..... purtroppo il PLCforum inizia ad essere un pò pesantino sad.gif ... perchè mettere in dubbio il fare o il disfare di molti ?!?.....Cosa centri questa tua affermazione, in tutta onestà, mi è oscuro.Si sta solo discutendo. Nessuno sputa sentenze e nessuno critica nessuno. Io (e così ritengo anche gli altri) sto solo riportando la mia esperienza personale. Se poi ti senti offeso o criticato, mi dispiace, ma anche rileggendo i miei post non riesco a percepire critiche. Link al commento Condividi su altri siti More sharing options...
bellcar Inserita: 15 marzo 2008 Segnala Share Inserita: 15 marzo 2008 anch' io non ho mai visto impianti idraulici con risposte da 2 ms , neanche i MOOG che ho visto io avevano bande passanti da centinaia di Hz, a parte questo, dipende da cosa si usa per leggere l' ingresso del pid, perche' le analogiche "veloci " hanno tempi do 3-4 ms sempre se si escludono gli ingressi non usati e se si toglie il controllo dei collegamenti, altrimenti passiamo a decine di ms.; le uscite standard analogiche viaggiano sul ms e cosi' via.ha quindi senso parlare di 20 30 ms ma a mio avviso poco utile ciclare a 1 ms .saluti bellcar Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 15 marzo 2008 Segnala Share Inserita: 15 marzo 2008 le uscite standard analogiche viaggiano sul ms e cosi' viaSe fai riferimento alle uscite analogiche non è così; scrivendo la periferia direttamente siamo nellordine di circa 20 micro secondi per passare da zero a fondo scala. Da sempre i convertitori D/A sono molto più veloci degli A/D.Vero che anche a me tempi di 2ms per un circuito oleodinamico sembrano un poco elevati. Qualche esperienza di sitemi simili me la sono fatta, specialmente su cesoie volanti con prestazioni quasi irraggiungibili da azionamenti elettrici. Ogni variazione deve essere "rampata", con tempi di rampa circa 10ms, onde evitare i dannosissimi colpi d'ariete.Campionamenti, con successivi aggiornamenti, con periodo di 2 ms sono vantaggiosi solo con servo azionamenti brillanti..... purtroppo il PLCforum inizia ad essere un pò pesantinoEcco, questo è un insulto gratuito che facevi meglio a risparmiare. Al di là delle tua capacità tecniche, che nessuno ha in alcun modo messo in dubbio, questa tua affermazione squalifica di molto la tua capacità di rapportarti con il prossimo. 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