用S7-300PLC進行PID控制——功能塊FB41的功能及用法介紹

一、控制系統假設

用S7-300PLC進行PID控制——功能塊FB41的功能及用法介紹

圖1 液壓系統控制框圖

如圖1為液壓系統的簡單控制框圖。控制方式為使用變頻器拖動泵,使系統的實際壓力等於設定壓力。本文基於此係統,探討一下如何用S7-300進行PID控制。為方便討論,做以下假定:

  • · 系統壓力的可調範圍為:0 – 1MPa;
  • · 變頻器的變頻範圍為:0 – 50Hz;
  • · 壓力傳感器的輸入外設地址:PIW272;模擬量輸出外設地址為PQW288。

二、FB41簡介

在STEP7中的庫中,有專門用於PID控制的FB塊——FB41。PID控制必須在循環中斷中執行,以確保其掃描、執行時間基本固定。本例中的CPU僅有OB35一個循環中斷,因此,要在OB35中調用FB41。

用S7-300PLC進行PID控制——功能塊FB41的功能及用法介紹

圖2 FB41在庫中的位置

用S7-300PLC進行PID控制——功能塊FB41的功能及用法介紹

圖3 FB41的邏輯圖

FB41的邏輯如圖3所示。分解介紹如下:

  • · SP_INT端為給定值,本例中即為給定壓力,假設為0.5MPa;即:0.5==>"SP_INT";
  • · 實際值有兩條通路可選:

· 當PVPER_ON=0時,PV_IN端的值為實際值,該值通常有FC105轉換而來;

· 當PVPER_ON=1時,PV_PER端的值為實際的壓力值,該值來自AI模塊,為壓力傳感器的反饋值;

本例中,我們以PVPER_ON=1時,來說明。即:1==>"PVPER_ON"、PIW272==>"PV_PER"

  • · PV_FAC、PV_OFF對應壓力的範圍,即:1==>"PV_FAC"、0==>"PV_OFF"。
  • · PV是根據PV_PER計算出的實際壓力值。具體來說:

PV_PER=0時,對應的實際壓力為PV_OFF,即0MPa;

PV_PER=27648時,對應的實際壓力為PV_FAC,即1MPa;

PV=PV_PER/27648*(PV_FAC – PV_OFF),本例中,PV=PV_PER/27648;

  • · ER為給定值SP_INT和實際值PV的偏差,PID即是基於它進行調節的;
  • · GAIN、TI、TD分別為比例、積分、微分的係數。比例功能投入與否,由P_SEL決定,當P_SEL=1時,比例功能起作用;同理,I_SEL、D_SEL決定是否啟用積分、微分調節;
  • · LMN_P、LMN_I、LMN_D分別記錄當前控制量的比例分量、積分分量、微分分量。
  • · LMN_HLM、LMN_LLM分別為輸出的上、下限值,上限100對應50Hz,下限0對應0Hz,所以:LMN_HLM=100/50=2;LMN_LLM=0;
  • · LMN_FAC、LMN_OFF標定頻率的變化範圍,分別為50Hz和0Hz;
  • · LMN_PER為輸出的標準化,LMN_PER=LMN/100*27648;

FB41中還有其他參數,本文僅對PID控制做簡單介紹,上述幾個參數是必須了,將其定義在DB1中,如圖4所示。然後在OB35中,調用FB41,並將DB1中的數據一一對應的填入相應的引腳,即完成了PID控制的基礎工作,如圖5-7所示。

用S7-300PLC進行PID控制——功能塊FB41的功能及用法介紹

圖4 FB41關鍵參數定義

用S7-300PLC進行PID控制——功能塊FB41的功能及用法介紹

用S7-300PLC進行PID控制——功能塊FB41的功能及用法介紹

用S7-300PLC進行PID控制——功能塊FB41的功能及用法介紹

圖5-7 OB35中調用FB41

目前為止,我們就完成了PID控制的基礎工作,至於如何調試PID參數,我們下一篇文章繼續討論。


分享到:


相關文章: