范然然,蘇 磊,藍(lán)偉銘
(柳州職業(yè)技術(shù)學(xué)院 機電工程學(xué)院,廣西 柳州 545000)
水箱液位控制系統(tǒng)是工業(yè)過程控制中常見的控制系統(tǒng),液位控制系統(tǒng)因其涉及到的傳感器數(shù)量多且種類較為復(fù)雜,初期調(diào)試階段需要花費較長的時間,并且上位機監(jiān)控畫面的設(shè)計也是其重點[1]。西門子S7-1200 可編程邏輯控制器(Rogrammable Logic Controller,PLC)作為目前工業(yè)控制常用的控制器得到了較為廣泛的應(yīng)用,但是其售價較高,尤其是在受到全球芯片短缺的情況下,許多PLC 公司都提高其產(chǎn)品的售價。西門子公司的S7-1200PLC 市場占有率是最高的,有著廣泛的應(yīng)用場景和實際使用群體[2]。本文針對在缺少西門子物理S7-1200PLC的情況下,開發(fā)出一套借助于仿真控制器來完成對水箱液位控制系統(tǒng)調(diào)試的途徑和手段,為S7-1200PLC 水箱液位控制系統(tǒng)虛擬調(diào)試開拓新的方法。
案例中控制要求為有一水箱,水箱進(jìn)水可由變頻器驅(qū)動的三相異步電機水泵泵入,現(xiàn)需對水箱中水位體積進(jìn)行液位體積控制,并可在5500mL ~20000mL(最大值數(shù)據(jù)可根據(jù)水箱高度確定)范圍內(nèi)進(jìn)行調(diào)節(jié)。系統(tǒng)中中間水箱為帶有加熱棒控制的水箱,可以在浮球開關(guān)浮起時對水進(jìn)行加熱。上部水箱有S7-1200PLC 控制的比例閥來進(jìn)行開度調(diào)節(jié),實現(xiàn)放水功能。系統(tǒng)元件框架如圖1。

圖1 系統(tǒng)元件框架圖Fig.1 Frame diagram of system components
系統(tǒng)以S7-1200PLC 為控制核心元件,采用CPU 1214C DC/DC/DC 型PLC,考慮模擬量控制元器件較多的編程需求,根據(jù)實際工況的組態(tài)狀況,選用SM1234 AI4/AQ2模擬量拓展模塊作為模擬量輸入/輸出控制模塊。本文中主要是針對液位系統(tǒng)的仿真與分析,被控對象以模擬量信號的采集與控制為主,涉及到的模擬量采集信號有溫度、壓力、距離,模擬量輸出控制信號主要有變頻器頻率、比例閥開度。考慮到編程與仿真的快捷性,所有模擬量信號采集和輸出控制均將地址建立在背景數(shù)據(jù)塊(data block,DB)DB1 中。PLC 控制模擬量輸如輸出分配表見表1。

表1 模擬量輸入輸出變量表Table 1 Analog input and output variable table
在TIA15.1 中循環(huán)中斷組織塊(organization block,OB)的功能是循環(huán)中斷組織塊OB 在經(jīng)過一段固定的時間間隔后執(zhí)行相應(yīng)的中斷OB 中的程序。S7-1200最多支持4 個循環(huán)中斷OB,在創(chuàng)建循環(huán)中斷OB 時設(shè)定固定的間隔掃描時間。循環(huán)中斷OB 的編號為30 ~38。本文考慮模擬量信號的采集周期和實際需求,為了提高CPU的運行速度,將模擬量控制程序編寫在建立的循環(huán)中斷OB30 中,其執(zhí)行過程如圖2[3]。

圖2 循環(huán)中斷OB30的執(zhí)行過程Fig.2 Execution process of cyclic interrupt OB30
PLC 上電后,首先執(zhí)行主程序OB1 中的程序,在下一個間隔時間后,再執(zhí)行OB30。OB30 的循環(huán)時間可以在其屬性中設(shè)定,本文中設(shè)置為100ms。如果以相同的時間間隔調(diào)用優(yōu)先級較高和優(yōu)先級較低的循環(huán)中斷OB,則只有在優(yōu)先級較高的OB 完成處理后,才會執(zhí)行優(yōu)先級較低的OB。低優(yōu)先級OB 的執(zhí)行起始時間會根據(jù)優(yōu)先級較高的OB 的處理時間而延遲,如果希望以固定的時間間隔來執(zhí)行優(yōu)先級較低的OB,則優(yōu)先級較低的OB 需要設(shè)置相移時間,且相移時間應(yīng)大于優(yōu)先級較高的OB 的執(zhí)行時間,本文采用默認(rèn)相移時間。
在圖3(a)中,編寫了對溫度這一模擬量信號的采集程序。根據(jù)S7-1200 中模擬量信號的轉(zhuǎn)換關(guān)系可知,模擬量信號采集模塊是將溫度變送器采集到的電信號經(jīng)過D/A 轉(zhuǎn)換,變?yōu)? ~27648 范圍內(nèi)的數(shù)字量,然后才能使用NORM_X 進(jìn)行標(biāo)準(zhǔn)化和使用SCALE_X 進(jìn)行縮放。由于是進(jìn)行模擬仿真,為盡量接近工程實際中的應(yīng)用環(huán)境,在此將D/A 轉(zhuǎn)換后的數(shù)據(jù)關(guān)聯(lián)到DB1 中,進(jìn)而可以直接在組態(tài)王中可以直接輸入0 ~27648 之間的數(shù)據(jù)。通過輸入的數(shù)據(jù)來模擬外圍溫度變送器所采集到的溫度信號。利用同樣的方法,編寫了壓力變送器采集到的壓力電信號,以及超聲波傳感器采集到的距離電信號。本文中采用的超聲波傳感器采集的是超聲波探頭距離頁面高度的結(jié)果為30mm ~300mm,但是實際現(xiàn)場是水箱上標(biāo)注有體積的刻度。為此,采用了編程推導(dǎo)轉(zhuǎn)換實現(xiàn)液位高度轉(zhuǎn)化為液位體積[4],程序如圖3(b)。另外,在實際人機交互畫面(human machine interface,HMI)中,變頻器頻率是直接在畫面上可以設(shè)定的,故本文針對實際控制需求作了兩次的標(biāo)準(zhǔn)化和縮放的程序編寫。首先,將變頻器設(shè)定值進(jìn)行標(biāo)準(zhǔn)化和縮放。這一步是為了將0Hz ~50Hz 這個物理量轉(zhuǎn)換為0 ~27648 的數(shù)字量,之后為了方便在HMI中監(jiān)控實際的頻率值,又將0 ~27648 的數(shù)字量進(jìn)行標(biāo)準(zhǔn)化和縮放為0Hz ~50Hz 的物理量,顯示在HMI 中。通過兩次的標(biāo)準(zhǔn)化和縮放過程更能直觀地對變頻器控制程序的虛擬調(diào)試進(jìn)行仿真驗證。

