PID控制的難點在于整定控制器的參數(shù)。為了學(xué)習(xí)整定PID控制器參數(shù)的方法,,必須做閉環(huán)實驗,,開環(huán)運(yùn)行PID程序沒有任何意義。用硬件組成一個閉環(huán)需要PLC的CPU模塊,、模擬量輸入模塊和模擬量輸出模塊,,此外還需要被控對象、檢測元件,、變送器和執(zhí)行機(jī)構(gòu),。例如可以用電熱水壺作為被控對象,用熱電阻檢測溫度,,用溫度變送器將溫度轉(zhuǎn)換為標(biāo)準(zhǔn)電壓,用移相控制的交流固態(tài)調(diào)壓器作執(zhí)行機(jī)構(gòu)。
有沒有比較簡單的實現(xiàn)PID閉環(huán)控制的方法呢,?
在控制理論中,,用傳遞函數(shù)來描述被控對象、檢測元件,、執(zhí)行機(jī)構(gòu)和PID控制器,。
被控對象一般是串聯(lián)的慣性環(huán)節(jié)和積分環(huán)節(jié)的組合。在實驗室可以用以運(yùn)算放大器為核心的模擬電路來模擬廣義的被控對象(包括檢測元件和執(zhí)行機(jī)構(gòu))的傳遞函數(shù),。我曾將這種運(yùn)放電路用于S7-200和S7-1200的PID參數(shù)自動調(diào)節(jié)實驗,。
用運(yùn)算放大器模擬被控對象一般需要做印刷電路板,還是比較麻煩,。有沒有更簡單的方法呢,?
除了用運(yùn)算放大器來模擬被控對象的傳遞函數(shù),也可以用PLC的程序來模擬,。為此我編寫了用來模擬被控對象的S7-200的子程序,,它也可以用于S7-200 SMART。使用模擬的被控對象的PID閉環(huán)示意圖如下圖所示,,虛線右邊是被控對象,,DISV是系統(tǒng)的擾動輸入值。虛線左邊是PLC的PID控制程序,。
被控對象的數(shù)學(xué)模型為3個串聯(lián)的慣性環(huán)節(jié),,其增益為GAIN,3個慣性環(huán)節(jié)的時間常數(shù)分別為TIM1~TIM3,。其傳遞函數(shù)為

西門子ET200模塊6ES7131-4RD02-
分母中的“s”為自動控制理論中拉普拉斯變換的拉普拉斯算子,。將某一時間常數(shù)設(shè)為0,可以減少慣性環(huán)節(jié)的個數(shù),。圖中被控對象的輸入值INV是PID控制器的輸出值,。被控對象的輸出值OUTV作為PID控制器的過程變量(反饋值)PV。
下圖是模擬被控對象的子程序,,實際上只用了兩個慣性環(huán)節(jié),,其時間常數(shù)分別為5000ms和2000ms。用與PID的采樣周期相同的定時中斷時間間隔來調(diào)用這個子程序,。

下圖是用來監(jiān)視PID回路運(yùn)行情況的STEP 7-Micro/WIN的PID調(diào)節(jié)控制面板,,可以用它進(jìn)行PID參數(shù)自整定或手動調(diào)節(jié)PID參數(shù)的實驗。標(biāo)有PV(即被控量)的是過程變量的階躍響應(yīng)曲線,。

將上圖中的積分時間由0.03min(分鐘)增大到0.12min,,下圖的超調(diào)量有明顯的減小。通過修改PID的參數(shù),,觀察被控量階躍響應(yīng)曲線給出的超調(diào)量和調(diào)節(jié)時間等特征量的變化情況,,可以形象直觀,、快速地學(xué)習(xí)和掌握PID參數(shù)的整定方法。