于洪國(guó)
(濱州學(xué)院電氣工程學(xué)院,山東 濱州256600)
可編程序控制(Programmable Logical-Controller,PLC)是應(yīng)用分析型本科院校電氣自動(dòng)化專(zhuān)業(yè)的重要必修實(shí)踐類(lèi)課程之一[1]。目前,高校開(kāi)展的PLC實(shí)驗(yàn)實(shí)踐主要在PLC實(shí)驗(yàn)臺(tái)或?qū)嶒?yàn)箱上進(jìn)行,實(shí)現(xiàn)項(xiàng)目的控制過(guò)程主要通過(guò)按鍵輸入和LED指示輸出模擬實(shí)驗(yàn)過(guò)程,用于實(shí)現(xiàn)程序調(diào)試和排錯(cuò)。雖然使用實(shí)驗(yàn)中控制對(duì)象的物理模型可以形象地展示實(shí)驗(yàn)過(guò)程,使實(shí)驗(yàn)過(guò)程及調(diào)試過(guò)程更加直觀高效。但PLC控制對(duì)象的各種物理模型存在制造困難、更新快、價(jià)格高、維護(hù)困難等問(wèn)題,難以在高校實(shí)驗(yàn)室內(nèi)及時(shí)更新配備,已經(jīng)配置的控制物理模型設(shè)備往往與工業(yè)工程結(jié)合度低,種類(lèi)少并且容易損壞,不能滿(mǎn)足目前應(yīng)用型高校為學(xué)生開(kāi)設(shè)的PLC實(shí)踐課程的頻度和維度需求。
在傳統(tǒng)的真實(shí)實(shí)驗(yàn)平臺(tái)上進(jìn)行的實(shí)驗(yàn)具有實(shí)驗(yàn)前后維護(hù)時(shí)間長(zhǎng)、實(shí)驗(yàn)損耗大、受地域和時(shí)間限制多等特點(diǎn)。特別是可編程實(shí)驗(yàn)過(guò)程中,要求自己動(dòng)手編程和調(diào)試、運(yùn)行程序并根據(jù)設(shè)備的動(dòng)作來(lái)達(dá)到檢驗(yàn)實(shí)驗(yàn)效果的目的。因此,構(gòu)建虛擬PLC實(shí)驗(yàn)平臺(tái)[2],通過(guò)仿真模型的搭建構(gòu)建虛擬實(shí)驗(yàn)控制對(duì)象,同時(shí),進(jìn)行實(shí)驗(yàn)平臺(tái)的開(kāi)發(fā),用于傳統(tǒng)物理控制對(duì)象的替代或者輔助,針對(duì)與工業(yè)工程結(jié)合緊密的實(shí)驗(yàn)環(huán)節(jié)的設(shè)計(jì),優(yōu)化計(jì)算機(jī)平臺(tái)下軟硬件系統(tǒng)的操作環(huán)境,實(shí)現(xiàn)PLC實(shí)驗(yàn)的仿真性和交互性功能,十分必要。
組態(tài)技術(shù)是在工業(yè)自動(dòng)化領(lǐng)域興起的一種新型的軟件開(kāi)發(fā)技術(shù)[3],作為自動(dòng)控制領(lǐng)域的系統(tǒng)監(jiān)控層級(jí)的應(yīng)用平臺(tái)和軟件開(kāi)發(fā)環(huán)境,組態(tài)軟件為用戶(hù)提供了快速構(gòu)建工業(yè)過(guò)程自動(dòng)控制系統(tǒng)的可視化通用性強(qiáng)的軟件工具。可以利用組態(tài)軟件提供的基于對(duì)象模型的開(kāi)發(fā)工具,通過(guò)系統(tǒng)畫(huà)面和數(shù)據(jù)變量的有效組態(tài),利用軟件驅(qū)動(dòng)程序建立與硬件系統(tǒng)有效的通信方式,實(shí)現(xiàn)不同功能的應(yīng)用軟件開(kāi)發(fā)。組態(tài)軟件通過(guò)仿真固有的數(shù)據(jù)變量定義和數(shù)據(jù)變量設(shè)置實(shí)現(xiàn)硬件設(shè)備的數(shù)據(jù)采集、分析以及顯示功能,能夠?qū)崿F(xiàn)對(duì)物理設(shè)備的遠(yuǎn)程監(jiān)測(cè)和過(guò)程控制,與傳統(tǒng)基于計(jì)算機(jī)語(yǔ)言的開(kāi)發(fā)軟件相比,具有通用性強(qiáng)、可靠性高以及開(kāi)發(fā)周期短等優(yōu)點(diǎn)。采用組態(tài)技術(shù)構(gòu)建不同應(yīng)用場(chǎng)景的虛擬仿真對(duì)象模型,無(wú)需進(jìn)行通信接口的物理電路開(kāi)發(fā)和設(shè)計(jì),可以有效提高所搭建的軟件平臺(tái)系統(tǒng)的可靠性。
傳統(tǒng)PLC物理實(shí)驗(yàn)平臺(tái)在實(shí)踐開(kāi)展過(guò)程中要依據(jù)實(shí)驗(yàn)項(xiàng)目的控制要求進(jìn)行PLC硬件的選擇和配置,實(shí)現(xiàn)定義好相關(guān)的開(kāi)關(guān)輸入及輸出量、模擬輸入及輸出量;后面要依據(jù)控制目標(biāo)編寫(xiě)PLC控制程序并下載到對(duì)應(yīng)的PLC模塊中,然后在物理實(shí)驗(yàn)平臺(tái)觀測(cè)實(shí)驗(yàn)的過(guò)程狀態(tài)和執(zhí)行結(jié)果。實(shí)驗(yàn)項(xiàng)目被控對(duì)象的執(zhí)行結(jié)果一般采用LED燈表示,實(shí)驗(yàn)過(guò)程不夠直觀,實(shí)驗(yàn)者難以真實(shí)體驗(yàn)到與工業(yè)現(xiàn)場(chǎng)相近的實(shí)驗(yàn)過(guò)程。
隨著工業(yè)過(guò)程的現(xiàn)代化進(jìn)程的推進(jìn)和應(yīng)用型人才培養(yǎng)的需要的發(fā)展,實(shí)踐環(huán)節(jié)成為人才培養(yǎng)的重要途徑。因此,實(shí)踐培養(yǎng)模式及實(shí)踐過(guò)程環(huán)節(jié)需要與工業(yè)過(guò)程及生產(chǎn)實(shí)際緊密結(jié)合。PLC的更新?lián)Q代、推陳出新使得其實(shí)驗(yàn)過(guò)程中被控對(duì)象也需要同步更新,當(dāng)學(xué)校的教學(xué)設(shè)備及教學(xué)設(shè)施投入無(wú)法滿(mǎn)足正常教學(xué)需求時(shí),PLC的實(shí)踐實(shí)驗(yàn)環(huán)節(jié)的教學(xué)質(zhì)量會(huì)受到不同程度的影響。由于傳統(tǒng)的PLC實(shí)驗(yàn)平臺(tái)硬件配置固化,物理控制對(duì)象不直觀,因此,實(shí)踐教學(xué)過(guò)程的靈活性和創(chuàng)新性不夠,學(xué)生的參與積極性不強(qiáng),并且沒(méi)有工業(yè)應(yīng)用背景作為有效依托,導(dǎo)致實(shí)驗(yàn)者參與者的興趣不夠高。
組態(tài)軟件通過(guò)建立虛擬仿真控制對(duì)象模型,用三維立體圖形化的方式在計(jì)算機(jī)顯示器上呈現(xiàn),通過(guò)定義I/O數(shù)據(jù)變量與硬件設(shè)備建立通信連接,并按照組態(tài)控制目標(biāo)要求和程序指令將目標(biāo)數(shù)據(jù)發(fā)送給目標(biāo)物理設(shè)備,對(duì)執(zhí)行機(jī)構(gòu)實(shí)施有效控制和參數(shù)調(diào)整。通過(guò)與設(shè)備中的實(shí)際寄存器即按照定義的寄存器地址一一對(duì)應(yīng)交換數(shù)據(jù),基于組態(tài)的遠(yuǎn)程監(jiān)控系統(tǒng)掌握系統(tǒng)設(shè)備的運(yùn)行信息,將數(shù)據(jù)信息進(jìn)行存儲(chǔ)和顯示;用仿真對(duì)象模型替代硬件物理對(duì)象,充分體現(xiàn)了組態(tài)監(jiān)控系統(tǒng)的動(dòng)畫(huà)顯示、實(shí)時(shí)曲線(xiàn)和歷史曲線(xiàn)、實(shí)時(shí)報(bào)警和歷史報(bào)警等特點(diǎn);并且組態(tài)軟件簡(jiǎn)單易用,使得開(kāi)發(fā)周期大大縮短,節(jié)約了開(kāi)發(fā)時(shí)間。PLC虛擬仿真實(shí)驗(yàn)平臺(tái)結(jié)構(gòu),如圖1所示。
圖1 PLC虛擬仿真實(shí)驗(yàn)平臺(tái)整體結(jié)構(gòu)圖
隨著工業(yè)控制技術(shù)的發(fā)展,計(jì)算機(jī)軟件與硬件設(shè)備的通訊協(xié)議之間的接口呈現(xiàn)多樣化特征,不同廠(chǎng)家的組態(tài)軟件以及不同廠(chǎng)家的硬件設(shè)備包括PLC設(shè)備都有其獨(dú)立的通信協(xié)議。當(dāng)用戶(hù)選擇不同的軟件和硬件時(shí),就會(huì)面臨軟硬件之間通信集成的問(wèn)題,而OPC技術(shù)的發(fā)展很好地解決了這一問(wèn)題,該技術(shù)通過(guò)建立統(tǒng)一的接口,允許用戶(hù)軟件程序從不同的OPC服務(wù)器甚至運(yùn)行在不同節(jié)點(diǎn)上的服務(wù)器進(jìn)行數(shù)據(jù)的存取。OPC技術(shù)為控制領(lǐng)域的數(shù)據(jù)交換部分提供了重要的技術(shù)保證,國(guó)內(nèi)各大組態(tài)軟件公司的組態(tài)軟件都可以為OPC接口程序提供全面支持。通過(guò)OPC的通信方式,組態(tài)軟件可以支持西門(mén)子的PLC設(shè)備[4]。使用時(shí)在組態(tài)軟件中把計(jì)算機(jī)設(shè)置為OPC客戶(hù)端,通過(guò)建立與PLC的通信實(shí)現(xiàn)對(duì)PLC內(nèi)部寄存器、控制器及I/O接口狀態(tài)的實(shí)時(shí)監(jiān)測(cè),以數(shù)據(jù)變量開(kāi)關(guān)量或者模擬量值的形式傳輸?shù)杰浖到y(tǒng),供上位實(shí)驗(yàn)平臺(tái)使用及處理,最終實(shí)現(xiàn)實(shí)踐教學(xué)信息化發(fā)展[5]。
通過(guò)組態(tài)軟件設(shè)計(jì)開(kāi)發(fā)不同工業(yè)場(chǎng)景下PLC實(shí)驗(yàn)仿真控制對(duì)象模型,仿真控制對(duì)象模型通過(guò)OPC通信方式與PLC模塊進(jìn)行通信,通過(guò)PLC程序制定動(dòng)態(tài)顯示仿真對(duì)象的運(yùn)行狀態(tài)。這里只針對(duì)其中機(jī)械手動(dòng)作控制實(shí)驗(yàn)的仿真平臺(tái)建立過(guò)程進(jìn)行設(shè)計(jì)說(shuō)明。工業(yè)機(jī)械手在工業(yè)生產(chǎn)及農(nóng)業(yè)機(jī)械化過(guò)程中的應(yīng)用非常廣泛,是通過(guò)模仿人手的動(dòng)作,按編制好的程序指令實(shí)現(xiàn)物品的自動(dòng)抓取、搬運(yùn)等功能的自動(dòng)控制裝置[6]。通過(guò)分析實(shí)驗(yàn)項(xiàng)目的具體工藝流程及運(yùn)行過(guò)程,明確要實(shí)現(xiàn)的控制目標(biāo),定義PLC模塊的輸入輸出點(diǎn)及實(shí)現(xiàn)的具體功能,通過(guò)組態(tài)軟件進(jìn)行功能設(shè)計(jì),與PLC硬件模塊配合實(shí)現(xiàn)各自的目標(biāo)任務(wù)。一般由PLC模塊完成程序流程的自動(dòng)控制。通過(guò)組態(tài)軟件建立控制對(duì)象仿真模型及功能界面,采用不同的通信方式實(shí)現(xiàn)對(duì)實(shí)驗(yàn)過(guò)程不同運(yùn)行狀態(tài)的實(shí)時(shí)監(jiān)測(cè)和過(guò)程模擬。
3.2.1 實(shí)驗(yàn)過(guò)程控制要求
機(jī)械手動(dòng)作模擬控制裝置按照實(shí)驗(yàn)流程,其控制要求如下。
1)上升下降移動(dòng):?jiǎn)?dòng)開(kāi)關(guān)按下后,機(jī)械手下降,當(dāng)下降到位,下限位開(kāi)關(guān)閉合,機(jī)械手停止移動(dòng);當(dāng)上升到位,上限位開(kāi)關(guān)閉合,機(jī)械手停止移動(dòng)。
2)抓取放松物體:機(jī)械手抓緊物體運(yùn)行,持續(xù)夾緊到位,機(jī)械手夾緊物體保持該動(dòng)作;需要放松物體時(shí),機(jī)械手松開(kāi)物體運(yùn)行,持續(xù)松開(kāi)到位,機(jī)械手松開(kāi)物體保持該動(dòng)作。
3)左右方向移動(dòng):向左或向右移動(dòng),當(dāng)移動(dòng)到位時(shí),閉合左或者右限位開(kāi)關(guān),機(jī)械手停止左右移動(dòng)。
4)回歸原位:運(yùn)輸物體結(jié)束后,機(jī)械手向上回升,當(dāng)回升到位,上限位開(kāi)關(guān)閉合,機(jī)械手停止回升;并且向左移動(dòng),當(dāng)左移到位,左限位開(kāi)關(guān)閉合,機(jī)械手停止移動(dòng)。
3.2.2 PLC輸入輸出定義
PLC模塊在滿(mǎn)足實(shí)驗(yàn)過(guò)程控制要求的情況下,要合理使用輸入輸出點(diǎn),盡量精簡(jiǎn)所需要的輸入輸出點(diǎn)數(shù),這樣可以降低PLC控制系統(tǒng)的硬件成本,還可以提高學(xué)生進(jìn)行程序優(yōu)化設(shè)計(jì)的能力。按照實(shí)際應(yīng)用的需要,PLC模塊的輸入輸出定義要根據(jù)其控制對(duì)象的輸入輸出信號(hào)來(lái)確定。機(jī)械手動(dòng)作模擬控制過(guò)程中,首先需要對(duì)PLC的I/O口進(jìn)行定義和分配,PLC的I/O點(diǎn)分配表,如表1所示。
表1 機(jī)械手動(dòng)作模擬控制PLC的I/O點(diǎn)分配表
3.2.3 組態(tài)仿真界面
通過(guò)組態(tài)軟件建立的機(jī)械手動(dòng)作模擬控制仿真控制對(duì)象的實(shí)驗(yàn)系統(tǒng),如圖2所示,進(jìn)行界面設(shè)置和組態(tài)軟件的腳本編寫(xiě),用不同的指示燈表示機(jī)械手的不同運(yùn)行狀態(tài),通過(guò)建立的機(jī)械手仿真模型模擬真實(shí)機(jī)械手上升、下降、左行、右行、夾緊、放松等動(dòng)作。機(jī)械手的各種動(dòng)作指令以及限位開(kāi)關(guān)與PLC程序中輸入輸出點(diǎn)通過(guò)組態(tài)軟件的數(shù)據(jù)變量進(jìn)行關(guān)聯(lián);在實(shí)驗(yàn)中,通過(guò)定義的輸入輸出點(diǎn)進(jìn)行PLC程序的開(kāi)發(fā)調(diào)試和下載,通過(guò)仿真模型界面實(shí)時(shí)動(dòng)態(tài)進(jìn)行機(jī)械手的動(dòng)作顯示,直觀生動(dòng)地展現(xiàn)PLC程序控制下機(jī)械手的真實(shí)動(dòng)作過(guò)程。
圖2 機(jī)械手模擬動(dòng)作控制仿真界面
組態(tài)軟件通過(guò)建立的OPC服務(wù)器,通過(guò)OPC連接方式與PLC硬件設(shè)備進(jìn)行通信設(shè)置,進(jìn)入組態(tài)運(yùn)行系統(tǒng)后,選中“切換到View”選項(xiàng),打開(kāi)創(chuàng)建好的不同實(shí)驗(yàn)過(guò)程的仿真組態(tài)界面,進(jìn)入運(yùn)行系統(tǒng)中進(jìn)行PLC的運(yùn)行調(diào)試。將下載好程序的PLC模塊切換到“RUN”模式,根據(jù)控制要求,按照運(yùn)行流程逐步對(duì)系統(tǒng)進(jìn)行模擬,確保系統(tǒng)所有功能及控制要求都符合要求。具體實(shí)驗(yàn)步驟如下:
1)按照不同實(shí)驗(yàn)項(xiàng)目和工藝過(guò)程的控制要求定義PLC的輸入輸出點(diǎn),分析實(shí)驗(yàn)項(xiàng)目和工藝過(guò)程的控制要求,明確控制目標(biāo)。
2)依據(jù)定義好的輸入輸出點(diǎn),設(shè)計(jì)PLC模塊的輸入輸出端子的硬件接線(xiàn)。
3)應(yīng)用PLC編程軟件開(kāi)發(fā)實(shí)驗(yàn)項(xiàng)目和控制過(guò)程程序,編譯調(diào)試程序并下載至PLC模塊中。
4)建立PLC模塊與上位機(jī)組態(tài)仿真實(shí)驗(yàn)平臺(tái)的通信。通過(guò)運(yùn)行實(shí)驗(yàn)項(xiàng)目的仿真界面,形象直觀地觀察仿真界面;通過(guò)PLC實(shí)驗(yàn)過(guò)程中被控仿真模型對(duì)象的運(yùn)行狀態(tài)和運(yùn)行過(guò)程,驗(yàn)證PLC程序的正確性。
利用組態(tài)軟件基于OPC通信模式對(duì)PLC虛擬實(shí)驗(yàn)平臺(tái)進(jìn)行了設(shè)計(jì),開(kāi)發(fā)了不同實(shí)驗(yàn)項(xiàng)目控制對(duì)象的仿真模型和實(shí)驗(yàn)界面,通過(guò)不同工藝過(guò)程和實(shí)驗(yàn)項(xiàng)目的仿真模型動(dòng)態(tài)展示PLC實(shí)驗(yàn)的運(yùn)行狀態(tài)和工藝過(guò)程,從而使學(xué)生能夠同步理解具體的實(shí)驗(yàn)內(nèi)容和工業(yè)過(guò)程。通過(guò)該教學(xué)平臺(tái)有效結(jié)合不同工程案例,豐富學(xué)生的工程實(shí)踐經(jīng)驗(yàn),解決了現(xiàn)有PLC教學(xué)器材、設(shè)備等資源緊張及維護(hù)成本高的問(wèn)題,大大提高了學(xué)生參與實(shí)踐教學(xué)的積極性及創(chuàng)造性。