◆王寶林
基于組態(tài)軟件的全虛擬PLC教學(xué)系統(tǒng)實(shí)現(xiàn)及應(yīng)用
◆王寶林
提出基于Kingview組態(tài)軟件及GX Simulator、MX OPC sever的全虛擬仿真教學(xué)系統(tǒng)方案。教學(xué)實(shí)踐表明,全虛擬仿真教學(xué)系統(tǒng)的應(yīng)用,拓展了學(xué)生學(xué)習(xí)的時間與空間,對提高學(xué)生的PLC應(yīng)用水平起到積極的作用。
PLC;組態(tài)王軟件;全虛擬模式;OPC;教學(xué)系統(tǒng)
PLC課程教學(xué)現(xiàn)狀 可編程邏輯控制器(PLC)應(yīng)用廣泛,是職業(yè)院校機(jī)電類專業(yè) 的一門核心主干課程。PLC編程知識的鞏固需要精講多練,需要搭建良好的實(shí)訓(xùn)平臺,多開設(shè)與工業(yè)實(shí)際應(yīng)用緊密結(jié)合的實(shí)訓(xùn)項(xiàng)目。而實(shí)際情況卻因?yàn)槭艿綀鏊⒃O(shè)備、資金等諸多客觀條件的限制,各學(xué)校難以在實(shí)訓(xùn)室配備大量的實(shí)物工控設(shè)備,導(dǎo)致PLC教學(xué)實(shí)訓(xùn)設(shè)備在種類和數(shù)量上難以滿足教學(xué)要求,影響了PLC教學(xué)的效果。
基于組態(tài)軟件的PLC仿真教學(xué)系統(tǒng) 組態(tài)控制技術(shù)(Supervision Control and Data Acquisition)常用于工業(yè)控制系統(tǒng)的監(jiān)控,它為用戶提供設(shè)備驅(qū)動、數(shù)據(jù)采集、數(shù)據(jù)處理、流程控制、動畫顯示、報(bào)警處理、報(bào)表輸出等操作工具,常用于生成上位機(jī)監(jiān)控系統(tǒng)。組態(tài)軟件具有成熟的I/O接口設(shè)備驅(qū)動,可以與各類型PLC進(jìn)行通訊,PLC內(nèi)部各種繼電器的狀態(tài)可以與組態(tài)軟件數(shù)據(jù)庫中的數(shù)據(jù)鏈接,這些數(shù)據(jù)又與界面上顯示的圖形對象有關(guān)聯(lián)。這樣在PLC編程調(diào)試過程中,可以利用組態(tài)軟件的組態(tài)動畫代替PLC控制對象,在計(jì)算機(jī)屏幕上觀察PLC控制系統(tǒng)的控制過程和結(jié)果[1]。
用組態(tài)軟件制作的仿真被控對象,可以像實(shí)物被控對象一樣,既可以向PLC發(fā)出如開關(guān)控制信號、傳感器信號、中斷信號等各種命令信號,也可以接受PLC發(fā)出的輸出信號、脈沖信號和各種數(shù)值信號等控制信號,并且能與PLC進(jìn)行各種數(shù)據(jù)的傳輸,從而反映出PLC與組態(tài)虛擬對象及控制結(jié)果之間的關(guān)系。利用組態(tài)軟件的這些功能,可以開發(fā)出各種虛擬的工業(yè)控制模型,用于PLC課程教學(xué)的編程調(diào)試。
組態(tài)軟件教學(xué)系統(tǒng)優(yōu)勢 利用組態(tài)軟件三維虛擬空間進(jìn)行設(shè)計(jì),可以模擬出多種真實(shí)場景,如立體倉庫控制系統(tǒng)、傳輸計(jì)件控制系統(tǒng)、售貨機(jī)系統(tǒng)、機(jī)械手控制系統(tǒng)、電梯控制系統(tǒng)等。組態(tài)虛擬對象能以按扭、滑動標(biāo)尺、數(shù)值輸入等方式向PLC發(fā)出各種命令及輸入各種參數(shù),也可以通過界面輸出顯示PLC各個變量的值以及狀態(tài)[2]。所以用組態(tài)軟件構(gòu)建的教學(xué)系統(tǒng)還可以仿真觸摸屏控制,學(xué)生可以在組態(tài)軟件開發(fā)環(huán)境下進(jìn)行觸摸屏界面開發(fā),利用組態(tài)軟件豐富的圖形庫對象,可以構(gòu)建出比真實(shí)觸摸屏更直觀生動的控制畫面。
如圖1所示,用組態(tài)軟件構(gòu)建的步進(jìn)電機(jī)控制系統(tǒng),達(dá)到與真實(shí)觸摸屏一樣的控制效果,其中包括對步進(jìn)電機(jī)的速度、運(yùn)行步數(shù)設(shè)置(設(shè)置PLC數(shù)據(jù)寄存器值),對已運(yùn)行的步數(shù)進(jìn)行顯示(輸出PLC數(shù)據(jù)寄存器值),同時步進(jìn)電機(jī)模型可以動態(tài)地展示步進(jìn)電機(jī)運(yùn)行狀態(tài),教學(xué)效果非常好。
基于組態(tài)軟件的PLC教學(xué)系統(tǒng),可以很方便地仿真出各種工業(yè)控制效果,給編程和調(diào)試帶來很大方便。在沒有增加硬件成本的情況下,解決了PLC編程控制對象的問題,提供了足夠的工位給予學(xué)生編程學(xué)習(xí)。相比較于真實(shí)工控設(shè)備的PLC教學(xué)系統(tǒng),虛擬的仿真系統(tǒng)控制對象更加豐富,教學(xué)內(nèi)容也更豐富,擴(kuò)展了學(xué)生的工程應(yīng)用經(jīng)驗(yàn)。
連接真實(shí)PLC硬件仿真系統(tǒng)的不足 基于組態(tài)軟件的實(shí)物PLC仿真教學(xué)系統(tǒng),雖然虛擬出了PLC被控對象,但仍需要真實(shí)的PLC與組態(tài)軟件連接。這樣,PLC課程的編程實(shí)驗(yàn)常局限于實(shí)訓(xùn)室,時間局限于正常上課時間。本文提出一種基于組態(tài)王(Kingview)組態(tài)軟件和GX Simulator的全虛擬仿真系統(tǒng)方案,虛擬PLC、虛擬被控對象的全虛擬教學(xué)系統(tǒng)的實(shí)現(xiàn),達(dá)到了更少硬件投入、應(yīng)用更方便的目的。
全虛擬仿真系統(tǒng)連接框圖如圖2所示,采用GX Developer作為編程平臺,將編制好的梯形圖程序?qū)懭隚X Simulator,GX Simulator作為一個模擬PLC運(yùn)行的虛擬控制器[3]。通過三菱的OPC服務(wù)軟件與組態(tài)王OPC服務(wù)器組成虛擬的通信接口,實(shí)現(xiàn)PLC程序控制組態(tài)實(shí)訓(xùn)畫面運(yùn)行,完成控制對象的控制,從而實(shí)現(xiàn)全虛擬方式的運(yùn)行。
圖1 步進(jìn)電機(jī)實(shí)訓(xùn)頁面(仿真觸摸屏控制)
圖2 全虛擬方式PLC仿真系統(tǒng)連接框圖
GX Simulator和組態(tài)王軟件通過MX OPC server進(jìn)行通信連接,建立基于組態(tài)王軟件的監(jiān)控界面和GX Simulator的對應(yīng)信息交互,實(shí)現(xiàn)PLC仿真運(yùn)行與虛擬控制設(shè)備的對應(yīng)關(guān)系,在PC機(jī)上實(shí)現(xiàn)PLC編程調(diào)試功能。
1)GX Simulator。GX Simulator是三菱公司開發(fā)的一款梯形圖仿真調(diào)試工具軟件,在安裝有GX Developer的計(jì)算機(jī)內(nèi)追加安裝GX Simulator,能夠?qū)崿F(xiàn)程序的仿真調(diào)試。GX Simulator可模擬可編程控制器CPU本體功能,可以使得程序的調(diào)試脫離真實(shí)PLC,實(shí)現(xiàn)不在線調(diào)試。使用GX Simulator能夠在一臺計(jì)算機(jī)上進(jìn)行順控程序的開發(fā)和調(diào)試,能夠更有效地進(jìn)行順控程序修正后的確認(rèn)。另外,GX Simulator還具有模擬I/O系統(tǒng)設(shè)定以及串行通信等其他功能[4]。
2)OPC技 術(shù)。OPC(OLE for Process Control) 即OLE用于工業(yè)過程控制,是在工業(yè)控制和生產(chǎn)自動化領(lǐng)域中使用的硬件和軟件的接口標(biāo)準(zhǔn)。OPC技術(shù)通常在數(shù)據(jù)采集軟件中廣泛應(yīng)用,現(xiàn)在眾多硬件廠商提供的產(chǎn)品均帶有標(biāo)準(zhǔn)OPC接口。OPC實(shí)現(xiàn)了應(yīng)用程序和工業(yè)控制設(shè)備之間高效、靈活的數(shù)據(jù)讀寫,借助Microsoft的DCOM(分散式組件對象模型)技術(shù),OPC實(shí)現(xiàn)了高性能的遠(yuǎn)程數(shù)據(jù)訪問能力,從而使得工業(yè)控制軟件之間的數(shù)據(jù)交換更加方便[5]。
3)MX OPC sever。MX OPC sever是由三菱公司開發(fā)的一套符合OPC規(guī)范的程序組。MX OPC Server自帶OPC客戶端工具,可直接讀寫PLC數(shù)據(jù);支持三菱所有系列的PLC,支持三菱仿真軟件GX simulator,支持的接口有編程口、串口、以太網(wǎng)口、CC-link等;兼容多種高級語言,諸如 Visual C++、Visual Basic和 Access Excel的 VBA、VBScript等。
4)組態(tài)王與OPC。組態(tài)王作為一個通用的工控軟件平臺,提供開放式的通訊接口,如OPC、DDE、通用總線協(xié)議驅(qū)動接口等。組態(tài)王作為OPC客戶端可以同時掛接多個OPC服務(wù)器,每個OPC服務(wù)器都被看作一個外部設(shè)備。同時,組態(tài)王本身也可以充當(dāng)OPC服務(wù)器,向其他符合OPC規(guī)范的廠商的控制系統(tǒng)提供數(shù)據(jù)。組態(tài)王還能與其他支持OPC功能的軟件(如其他廠商的組態(tài)軟件、三菱OPC Server軟件)建立連接,進(jìn)行數(shù)據(jù)的交換[6]。OPC與其他軟件的連接可以通過本機(jī)的OPC進(jìn)行(組態(tài)王和其他軟件安裝于同一臺計(jì)算機(jī)),也可以是通過網(wǎng)絡(luò)的OPC連接。組態(tài)王的這些功能可以方便用戶在工程項(xiàng)目中輕松實(shí)現(xiàn)不同軟件之間的集成和數(shù)據(jù)傳輸。
在PC機(jī)端依次安裝GX Developer、GX Simulator、MX OPC sever、組態(tài)王軟件。這里以三層電梯控制系統(tǒng)為例,介紹全虛擬系統(tǒng)的實(shí)現(xiàn)。
MX OPC sever設(shè)置
1)創(chuàng)建設(shè)備:全虛擬仿真系統(tǒng)的OPC通信方式中,MX OPC sever作為OPC服務(wù)器端,組態(tài)王作為OPC客戶端。打開MX OPC Configurator,在“PC side I/F”項(xiàng)選擇GX simulator,PLC類型選擇FX2N(C),創(chuàng)建數(shù)據(jù)文件,并在文件中創(chuàng)建新的設(shè)備。
2)定義數(shù)據(jù)項(xiàng):在新建的設(shè)備中添加數(shù)據(jù)群組,并在群組里添加電梯實(shí)訓(xùn)項(xiàng)目所需的所有數(shù)據(jù)項(xiàng),并將數(shù)據(jù)項(xiàng)名稱改成與PLC相對應(yīng)的變量名,如PLC輸入端口的“X0”,輸出端口的“Y0”等。新建好所有數(shù)據(jù)項(xiàng)后,退出MX OPC sever時,在彈出的窗口中選擇剛才新建的設(shè)備為當(dāng)前活動的數(shù)據(jù)設(shè)備。
電梯實(shí)訓(xùn)系統(tǒng)組態(tài)畫面開發(fā)
1)創(chuàng)建電梯仿真系統(tǒng)工程,并進(jìn)行相應(yīng)通信配置。電梯實(shí)訓(xùn)項(xiàng)目要求在連接真實(shí)PLC和全虛擬方式下都能運(yùn)行,所以還需添加連接實(shí)物PLC的硬件設(shè)備,并進(jìn)行相應(yīng)的通訊設(shè)置。在工程瀏覽器下,設(shè)置設(shè)備接口COM1,選擇COM1端口連接FX2系列編程口,并設(shè)置通訊參數(shù):波特率9600 bps,偶校驗(yàn),7位數(shù)據(jù)位,1位停止位,RS232通信方式。
2)添加三層電梯系統(tǒng)工程開發(fā)需要的變量,包括內(nèi)存變量和I/O變量。
3)按照電梯系統(tǒng)工程要求制作監(jiān)控畫面,選定相關(guān)圖形對象,通過定義動畫并使靜態(tài)畫面隨著過程控制對象產(chǎn)生動態(tài)效果。
4)三層電梯系統(tǒng)相對比較復(fù)雜,通過對圖形畫面腳本程序的編寫以完成較復(fù)雜的操作上位控制。
三層電梯PLC編程實(shí)訓(xùn)組態(tài)畫面如圖3所示。
組態(tài)王OPC通訊配置
1)OPC服務(wù)器設(shè)置。如圖4所示,打開三層電梯實(shí)訓(xùn)系統(tǒng)工程,在組態(tài)王工程瀏覽器窗口中,選擇設(shè)備項(xiàng)目中“OPC服務(wù)器”項(xiàng),在右側(cè)窗口中雙擊“新建OPC”圖標(biāo),此時系統(tǒng)會自動搜索本計(jì)算機(jī)中已經(jīng)安裝的OPC服務(wù)器,并將搜索到的所有OPC服務(wù)器顯示于窗口右側(cè)。此處選擇三菱GX OPC sever創(chuàng)建的Mitsubishi.MXOPC.4 OPC服務(wù)器進(jìn)行連接,完成OPC設(shè)備的建立。
圖3 三層電梯PLC編程實(shí)訓(xùn)組態(tài)畫面
圖4 OPC服務(wù)器連接設(shè)置
圖5 全虛擬方式數(shù)據(jù)詞典的設(shè)置
2)組態(tài)王數(shù)據(jù)詞典的連接。OPC服務(wù)器與組態(tài)王數(shù)據(jù)詞典的連接設(shè)置方式與實(shí)物PLC數(shù)據(jù)詞典的設(shè)置方式相同。如圖5所示,在組態(tài)王工程瀏覽器中點(diǎn)擊“數(shù)據(jù)變量”,在右側(cè)窗口中選擇相應(yīng)的數(shù)據(jù)變量。如對于組態(tài)工程的I/O變量X1,在“連接設(shè)備”選項(xiàng)選擇Mitsubishi.MXOPC.4設(shè)備,然后在“寄存器”選項(xiàng)下拉菜單中選擇對應(yīng)數(shù)據(jù)項(xiàng)“X1”,設(shè)置好數(shù)據(jù)的類型和讀寫屬性,即可實(shí)現(xiàn)OPC服務(wù)器與組態(tài)王數(shù)據(jù)詞典的連接。此時,虛擬PLC的X1端口數(shù)據(jù)便與組態(tài)王的X1數(shù)據(jù)變量實(shí)現(xiàn)了對應(yīng)。
電梯實(shí)訓(xùn)系統(tǒng)設(shè)計(jì)在全虛擬方式以及連接實(shí)物PLC方式都可以運(yùn)行,如果選擇連接真實(shí)PLC編程調(diào)試,則數(shù)據(jù)詞典中相應(yīng)數(shù)據(jù)變量連接設(shè)備選擇“新I/O設(shè)備”,“新I/O設(shè)備”創(chuàng)建工程時定義為COM1口的三菱FX2編程口。此時實(shí)訓(xùn)頁面的數(shù)據(jù)與三菱FX2編程口進(jìn)行數(shù)據(jù)鏈接,即可連接實(shí)物PLC進(jìn)行編程實(shí)訓(xùn)。
全虛擬系統(tǒng)的運(yùn)行 應(yīng)用時,打開GX Developer,編寫電梯PLC控制程序并點(diǎn)擊梯形圖邏輯測試啟動(Ladder logic test,LLT),此時梯形圖程序下載至GX Simulator,此時GX Simulator即相當(dāng)于虛擬PLC,且虛擬PLC自動置RUN狀態(tài);然后打開組態(tài)王運(yùn)行系統(tǒng)進(jìn)入電梯實(shí)訓(xùn)仿真頁面,此時實(shí)訓(xùn)仿真頁面與虛擬PLC便自動建立連接,即可觀察程序控制電梯運(yùn)行的效果,以進(jìn)行程序的調(diào)試與修改。系統(tǒng)使用時不需要打開MX OPC server軟件,組態(tài)王軟件也不必再進(jìn)行設(shè)置,應(yīng)用非常方便。
全虛擬PLC教學(xué)系統(tǒng)的優(yōu)勢 全虛擬的教學(xué)系統(tǒng)無需投入任何硬件設(shè)施,也不需要任何維護(hù)費(fèi)用,提供了高性價(jià)比的學(xué)習(xí)模式;應(yīng)用時等同于實(shí)物PLC實(shí)訓(xùn)系統(tǒng),不需要繁瑣的設(shè)置過程,非常方便;全虛擬方式徹底擺脫了實(shí)訓(xùn)室,實(shí)現(xiàn)了只需一臺計(jì)算機(jī)就可以實(shí)現(xiàn)高水平PLC編程實(shí)訓(xùn),實(shí)訓(xùn)內(nèi)容不受實(shí)訓(xùn)室設(shè)備的限制;編程練習(xí)不僅限于實(shí)訓(xùn)室上課時間,學(xué)生在課后可以利用自己的計(jì)算機(jī)隨時隨地進(jìn)行編程練習(xí),在學(xué)習(xí)的時間和空間上進(jìn)行了最大限度的延伸。實(shí)踐教學(xué)效果表明,全虛擬仿真系統(tǒng)的應(yīng)用,對鞏固學(xué)生所學(xué)編程知識、提高學(xué)生的PLC應(yīng)用水平起到積極的作用。
全虛擬PLC教學(xué)系統(tǒng)的不足
1)因GX simulator對部分編程指令不支持,對于三菱FX系列,數(shù)據(jù)刷新指令和PID控制等指令不能使用,不支持的指令GX simulator作為NOP處理。
2)組態(tài)王與三菱OPC服務(wù)器之間的通信連接,不支持I/O整數(shù)、實(shí)數(shù)類型的數(shù)據(jù)通信。在全虛擬方式中,組態(tài)王不能讀寫PLC內(nèi)部整數(shù)、實(shí)數(shù)類型數(shù)據(jù),在只有I/O離散類型數(shù)據(jù)通訊的三層電梯教學(xué)系統(tǒng)中,全虛擬方式和實(shí)物PLC方式應(yīng)用沒有區(qū)別。
對于圖例1的步進(jìn)電機(jī)實(shí)訓(xùn)項(xiàng)目,需要通過仿真觸摸屏頁面向PLC數(shù)據(jù)寄存器D寫入數(shù)據(jù),以設(shè)定步進(jìn)電機(jī)的運(yùn)行步數(shù)或步進(jìn)間隔等值,另外還需通過讀取PLC數(shù)據(jù)寄存器D中的數(shù)值以顯示步進(jìn)電機(jī)運(yùn)行的步數(shù)。在全虛擬方式中,因?yàn)閿?shù)據(jù)通訊類型不支持,這部分功能將不能實(shí)現(xiàn),而這些功能在組態(tài)仿真系統(tǒng)連接真實(shí)PLC的情況下可順利實(shí)現(xiàn)。
[1]王寶林.基于組態(tài)軟件的PLC仿真教學(xué)系統(tǒng)設(shè)計(jì)[J].輕工科技,2013(5):111-112.
[2]王春.基于組態(tài)軟件的PLC實(shí)驗(yàn)教學(xué)系統(tǒng)[D].四川:西華大學(xué),2009:1-10.
[3]鄭敏,鄭萍.全虛擬PLC實(shí)驗(yàn)系統(tǒng)的實(shí)現(xiàn)及教學(xué)應(yīng)用[J].高等教育研究,2011(3):51-53.
[4]三菱電機(jī)有限公司.GX Developer Ver.8/ Simulator Ver.6 操作手冊[M].2008.
[5]魏洪新.OPC技術(shù)在工業(yè)控制領(lǐng)域的應(yīng)用研究[J].河北煤炭,2009(1):12.
[6]北京亞控科技發(fā)展公司.組態(tài)王中級培訓(xùn)教程[EB/OL].[2012-01-31].http://wenku.baidu.com/view/511059ebaeaad1f 346933fcd.html.
TP315
B
1671-489X(2014)08-0042-04
10.3969/j.issn.1671-489X.2014.08.042
作者:王寶林,肇慶市工程技術(shù)學(xué)校電子講師,研究方向?yàn)橛?jì)算機(jī)仿真教學(xué)(526070)。