【干貨分享】S7-1200 PLC如何組態(tài)PID功能
在我們實(shí)際工作經(jīng)常會(huì)用到PID控制系統(tǒng),比如控制恒壓供水設(shè)備,恒溫加熱設(shè)備等。這些設(shè)備使用PLC進(jìn)行控制時(shí),不僅僅需要編程,還需要設(shè)置相關(guān)參數(shù)(或者說(shuō)組態(tài))。只有正確設(shè)置了相關(guān)參數(shù)之后,程序編寫的才有意義。
那么今天我們以西門子1200PLC為例,給大家講講如何組態(tài)PID功能。在組態(tài)之前,要先判斷如何選擇PID指令,因?yàn)楦鶕?jù)不同的應(yīng)用場(chǎng)景選擇的PID指令不同,指令選擇的不同的話,組態(tài)也有一些區(qū)別。
①PID指令選擇:
S7-1200 PID 功能有三條指令可供選擇, 分別為 PID_Compact,PID_3Step,PID_Temp,如圖1所示:

?第一步:先判斷是否使用三位執(zhí)行機(jī)構(gòu),如果使用則選擇PID_3Step指令。這里解釋一下三位執(zhí)行機(jī)構(gòu)的特點(diǎn):
1、只接受開啟/關(guān)閉兩個(gè)數(shù)字量輸出控制;
2、具有開到位/關(guān)到位的限位開關(guān)輸入信號(hào),或具有模擬量反饋位置信號(hào)。
比如現(xiàn)場(chǎng)的一些電動(dòng)閥門,PLC控制電動(dòng)閥門的正轉(zhuǎn)或者反轉(zhuǎn)從而控制流量、壓力等。PID_3Step指令(如圖2)控制兩個(gè)開關(guān)量的輸出,比如一個(gè)為1,一個(gè)為0,電動(dòng)機(jī)可能是正轉(zhuǎn)。一個(gè)0,另外為1,電動(dòng)機(jī)可能是反轉(zhuǎn)。

?第二步:如果未使用三位執(zhí)行機(jī)構(gòu),判斷是不是多回路、串級(jí)控制,如果是,則跳轉(zhuǎn)到第3步判斷;如果不是,則跳轉(zhuǎn)到第4步。
第三步:判斷是不是需要加熱/制冷雙輸出(比如在空調(diào)系統(tǒng)中)。如果需要,則調(diào)用PID_Temp指令,如圖3所示。

?第四步:判斷是不是需要溫度控制常用的附加功能(如控制帶、死區(qū)等),如果不需要,則調(diào)用PID_Compact,如圖4所示。

這邊解釋一下“控制帶”及“死區(qū)”這兩個(gè)概念。
控制帶:
在溫度控制具有明顯的大滯后特性,當(dāng)過(guò)程值偏離設(shè)定值較大時(shí)調(diào)節(jié)過(guò)程過(guò)于緩慢,而接近設(shè)定值時(shí)又容易出現(xiàn)較大超調(diào)。
存在上述兩種問(wèn)題,溫度控制必須滿足在偏差超過(guò)一定的范圍時(shí),輸出最大或者最小的調(diào)節(jié)量,讓溫度值快速回到一個(gè)小的范圍中,以縮短調(diào)節(jié)時(shí)間:在設(shè)定值附近時(shí),越靠近設(shè)定值,調(diào)節(jié)量應(yīng)越小,以防止超調(diào)。為此,控制帶功能在當(dāng)過(guò)程值大于設(shè)定值,且偏差絕對(duì)值超過(guò)控制帶,則以輸出下限作為輸出值。當(dāng)過(guò)程值小于設(shè)定值,且偏差絕對(duì)值超過(guò)控制帶,則以輸出上限作為輸出值。如果偏差的絕對(duì)值小于控制帶,則以實(shí)際PID的計(jì)算結(jié)果作為輸出。
死區(qū):
在控制系統(tǒng)中,執(zhí)行機(jī)構(gòu)如果動(dòng)作頻繁,會(huì)導(dǎo)致小幅震蕩造成機(jī)械磨損,很多控制系統(tǒng)允許被控量在一定范圍內(nèi)存在誤差,該誤差稱為PID的死區(qū)。
當(dāng)過(guò)程值滿足如下公式時(shí),SP –"死區(qū)寬度"<PV <SP +"死區(qū)寬度"時(shí),PID停止調(diào)節(jié)保持輸出不變。如下圖所示

