Benvenuti e bentornati nel mio canale YouTube come potete vedere questo video è relativo alla programmazione del PLC S7 12200 della Sens e in particolare della regolazione PID cosa vedremo in questo video vedremo alcune informazioni sulla regolazione vedremo di utilizzare uno dei tre PID che ci mette a disposizione il il il Tia Portal il PID Compact vedremo la configurazione di questo oggetto tecnologico e anche il tool di messa in servizio e ottimizzazione è un semplice primo esempio di utilizzo perché dico un primo esempio perché ovviamente tutto non si può esaurire in un in un video come
questo Questo è il primo video dopo ce ne saranno altri con esempi più corposi Ma passiamo alle informazioni sull'introduzione alla regolazione parliamo brevemente di un circuito di regolazione un sistema di regolazione di tipo PID proporzionale integrativo e derivativo si basa sul feedback Eccolo qua il segnale di feedback cioè di ritorno significa che il segnale in uscita dal dispositivo viene misurata e messo a confronto con il con dei parametri desiderati quando viene rilevata una differenza tra il valore che stiamo misurando e il valore che invece Abbiamo settato quello che ci aspetteremo il valore atteso cosa fa
sto benedetto regolatore PID Calcola e applica la correz affinché il valore in uscita che va verso l'organo attuatore in questo caso stiamo parlando di riscaldamento venga mantenuto costante in generale la grandezza Quindi da regolare viene continuamente misurata e confrontata con il segnale con il segnale che noi desideriamo che viene chiamato set point punto di set e a seguito di questo confronto la regolazione adegua la grandezza al valore predefinito un regolatore P è in grado di reagire Quindi a questo eventuale errore sia negativo che positivo tendendo verso il valore Zero Il Tia Portal Quindi col PC
s71200 abbiamo la possibilità di utilizzare tre diversi PID dove che si trovano i PID essendo un oggetto tecnologico lo troviamo su istruzioni PID control Compact di questi Compact abbiamo il PID Compact il 3 Speed e il temp Per quanto riguarda il video di oggi tratteremo sempe il PID Compact che possiamo definire un PID universale a differenza degli altri du vediamo il nostro oggetto tecnologico una volta che è stato inserito nel programma si presenta Come si presenta questo in questo blocco con degli ingressi e delle uscite questo PID essendo un regolatore continuo con ottimizzazione integrata deve
rilevare ininterrottamente il valore istantaneo che arriva sull' input viene misurato all'interno del circuito di regolazione e viene confrontato con il valore stabilito di set point che è il valore desiderato della nostra regolazione partendo dalla differenza di regolazione tra questi due dati l'istruzione del PID Compact Cosa fa Calcola il valore che deve mandare in uscita abbiamo tre uscite ved nei particolari che differenza c'è tra l'una l'output per oppure l'output pw M vediamo che set point è il valore ogni tanto va per i fatti suoi passa da una slide all'altra il set point è il parametro desiderato
cioè quello che abbiamo stabilito come punto il controllo è il valore regolante e il valore attuale o istantaneo è l'ingresso sul input oppure input per sarebbe il parametro che va controllato con set point questa slide perché l'ho inserita perché vedremo nella programmazione che il bloccheto il PID Compact bisogna inserirlo su un blocco organizzativo su un di interrupt ciclico perché bisogna fare questo perché il PID include dei calcoli infin Ines imale deve una volta che noi abbiamo dato i parametri deve fare dei suoi calcoli e quindi è obbligatorio conoscere il lasso di tempo l'intervallo di tempo
tra un campionamento e il successivo con il valore di feedback successivo e questo tempo deve essere per forza costante per questo motivo è necessario utilizzare un blocco come questi questo blocco viene chiamato anche interrupt a periodo fisso Perché così abbiamo un una frequenza di campionamento costante Dove si trova l'Inter rupt si trova su Inserisci nuovo blocco blocco organizzativo ed è questo il Cycle Cycling interrupt adesso qui se risulta il 31 perché il 30 L'ho già usato ma quando se non è stato utilizzato di default dà il numero 30 comunque anche il 31 Va bene Se
vogliamo usarne due due due cicli di interrupt cosa succede in questa pagina linguaggio di programmazione il numero e il clock di tempo in millisecondi cosa fa questo Cycling è un blocco organizzativo e viene eseguito ad intervalli di tempo specificati ed esatti essendo un interrupt in base all'intervallo di tempo blocca momentaneamente l'esecuzione del main del principale ob1 e vai ad eseguire la scansione dell'hobby 30 esempio se ho creato un hby b30 e all'interno dello b30 c'è una una sequenza di istruzioni e il tempo di intervallo è stato fissato a 20 misei significa che ogni 20 millisecondi
il sistema operativo andrà a leggere l' b30 per così dire in non leggendo invece l' B1 che viene temporaneamente Stoppato vedremo la configurazione dell'oggetto tecnologico in questa finestra per la configurazione andremo a regolare le impostazioni di base cosa vedremo Sulle impostazioni di base la grandezza da gestire il l'unità di misura della grandezza e qui scegliamo il comportamento del PID al riavvio e qui abbiamo i parametri di ingresso uscita decidiamo dobbiamo non Dobbiamo stabilire dobbiamo indicare che tipo di input è quello del quello del dell'ingresso e quello dell'uscita quindi del valore istantaneo e dell'uscita che andremo
a comandare Poi ci sono i limiti del valore istantaneo scala ma tutto il resto lo vedremo direttamente sul video infine l'ultima slide il tool di messa in servizio e ottimizzazione e quest'altra finestra cosa serve il tool di messa in servizio serve per lanciare le ottimizzazioni e caricarle e caricare i parametri calcolati Quindi anche per verificare ovviamente il funzionamento del PID e si può può anche testare la modalità del funzionamento manuale o automatico abbiamo l' modo di ottimizzazione ottimizzazione iniziale e finale quella iniziale serve per calcolare i parametri del PID ed inoltre rileva la risposta del
processo ad un gradino dell'uscita quella finale serve per calcolare i parametri del PID per un buon mantenimento del valore di regime In che modo lo fa genera un valore costante del valore istantaneo dalla cui frequenza e ampiezza Calcola il valore dei parametri durante la messa in servizi all'ottimizzazione Bisogna ricordarsi queste condizioni di avvio il valore del set point e del valore istantaneo devono essere all'interno dei limiti configurati Non posso mettere un set point 200 se il limite è 180 è lo stesso per i valori del limite inferiore per quanto seconda condizione la differenza tra il
set point e il valore istantaneo nella mia ottimizzazione deve essere maggiore del 30% della differenza tra il limite superiore e limite inferiore e il terzo punto è differenza tra set point e valore istantaneo deve essere maggiore del 50% del valore del set point Quindi se ho un set point impostato a 80 il valore istantaneo a differenza col valore istantaneo deve essere almeno il 50% maggiore del valore istantaneo Quindi il valore istantaneo deve essere almeno se quello è 80 almeno 40 non di più altrimenti non riesce a ad ottimizzarlo detto questo passiamo adesso alla programmazione direttamente
sul PLC per ricordarmelo ho messo questa icona con la freccetta dice Antonio vai avanti bene passiamo avanti Ed eccoci nel nostro T Portal con il nostro programma vuoto Ah dobbiamo prima cosa abbiamo detto inserire un nuovo blocco Quindi vado su Inserisci nuovo blocco sono già collegato fisicamente con il mio PLC Ecco qua il nuovo blocco e questo qua vado a mettere che il mio PID mio controllo PID vado a prendere un OB abbiamo detto il Cycle interrupt vediamo che il clock di tempo è stabilito a 100 mse Ovviamente questo valore può cambiare in base alle
nostre esigenze nel caso che dovessimo fare un controllo di temperatura Siccome la temperatura cambia non è che cambia rapidamente nel tempo si può fare in modo che questo valore invece di essere di 100 millisecondi possa essere anche più alto Comunque per adesso siamo siamo così lasciamolo così ok Adesso all'interno del mio ob30 che quando penserà di riuscirci lo inserirà nel programma Eccolo qua PID Control ob3 devo andare a prendere il mio blocco tecnologia PID control Compact PID Eccolo qua Questo è quello di cui ci occuperemo oggi lo portiamo dentro PID Compact 1 mettiamo che questo
qua è un è un esercizio di test Ecco il nostro PID Compact vado a fare un po' di zoom in modo che si possa vedere meglio faccio un 140 eccolo qui adesso questo posso anche spostarlo momentaneamente vediamo che c'ha l' enable Tre ingressi e diverso uscite che possono anche non sono non sono visibili tutte le tutti gli ingressi e uscite cliccando sulla freccetta vediamo tutto il blocchetto completo ma per il momento visto la semplicità dell'esempio che vogliamo realizzare togliamo queste e dobbiamo inserire il valore che noi intendiamo mantenere il set point e poi possiamo decidere
tra input e input per nel caso di una di un segnale digitale di una variabile all'interno del PLC usiamo input Se invece se invece stiamo utilizzando un ingresso un valore analogico utilizziamo input per per quanto riguarda le uscite output se abbiamo l'uscita in digitale e quindi per un'uscita digitale del nostro PLC output per se utilizziamo invece il valore calc lato per un'uscita analogica tra 0 e 10 v Oppure se il nostro PLC gli ingressi vanno in corrente va da 4 a 20 mamp l'output in pvm lo utilizziamo lo lo inviamo ad un'uscita digitale però tramite
una modulazione di larghezza Di impulso un treno di impulsi che vengono che vengono calcolati che devono essere stabiliti per questi tre li lasciamo per perdere andiamo a vedere cosa è successo quando abbiamo inserito il nostro Compact vediamo su blocchi di sistema risorse di programma mi trovo questo oggetto PID Compact non è altro che il Data Block il DB del nostro oggetto così come quando inseriamo un temporizzatore o un contatore vengono vengono viene automaticamente creato un DB per Le istanze di del contatore e del del temporizzatore anche il PID si ha un suo DB per le
con tutti gli ingressi e tutte le uscite che troviamo nel blocchetto quindi per tutte le istanze per tutto ciò che riguarda il nostro bloco Inoltre non ha creato semplicemente un DB per Le istanze ma anche su oggetti tecnologici PID Compact test c'è la possibilità di andare a configurare il nostro PID o metterlo in servizio sia da queste due sia da quando per quanto riguarda Questa cartella oppure direttamente da configurazione e messa in servizio cominciamo Allora a programmare il nostro semplice esempio io ho già preparato delle variabili su set point ho messo una valvola m MD
set point sull' input ho messo una messo una valvola una memoria Scusate un inresso MV 20 che è il valore istantaneo sull'uscita ho messo un MD Eccolo qua md8 valore del controllo dell'uscita adesso devo andare a configurare il mio PID Clicco qui e vado a scegliere le mie le mie caratteristiche i miei parametri messo sulla temperatura generalmente rimane quello che l'abbiamo usato l'ultima volta quindi lo lascio sulla temperatura ma potrei ved metterlo su pressione misurare quello che voglio portata lascio sulla temperatura lo lascio anche su gradi ctig e potrei scegliere tra Fahrenheit Kelvin Celsius lascio
in funzionamento manuale va bene così su parametri d'ingresso e d'uscita set point lo va a raccogliere direttamente dal mio ingresso del blocchetto qui devo sapere che tipo di ingresso usato nel blocco se è un input digitale oppure un input di periferia analogico Io ho scelto questo e su uscita se c'ho l'uscita digitale Un output periferica per un uscita analogica oppure un'uscita in pwm ho usato questa su impostazione del valore istantaneo devo mettere i valori del campo da misurare posso lasciare 0 100 quest'altra scala del valore istantaneo viene utilizzata considerata solo se ho un ingresso input
per dove il valore Dove metto i miei valori da misurare minimo e il massimo e fa lo stesso lavoro di normalizzazione e scalatura che fa i nostri due blocchi norm x e scale X lo fa direttamente il nostro Pin dove ci dà col minimo valore un numerico zero con il massimo valore un valore numerico di 27648 questo è quello che abbiamo visto poi ci sono le impostazioni avanzate ma per un momento le lascio stare perché non voglio creare non voglio creare troppo troppe idee Voglio semplicemente per adesso vedere le impostazione di base fino a qui
e quindi lasciamo tutto come sta bene lo andiamo a compilare trasferire sul mio PLC e vado a mettere i miei occhialini cioè per vedere gli stati onof o anche per modificare i valori all'interno delle memorie valori numerici Attualmente il valore che ho messo è 80 ma vedete che posso modificarlo da qui e mettere un valore diverso ma lo lascio 80 mentre per quanto riguarda il valore dell'input e qui il valore dell'uscita il valore dell'uscita per adesso è il 100% significa se sto controllando una temperatura e questo è quello che mi regola la mia temperatura per
adesso è aperta al 100% perché da z0 deve arrivare a 80 e quindi è alla massima apertura del mio meccanismo questi valori Vabbè sono scritti qua ma non significano non significano niente adesso per una simulazione che abbia un senso questo valore io posso metterlo manualmente e scriverlo però poi per avere un altro punto devo di nuovo premere di nuovo inserire un nuovo valore questo perché Perché non essendo collegato con nessun con nessuna macchina non ho un un sensore che va a vedermi il segnale di retroazione Qual è il valore istantaneo Quindi il valore istantaneo in
questo momento devo simular e glielo devo dare io come ho fto fatto per dargli un valore simulato vado qua sotto e ho creato questa simulazione dove ho messo un ingresso con il clock clock ogni secondo questo ogni secondo mi manda un mi fa incrementare il mio conteggi i miei il mio contatore impostato a 40 avrei potuto impostarlo a 80 per avere 80 Così come ho messo lì però per evitare che siano dei brodi lunghi fatto altro che i miei conteggi in uscita questi qua li ho moltiplicati per due e così ho il mio valore istantaneo
va a confrontarlo con il mio valore de set point e quando l'ha raggiunto Mi accende Questa simulazione questa questa uscita Quest memoria andiamo a sperimentarlo per vedere che funziona semplicemente questa parte qua vado a ecco vedete 1 2 3 Il 3 va sarà quello che sarà il mio valore istantaneo ecco vedete il mio valore istantaneo che va ad aumentare ovviamente sull'uscita non succede niente perché non ho ancora settato messo chiudo il mio ingresso il mio contatore e la cosa migliore da fare in questo momento visto che devo ripartire da zero e con l'ingresso di 0.2
vado a resettare il mio contatore Ecco abbiamo detto che quindi questo mi serve per il mio incremento per il mio valore di istantaneo valore istantaneo Eccolo qua 1.2 Adesso andiamo alla messa in servizio ed ottimizzazione Eccolo qua vediamo che ho la leggenda mi fa vedere che su quest'area vado a vedere i valori del set point in color nero il valore di ingresso valore di ingresso in questo caso è il mio input dei gradi centigradi quelli che dovranno raggiungere il set point quello che deve essere confrontate in verde invece il valore dell'uscita quella che mi regola
che mi regola che mi regola il segnale per portarlo al set point è di colore rosso cosa devo fare in questa fase iniziamo la mia messa punto e ottimizzazione cliccando su St in modo che comincia a leggere i valori che sono presenti Ecco mi fa vedere che è al 100% la mia valvola di uscita 80 è il mio set point attualmente sono a zero Devo ottimizzare per fare in modo che adesso vada con questi tre dati a calcolarsi i parametri del PID Ecco qui che bene sto facendo il download dei un hard disk dei segreti
vado adesso ad attivare il mio ingresso un sistema ottimizzato e vado a vedere che cosa sta succedendo sta aumentando mentre il mio segnale la mia uscita sta diminuendo fino a quando non arriverà al livello del set point e quindi questo dovrà arrivare a 0 Ecco Siamo a 7 0 e ciè arrivato prima Ecco adesso per il discorso simulazione Ecco adesso è a zero Se facciamo così andiamo a vedere cosa succede da questa banda Vado a chiudere a resettare a resettare il mio valore istantaneo e lo faccio ripartire lo vediamo che siamo al 100% Siccome ho
fatto ripartire il tutto devo fare di nuovo stop e di nuovo start simulazione ovviamente in un processo continuo collegato direttamente con tutto il necessario con la nostra macchina non ci sarebbe bisogno di fare questo vediamo che qui sta scendendo al 5% 10 siamo a z0 mentre il nostro valore sta raggiungendo il set point sta raggiungendo anche in questo caso bisogna visto che si simulazione fare così ma non ci sarebbe bisogno e così abbiamo visto il funzionamento del nostro PID velocemente Volevo farvi vedere un'altra cosa sto tolgo un attimo questo riporto questo qui tolgo la simulazione
e abbiamo visto che prima continu a fare stop Star per quale motivo perché il funzionamento era messo su manuale Quindi ogni modifica dovevo attivarlo poi di nuovo Start Stop Se invece il funzionamento l'aumento automatico funziona meglio Adesso vediamo Vado a chiuderlo lo Sì ma devo tornare sul Cycle interupt perché si trova tutto qui compilo e trasferisco carichiamo il tutto lanciamo qui adesso viene fuori 80 perché quello di default l'ho lasciato bene vado a vedere la messa appunto vado a premere lo Start per cominciare l'acquisizione dei dati che sono qua 800 0 e vado ad ottimizzare
la mia ottimizzazione la mia ottimizzazione c'ho 100% in uscita anche zero di input e 80 che è il mio set point Adesso vado a fare incrementare il mio segnale di inresso Eccolo qua Ed ecco vediamo che l'output scende man mano che aumenta che il segnale di ingresso va raggiung il set point poi and aggiunge il set point qui andremo sullo zero bene Questo è tutto così abbiamo visto questo primo esempio semplice ne seguiranno altri dove vedremo altri tipo di controlli utilizzando gli ingressi analogici l' uscite analogiche l' uscite pvm con degli esempi anche pratici spendibili
per per il nostro studio e per chi insegna per i vostri per i vostri studenti Vi ringrazio per la visione Vi auguro una buona continuazione e ci vediamo al prossimo video