如果用西門子S7-200 SMART PLC實現(xiàn)PID控制,則需要掌握配置PID向?qū)?、調(diào)用子程序、創(chuàng)建狀態(tài)圖表測試程序、自整定PID參數(shù)等技能。昌暉儀表在本文詳細介紹西門子S7-200 SMART PID回路控制,如何配置PID向?qū)??如何調(diào)用子程序?如何創(chuàng)建狀態(tài)圖表測試程序?如何自整定PID參數(shù)?
PID控制器是應(yīng)用最廣泛的閉環(huán)控制器,它根據(jù)給定值與被控變量實測值之間的偏差,按照PID算法計算出控制器的輸出量控制執(zhí)行機構(gòu)進行調(diào)節(jié),使被控量跟隨給定量進行變化并使系統(tǒng)達到穩(wěn)定,自動消除各種干擾對控制過程的影響,其中P、I、D分別指比例、積分、微分。
PID控制原理圖
在西門子S7-200 SMART中,PID控制功能通過PID指令來實現(xiàn)。編程軟件STEP7-Micro/WIN SMART提供了PID向?qū)?,可以幫助用戶組態(tài)PID控制和生成PID子程序,方便快捷的完成PID控制編程任務(wù),支持8路PID功能、自動/手動切換以及PID整定。
PID回路向?qū)?/span>
STEP7-Micro/WIN SMART還提供了PID整定控制面板,允許以圖形方式監(jiān)視PID回路行為,還可以啟動、停止自整定功能。下面我們來進行S7-200 SMART PID回路控制的使用練習(xí):利用PID向?qū)Ь帉懗绦颍箿囟缺3衷诮o定值,并對PID參數(shù)進行整定。
PID整定控制面板
任務(wù)描述。本次實驗設(shè)備中利用溫度變送器將0-100℃的溫度轉(zhuǎn)換為0-10V的電壓信號,送到擴展模塊EM AM06的模擬量輸入通道2。加熱器用Q1.6輸出的PWM脈沖來控制。需要說明的是,EM AM06將模擬量輸入0-10V電壓信號轉(zhuǎn)換為數(shù)字量,對應(yīng)數(shù)字范圍為0-27648,傳送到S7-200 SMART CPU的AI存儲器中。
實驗任務(wù)描述
硬件組態(tài)。打開編程軟件STEP7-Micro/WIN SMART創(chuàng)建新項目,在項目樹中雙擊CPU打開,根據(jù)實際配置CPU選擇SR40,擴展模塊EM0選擇AM06,啟用模塊電源報警。單擊模擬量輸入節(jié)點下的通道2,通道地址為AIW20,類型組態(tài)為電壓,范圍選擇+/-10V,平滑采用默認的4個周期,啟用超出上限報警和超出下限報警,單擊確定按鈕完成硬件組態(tài)。
硬件組態(tài)
配置PID向?qū)?。在工具菜單功能區(qū)單擊PID按鈕打開PID回路向?qū)υ捒?,選擇要組態(tài)的回路,最多可組態(tài)8個回路,這里我們選擇回路0。
選擇回路0
在左側(cè)的樹視圖中單擊回路0節(jié)點,在此定義回路名稱。單擊參數(shù)節(jié)點,在此設(shè)置回路參數(shù),如果不需要比例作用,增益設(shè)置為0.0,如果不需要積分作用,積分時間設(shè)置為無窮大值INF,如果不需要微分作用,微分時間設(shè)置為0.0,采樣時間是PID控制回路對反饋采樣以及重新計算輸出值的時間間隔,這里我們均采用默認值,后面在實驗中進行自整定。
設(shè)置回路參數(shù)
單擊輸入節(jié)點,在此指定回路過程變量的標(biāo)定方式,根據(jù)外接模擬量輸入情況,類型選擇単極型,標(biāo)定選項中設(shè)置過程變量范圍0到27648,對應(yīng)回路設(shè)定值范圍0.0到100.0,該值是給定值占過程變量量程的百分比,在本例中也可以認為是工程量溫度值。
設(shè)置輸入?yún)?shù)
點擊輸出節(jié)點,在此指定回路輸出的標(biāo)定方式,根據(jù)外接輸出信號類型選擇數(shù)字量,循環(huán)時間即PWM輸出的周期,采用默認值0.1秒。
設(shè)置輸出參數(shù)
單擊報警節(jié)點,在此設(shè)定回路報警選項,啟用下限報警、上限報警、模擬量輸入錯誤報警,指定報警上下限值以百分比表示,以及模擬量輸入模塊連接到PLC的位置。
報警參數(shù)設(shè)置
單擊代碼節(jié)點,在此自定義向?qū)傻淖映绦蚝椭袛喑绦虻拿Q,選擇添加PID的手動控制,當(dāng)處于手動模式時不執(zhí)行PID計算,回路輸出由程序控制。單擊存儲器分配節(jié)點,PID向?qū)橥瓿蒔ID運算需要120個字節(jié)的位存儲器,為其指定起始地址,要保證程序中沒有使用這些存儲器,單擊建議按鈕向?qū)⒆詣釉O(shè)定當(dāng)前程序中未用的位存儲器,這里我們采用VB0為起始地址。
添加PID手動控制
單擊組件節(jié)點,在此列出了PID向?qū)傻慕M件,包括一個初始化PID的子程序、一個用于循環(huán)執(zhí)行PID功能的中斷程序、一個120個字節(jié)的數(shù)據(jù)頁以及一個符號表,單擊生成按鈕完成PID向?qū)渲?,向?qū)傻捻椖拷M件添加到了項目中。
項目組件列表
查看向?qū)傻捻椖拷M件。在項目樹中展開程序塊下的向?qū)募A,雙擊初始化PID子程序打開,該子程序是加密的,可以查看相關(guān)的子程序調(diào)用說明,變量表列出了子程序的接口參數(shù)定義,編程調(diào)用時可參考。雙擊PID功能中斷子程序打開,該中斷子程序也是加密的,請注意PID向?qū)褂昧硕〞r中斷0,編程時不能再使用此中斷,否則會引起PID運行錯誤。
查看項目組件
展開符號表下的向?qū)募A,雙擊PID符號表打開,在此可以查看PID回路相關(guān)參數(shù)的符號及地址信息,不可更改,編程時可參考。展開數(shù)據(jù)塊下的向?qū)募A,雙擊PID數(shù)據(jù)頁打開,該數(shù)據(jù)頁是加密的,在此可以查看PID回路的PID算法相關(guān)參數(shù),這樣PID向?qū)Ь团渲猛瓿闪恕?br />
PID符號表
在編程軟件STEP7-Micro/WIN SMART的指令樹中,展開調(diào)用子例程文件夾,選擇初始化PID向?qū)ё映绦蛲戏诺街鞒绦蛑?,該子程序有多個接口參數(shù),切換到該子程序窗口,程序注釋中指出需要在每個掃描周期使用SM0.0從主程序中調(diào)用該子程序,變量表給出有關(guān)接口參數(shù)的含義和取值范圍。
拖放初始化PID向?qū)ё映绦?/span>
回到主程序窗口,使能端插入一個常開觸點,輸入地址SM0.0,過程變量參數(shù)處輸入模擬量輸入地址AIW20,設(shè)定值參數(shù)處輸入VD200,Auto_Manual處輸入M0.0,ManualOutput處輸入50.0,表示用M0.0控制自動與手動模式。配置PID向?qū)r我們已經(jīng)設(shè)置回路為數(shù)字量輸出,因此手動模式時PID輸出占空比為百分之五十,如果配置向?qū)r沒有添加PID手動控制,這兩項不會出現(xiàn)。|
設(shè)置參數(shù)地址
Output處輸入Q1.6,用PWM輸出驅(qū)動加熱裝置,HighAlarm、LowAlarm、ModulError處輸入滿足高低限報警、模塊錯誤報警條件時相應(yīng)的輸出標(biāo)志位,如果在配置向?qū)r沒有啟用這些報警功能,相應(yīng)的項也不會出現(xiàn),這里我們分別輸入Q0.0、Q0.1、Q0.2。另外,打開PID向?qū)傻姆柋?,查看各回路參?shù)的詳細地址,從而可以使用程序、狀態(tài)圖表、或從HMI設(shè)備上修改PID參數(shù)值進行編程調(diào)試,例如標(biāo)準(zhǔn)化過程變量的地址為VD0,如果想要得到實際工程量,需要編寫程序轉(zhuǎn)換。
查看符號表
插入實數(shù)相乘指令,在IN1處輸入地址VD0,IN2處輸入100.0,OUT處輸入地址VD204,該指令把標(biāo)準(zhǔn)化的過程變量轉(zhuǎn)化成了實際溫度值存放在VD204中。對使用的地址進行符號定義,如下圖所示,這樣通過調(diào)用PID向?qū)傻淖映绦蚴箿囟缺3衷诮o定值的程序就編寫完成了,最后,保存編譯項目。
編寫程序
下面,我們來學(xué)習(xí)如何創(chuàng)建狀態(tài)圖表并利用狀態(tài)圖表來測試程序。首先我們來看一下如何創(chuàng)建狀態(tài)圖表。
復(fù)制所需的數(shù)據(jù)地址
創(chuàng)建狀態(tài)圖表。從符號表復(fù)制所需要監(jiān)控的數(shù)據(jù)地址粘貼到狀態(tài)圖表中,切換尋址顯示模式,設(shè)置合適的數(shù)據(jù)顯示格式,如圖所示,這樣就快速創(chuàng)建了狀態(tài)圖表,單擊保持按鈕保存項目。
將數(shù)據(jù)地址粘貼到狀態(tài)圖表中并切換尋址顯示模式
下載并測試。將項目下載到PLC中,將CPU置于RUN模式,在狀態(tài)圖表中持續(xù)監(jiān)視,可以看到當(dāng)前溫度為30度左右,PID控制處于手動模式,加熱器按照百分之五十的PWM工作。
狀態(tài)圖表中監(jiān)視PID參數(shù)
溫度持續(xù)升高,將給定值設(shè)置為80度,PID控制改為自動模式,溫度向設(shè)定值方向變化,自動計算PID輸出。
PID設(shè)為自動模式
修改PID控制參數(shù),觀察控制器及被控變量狀態(tài),實際調(diào)試時可以利用PID整定控制面板,以圖形方式來直觀查看,并自整定PID控制參數(shù)。
修改PID控制參數(shù)觀察控制器及被控變量狀態(tài)
接下來使用西門子S7-200 SMART PID整定控制面板自整定PID參數(shù)。首先我們介紹一下PID整定控制面板。左側(cè)選擇PID回路號,標(biāo)定區(qū)域顯示給定值、過程值、輸出值以及高低限,均以百分比顯示;圖形顯示區(qū)中用不同顏色的曲線顯示了給定值、過程值以及輸出值相對于時間的PID趨勢圖,其中過程值和給定值共用圖形左側(cè)的縱軸,輸出使用圖形右側(cè)的縱軸;采樣區(qū)域中采樣時間是執(zhí)行PID運算的時間間隔,只能在PID向?qū)渲弥懈?,速率設(shè)置圖形顯示區(qū)所有顯示值的采樣更新速率,可以單擊暫停按鈕凍結(jié)圖形、單擊清除按鈕清除圖形;調(diào)節(jié)參數(shù)區(qū)域中顯示增益、積分、微分參數(shù)的當(dāng)前值,選擇啟用手動調(diào)節(jié)后在計算值列可以直接修改PID參數(shù),在自動模式下單擊啟動按鈕啟動自整定,自整定完成后單擊更新CPU按鈕將自整定計算出的PID參數(shù)寫入到CPU中;狀態(tài)區(qū)域顯示自整定過程狀態(tài)。
PID整定控制面板
單擊選項按鈕打開自整定參數(shù)設(shè)置的高級選項對話框,選中自動計算值復(fù)選框,自整定將自動計算滯后值和偏差值,不選中此項可以自行指定這些值;滯后值規(guī)定了允許過程值偏離設(shè)定值的最大正負范圍;偏差值決定了允許過程值偏離設(shè)定值的峰-峰值;初始輸出步就是輸出變化的第一步變化量,以實際輸出量程的百分比表示;看門狗時間規(guī)定過程變量必須在此時間內(nèi)達到或穿越設(shè)定值;動態(tài)響應(yīng)字段中根據(jù)回路過程的控制要求可選擇不同的響應(yīng)類型。
高級選項
自整定。要使用PID控制面板必須與CPU通信,用PID向?qū)渲蒙梢粋€PID回路,并將程序下載到CPU中,使CPU處于運行模式,在狀態(tài)圖表中將給定值設(shè)為60度,PID控制改為自動模式。
狀態(tài)圖表
在工具菜單功能區(qū)單擊PID控制面板按鈕,打開PID整定控制面板對話框,選擇回路0,先啟動手動調(diào)節(jié),輸入PID參數(shù),如增益改為5.0,單擊更新CPU,使新輸入的參數(shù)值起作用,監(jiān)視趨勢圖,根據(jù)調(diào)節(jié)狀況改變PID參數(shù)直至調(diào)節(jié)穩(wěn)定,即過程值與設(shè)定值接近,且輸出沒有不規(guī)律的變化,并最好處于控制范圍中心附近,此時可將手動調(diào)節(jié)改為自動調(diào)節(jié),即自整定。
手動調(diào)節(jié)改為自動調(diào)節(jié)
單擊選項按鈕,打開自整定參數(shù)設(shè)置高級選項,這里我們不做修改,單擊啟動按鈕啟動PID自整定功能,此時按鈕變?yōu)橥V?,觀察自整定過程狀態(tài),這時只需耐心等待,系統(tǒng)完成自整定后會自動將計算出的PID參數(shù)顯示出來。請注意,要使用自整定功能必須保證PID回路處于自動模式,開始自整定后,給定值不能再改變。
完成自整定
當(dāng)按鈕再次變?yōu)閱訒r表示系統(tǒng)已經(jīng)完成了自整定,單擊更新CPU按鈕,將PID自整定參數(shù)應(yīng)用到PLC中。在狀態(tài)圖表中可以看到PID參數(shù)已經(jīng)更新為新的整定參數(shù)。
參數(shù)已改變
到此用S7-200 SMART PLC實現(xiàn)PID控制教程的內(nèi)容就結(jié)束了,歡迎大家對本教程提出寶貴意見。