②PID_Compact指令組態(tài)
我們以最基本的恒壓供水系統(tǒng),給大家說(shuō)明如何組態(tài)(設(shè)置相關(guān)參數(shù))。必須先添加循環(huán)中斷,然后在循環(huán)中斷中添加PID_Compact指令。在循環(huán)中斷的屬性中,可以修改其循環(huán)時(shí)間(如圖5)。

這里解釋一下循環(huán)時(shí)間:PID控制器的采樣時(shí)間是循環(huán)中斷時(shí)間的整數(shù)倍。如果我們自整定PID參數(shù),系統(tǒng)會(huì)自動(dòng)計(jì)算sRet.r_Ctrl_Cycle(采樣時(shí)間)參數(shù)。若用戶使用手動(dòng)方式設(shè)定PID參數(shù),則一定要注意此參數(shù)為循環(huán)中斷時(shí)間的整數(shù)倍。
例如:PID控制器的采樣時(shí)間是1s,循環(huán)中斷時(shí)間為100ms,則在1S的時(shí)間內(nèi),循環(huán)中斷執(zhí)行了10次,但前9次PID控制器都不進(jìn)行運(yùn)算。
(1)在“指令> 工藝> PID 控制> Compact PID> PID_Compact”下,將PID_Compact 指令添加至循環(huán)中斷。如圖6所示:

(2)當(dāng)添加完P(guān)ID_Compact 指令后,在項(xiàng)目樹> 工藝對(duì)象文件夾中,會(huì)自動(dòng)關(guān)聯(lián)出PID_Compact_x[DBx],包含其組態(tài)界面和調(diào)試功能。如圖7所示:

(3)使用PID控制器前,需要對(duì)其進(jìn)行組態(tài)設(shè)置,分為基本設(shè)置、過(guò)程值設(shè)置、高級(jí)設(shè)置等部分。如圖8所示:

第一、基本設(shè)置
①基本設(shè)置--控制器類型
a、為設(shè)定值、過(guò)程值和擾動(dòng)變量選擇物理量和測(cè)量單位。我們使用的是恒壓控制,所以選擇“壓力”即可。如圖9所示;
b、正作用:隨著 PID控制器的偏差增大,輸出值增大。反作用:隨著PID控制器的偏差增大,輸出值減小。PID_Compact反作用時(shí),可以勾選“反轉(zhuǎn)控制邏輯”。如圖9所示;
c、要在 CPU重啟后切換到“模式”(Mode)參數(shù)中保存的工作模式,請(qǐng)勾選“在CPU 重啟后激活模式”。如圖9所示。

②基本設(shè)置--定義Input/Output 參數(shù)(如圖10)
定義 PID過(guò)程值和輸出值的內(nèi)容,選擇PID_Compact輸入、輸出變量的引腳和數(shù)據(jù)類型。選擇Input的話,那么就需要在程序中標(biāo)定好工程單位值,然后標(biāo)定好的工程量值填寫在PID_Compact管腳Input處,Input處的管腳值與Setpoint管腳的值比較比較,從而控制輸出。那到底是控制哪個(gè)輸出呢?就是根據(jù)Output處選擇的參數(shù),可以是Output_PER、Output、Output_PWM。Output_PER就是直接通過(guò)模擬量的方式輸出控制外部設(shè)備,比如變頻器、電機(jī)等,最終它的輸出值是在0-27648之間,從而轉(zhuǎn)換成0-10V或者0-20mA,達(dá)到控制的結(jié)果。Output是百分比的方式輸出,它介于0-100之間,如果需要控制外部設(shè)備的話,需要用其他指令轉(zhuǎn)換輸出。Output_PWM是脈寬脈寬調(diào)制方式輸出數(shù)字量。
那如果Input處選擇的是Input_PER,填寫的就是模擬量輸入通道的地址(比如IW64),這個(gè)地址會(huì)自動(dòng)轉(zhuǎn)換成工程單位與Setpoint管腳的值比較。那它如何進(jìn)行轉(zhuǎn)換的呢?我們往下看。

