Per il regolatore a impulsi occorre creare un valore regolante continuo in formato di virgola mobile con le istruzioni PID e LMNGEN_C. Da questo valore regolante si genera un treno di impulsi attraverso una modulazione di larghezza di impulso con l'istruzione PULSEGEN_M.
Creazione di un valore regolante continuo in formato di virgola mobile
-
Dichiarare nell'FB regolatore, qui PIDCTR, un parametro di uscita LMN con tipo di dati "Real".
-
Richiamare nell'FB regolatore le istruzioni PID e LMNGEN_C come multiistanze.
-
Interconnettere e parametrizzare PID e LMNGEN_C come descritto per il regolatore continuo.
-
Interconnettere LMNGEN_C.LMN con il parametro di uscita LMN dell'FB regolatore.
La figura seguente mostra come richiamare e interconnettere le istruzioni di Modular PID Control nell'FB regolatore PIDCTR.
Generazione di un treno di impulsi
Per generare un treno di impulsi dal valore regolante continuo procedere nel modo seguente:
-
Creare una funzione, ad es. FC50, con i parametri di ingresso COM_RST e CYCLE.
-
Creare un Blocco dati globale DB_LOOP nel quale parametrizzare i tempi del ciclo per il richiamo dell'FB del regolatore e del generatore di impulsi PULSEGEN_M.
Il rapporto tra tempo di ciclo per il richiamo dell'FB regolatore e PULSEGEN_M deve essere ≥ 20.
-
Richiamare l'istruzione LP_SCHED_M nella funzione.
-
Interconnettere LP_SCHED_M.DB_NBR con il blocco dati globale DB_LOOP.
-
Richiamare l'FB regolatore, ad es. PIDCTR se DB_LOOP.LOOP_DAT[1].ENABLE = TRUE.
-
Interconnettere DB_LOOP.LOOP_DAT[1].COM_RST e DB_LOOP.LOOP_DAT[1].CYCLE con i parametri di ingresso COM_RST e CYCLE dell'FB regolatore.
-
Impostare DB_LOOP.LOOP_DAT[1].ENABLE = FALSE.
-
Richiamare l'istruzione PULSEGEN_M se DB_LOOP.LOOP_DAT[2].ENABLE = TRUE.
-
Interconnettere DB_LOOP.LOOP_DAT[2].COM_RST e DB_LOOP.LOOP_DAT[2].CYCLE con PULSEGEN_M.COM_RST e PULSEGEN_M.CYCLE.
-
Interconnettere PULSEGEN_M.INV con il parametro di uscita LMN dell'FB regolatore.
-
Interconnettere PULSEGEN_M.PER_TM con il parametro di ingresso CYCLE dell'FB del regolatore.
-
Impostare DB_LOOP.LOOP_DAT[2].ENABLE = FALSE.
-
Interconnettere PULSEGEN_M.QPOS_P ed eventualmente PULSEGEN_M.QNEG_P con le uscite digitali della CPU che comandano l'organo attuatore.
-
Richiamare la funzione nell'OB 100 e nell'OB di schedulazione orologio.