Creazione di un regolatore a impulsi (S7-300, S7-400) - PID

Applicare PID Control modulare (S7-300, S7-400)

ft:publication_title
Applicare PID Control modulare (S7-300, S7-400)
Product
PID
Version
V20
Publication date
11/2024
Language
it-IT
Creazione di un regolatore a impulsi

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

  1. Dichiarare nell'FB regolatore, qui PIDCTR, un parametro di uscita LMN con tipo di dati "Real".

  2. Richiamare nell'FB regolatore le istruzioni PID e LMNGEN_C come multiistanze.

  3. Interconnettere e parametrizzare PID e LMNGEN_C come descritto per il regolatore continuo.

  4. 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:

  1. Creare una funzione, ad es. FC50, con i parametri di ingresso COM_RST e CYCLE.

  2. 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.

  3. Richiamare l'istruzione LP_SCHED_M nella funzione.

  4. Interconnettere LP_SCHED_M.DB_NBR con il blocco dati globale DB_LOOP.

  5. Richiamare l'FB regolatore, ad es. PIDCTR se DB_LOOP.LOOP_DAT[1].ENABLE = TRUE.

  6. 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.

  7. Impostare DB_LOOP.LOOP_DAT[1].ENABLE = FALSE.

  8. Richiamare l'istruzione PULSEGEN_M se DB_LOOP.LOOP_DAT[2].ENABLE = TRUE.

  9. Interconnettere DB_LOOP.LOOP_DAT[2].COM_RST e DB_LOOP.LOOP_DAT[2].CYCLE con PULSEGEN_M.COM_RST e PULSEGEN_M.CYCLE.

  10. Interconnettere PULSEGEN_M.INV con il parametro di uscita LMN dell'FB regolatore.

  11. Interconnettere PULSEGEN_M.PER_TM con il parametro di ingresso CYCLE dell'FB del regolatore.

  12. Impostare DB_LOOP.LOOP_DAT[2].ENABLE = FALSE.

  13. Interconnettere PULSEGEN_M.QPOS_P ed eventualmente PULSEGEN_M.QNEG_P con le uscite digitali della CPU che comandano l'organo attuatore.

  14. Richiamare la funzione nell'OB 100 e nell'OB di schedulazione orologio.