第二、過(guò)程值設(shè)置
①過(guò)程值設(shè)置--過(guò)程值限值(如圖11)
必須滿足過(guò)程值下限<過(guò)程值上限。如果過(guò)程值超出限值,就會(huì)出現(xiàn)錯(cuò)誤。我們?cè)O(shè)置的是60hpa,因?yàn)槲覀兊膲毫鞲衅魇?-5Kpa的,而量程中只用hpa這個(gè)單位。所以我們轉(zhuǎn)換成hpa,并且設(shè)置留有余量。

②過(guò)程值設(shè)置--過(guò)程值標(biāo)定
a、只有在“基本設(shè)置”項(xiàng)下Input/Output 中輸入選擇為 “Input_PER”時(shí),才可組態(tài)過(guò)程值標(biāo)定;
b、如果過(guò)程值與模擬量輸入值成正比,則將使用上下限值對(duì)來(lái)標(biāo)定Input_PER;
c、必須滿足范圍的下限<上限。
由于我們“基本設(shè)置”項(xiàng)下Input/Output 中輸入選擇為 “Input”所以圖11中“Input_PER”項(xiàng)為“已禁用”。

高級(jí)設(shè)置
①高級(jí)設(shè)置--過(guò)程值監(jiān)視(如圖12及圖13):

a、過(guò)程值的監(jiān)視限值范圍需要在過(guò)程值限值范圍之內(nèi);
b、過(guò)程值超過(guò)監(jiān)視限值,會(huì)輸出警告。過(guò)程值超過(guò)過(guò)程值限值,PID輸出報(bào)錯(cuò),切換工作模式;

②高級(jí)設(shè)置-- PWM 限制,在此不介紹。
③高級(jí)設(shè)置--輸出值限值(如圖14)

a、在“輸出值的限值”窗口中,以百分比形式組態(tài)輸出值的限值。無(wú)論是在手動(dòng)模式還是自動(dòng)模式下,都不要超過(guò)輸出值的限值。
b、手動(dòng)模式下的設(shè)定值ManualValue,必須介于輸出值的下限 (Config.OutputLowerLimit) 與輸出值的上限 ( Config.OutputUpperLimit)之間的值。
c、如果在手動(dòng)模式下指定了一個(gè)超出限值范圍的輸出值,則CPU 會(huì)將有效值限制為組態(tài)的限值。
d、PID_compact 可以通過(guò)組態(tài)界面中輸出值的上限和下限修改限值。最廣范圍為-100.0 到100.0,如果采用Output_PWM 輸出時(shí)限制為0.0 到100.0 。
④高級(jí)設(shè)置--對(duì)錯(cuò)誤的響應(yīng)(如圖15)
a、在PID_Compact V2 時(shí),可以預(yù)先設(shè)置錯(cuò)誤響應(yīng)時(shí)PID 的輸出狀態(tài),如圖13所示。以便在發(fā)生錯(cuò)誤時(shí),控制器在大多數(shù)情況下均可保持激活狀態(tài);
b、如果控制器頻繁發(fā)生錯(cuò)誤,建議檢查Errorbits 參數(shù)并消除錯(cuò)誤原因。

根據(jù)錯(cuò)誤代碼來(lái)分析錯(cuò)誤原因。根據(jù)組態(tài)界面所設(shè)置的“對(duì)錯(cuò)誤的響應(yīng)”,不同錯(cuò)誤的響應(yīng)狀態(tài)也不一樣,如下表所示:

⑤高級(jí)設(shè)置--手動(dòng)輸入PID 參數(shù)
a、在 PID Compact 組態(tài)界面可以修改PID 參數(shù),通過(guò)此處修改的參數(shù)對(duì)應(yīng)工藝對(duì)象背景數(shù)據(jù)塊> Static > Retain > PID 參數(shù);
b、通過(guò)組態(tài)界面修改參數(shù)需要重新下載組態(tài)并重啟PLC。建議直接對(duì)工藝對(duì)象背景數(shù)據(jù)塊進(jìn)行操作。

來(lái)源:技成培訓(xùn)網(wǎng),作者:技成-郭彪,未經(jīng)授權(quán)不得轉(zhuǎn)載!
粉絲福利
微信掃碼領(lǐng)取PLC經(jīng)典案例與源程序