圖3 模擬量信號采集與控制程序Fig.3 Analog signal acquisition and control program
西門子的S7-PLCSIM 在博圖中的仿真較為單一。TIA15.1 中可以實現(xiàn)西門子WINCC 和西門子PLC 的仿真,但是對于第三方的組態(tài)軟件則不能直接實現(xiàn)仿真。要實現(xiàn)第三方組態(tài)軟件的仿真,則需要使用NetToPLCSim這款工具軟件。NetToPLCsim 與S7-1200PLC 仿真須依靠S7-PLCSIM 一起使用,可以將TIA15.1 中的程序地址映射到上位機中,進(jìn)而可以實現(xiàn)第三方的組態(tài)軟件對PLC 程序的訪問與控制,從而實現(xiàn)在沒有PLC 硬件的情況下的項目調(diào)試。設(shè)置PC 及和模擬S7-1200PLC 的參數(shù)如下:①Network IP Address,運行PLCSim的 機 器 的IP 地 址:192.168.0.100;Plcsim IP Address:PLC 的IP 地址,根據(jù)實際的PLC 硬件組態(tài)輸入:192.168.0.1;Rack/Slot:PLC 所在的機架號和槽位號,根據(jù)實際的PLC 硬件組態(tài)輸入,S7-1200 一般是R0/S1。
在本文中主要定義組態(tài)王中的I/O 變量。組態(tài)王中外部數(shù)據(jù)與軟件通訊交換主要依靠I/O 變量,PLC 程序中需要采集和監(jiān)控的數(shù)據(jù)、交換的指令,比如“液位體積”“開關(guān)”等變量,都要設(shè)置成“I/O 變量”。本文中數(shù)據(jù)類型用到了實型變量,用于表示PLC 中的Real 型數(shù)據(jù),以浮點(FIOAT)型數(shù)據(jù)形式選用;離散變量,是只有0,1 兩種取值的布爾量(BOOL),用于表示一些開關(guān)量[4],根據(jù)控制系統(tǒng)的設(shè)計要求組態(tài)王中定義的變量見表2。

表2 組態(tài)王中定義的變量表Table 2 Variables defined in Kingview
根據(jù)圖1 系統(tǒng)元件框架圖中的元器件與PLC 控制系統(tǒng)的關(guān)系,在組態(tài)王中組建了如圖4 所示的畫面。畫面分為系統(tǒng)監(jiān)控區(qū)和操作控制區(qū),在系統(tǒng)監(jiān)控區(qū)可以實時監(jiān)控當(dāng)前系統(tǒng)中各個傳感器采集的數(shù)據(jù)和PLC 控制程序發(fā)送的數(shù)據(jù);在操作控制區(qū)可以對溫度、頻率、超聲波距離、壓力、比例閥等進(jìn)行控制和調(diào)試。圖4 中在組態(tài)王畫面中設(shè)置溫度虛擬采集值為10000,按照NORM_X 和SCALE_X 程序的理論計算應(yīng)該為36.16899℃,畫面監(jiān)控值為36.17℃。這是因為畫面僅取了實型變量小數(shù)點后兩位進(jìn)行四舍五入的結(jié)果。圖4 中還將各個參數(shù)均進(jìn)行了調(diào)試,結(jié)果顯示系統(tǒng)完全可以正常仿真運行,并且傳輸速度較快,比較真實地對水箱液位控制系統(tǒng)進(jìn)行了仿真調(diào)試。

圖4 TIA15.1與組態(tài)王運行調(diào)試畫面Fig.4 TIA15.1 and Kingview running and debugging screen
通過對水箱液位控制系統(tǒng)中上位機組態(tài)王的畫面設(shè)計,使用NetToPLCsim 與S7-PLCSIM 進(jìn)行通訊參數(shù)設(shè)定,聯(lián)合組態(tài)王進(jìn)行仿真運行。結(jié)果發(fā)現(xiàn)NetToPLCsim 對S7-PLCSIM 地址映射穩(wěn)定性和可行性較高,無論離散變量還是實型變量均可以進(jìn)行虛擬調(diào)試,水箱液位值系統(tǒng)按照程序設(shè)定預(yù)期結(jié)果運行良好。該方法可以為S7-1200PLC過程控制系統(tǒng)的搭建提供重要的技術(shù)支撐,對于在缺少昂貴的實物PLC 情況下,同時又需要對非西門子產(chǎn)品上位機和下位機之間進(jìn)行系統(tǒng)聯(lián)調(diào)的工程任務(wù)起到了重要的虛擬調(diào)試借鑒意義。