張世榮, 童 博
(武漢大學(xué)電氣與自動化學(xué)院,武漢430072)
可編程控制器(Programmable Logic Controller,PLC)編程簡單、靈活,價格適中,可靠性高[1],是工業(yè)領(lǐng)域自動化系統(tǒng)應(yīng)用最為廣泛的控制裝置。目前,國內(nèi)大部分高校自動化本科專業(yè)培養(yǎng)方案都將PLC 列為專業(yè)必修(選修)課程,并配套開設(shè)了課時數(shù)較多的教學(xué)實驗。在實驗平臺建設(shè)方面,網(wǎng)絡(luò)化實驗、遠程實驗和虛擬實驗是PLC 實驗平臺改革的新方向。崔桂梅等[2]設(shè)計了基于PROFIBUS-DP 和工業(yè)以太網(wǎng)的西門子PLC網(wǎng)絡(luò)化實驗平臺。董天放[3]選用S7-1200 /1500 PLC設(shè)計并實現(xiàn)了涵蓋管理級、控制級和現(xiàn)場級的3 級網(wǎng)絡(luò)綜合實驗平臺。為了打破地域限制,使學(xué)生能加方便地使用實驗室,PLC 遠程實驗應(yīng)運而生。Saygin等[4]設(shè)計了基于Web的遠程PLC實驗室,學(xué)生可以通過Internet 遠程使用該實驗室,完成制造自動化實驗。Buinac等[5]將Web技術(shù)與PLC結(jié)合,實現(xiàn)了工業(yè)過程控制系統(tǒng)的遠程實驗。Aydogmus 等[6]利用PLC和Matlab OPC Server搭建了基于網(wǎng)頁的遠程實驗系統(tǒng)。孫蓉等[7]利用Windows 的遠程桌面功能建立了基于西門子PLC 的遠程教學(xué)平臺。胡慧慧等[8]結(jié)合校園網(wǎng)的實際情況,以西門子PLC 作為核心實驗設(shè)備,結(jié)合交換機、網(wǎng)絡(luò)攝像頭和服務(wù)器等網(wǎng)絡(luò)設(shè)備設(shè)計構(gòu)建了一套完整的遠程實驗平臺,可實現(xiàn)實驗預(yù)約、遠程在線實驗、實驗報告提交和審閱以及后臺管理維護等一系列功能。虛擬PLC實驗室的出現(xiàn),進一步提高了實驗的靈活性,并能有效節(jié)省實驗教學(xué)成本。王超[9]以組態(tài)軟件為平臺設(shè)計了虛、實結(jié)合的PLC 實驗平臺。李繼芳等[10]基于Wed3D、數(shù)學(xué)建模及PLC 仿真軟件,實現(xiàn)了全虛擬及半虛擬PLC 實驗。許雯娜等[11]針對三菱PLC,結(jié)合PLC 編程軟件、OPC 接口軟件和組態(tài)軟件實現(xiàn)了全虛擬的仿真教學(xué)平臺。
在實驗對象研制方面,充分體現(xiàn)了行業(yè)特征和對象的多樣性。例如,湯偉等[12]設(shè)計了適合PLC實驗的過程控制實驗平臺;陳毓莉等[13]設(shè)計了帶觸摸屏的PLC試驗臺。
可見,目前PLC實驗室建設(shè)只著眼于實驗平臺和實驗設(shè)備建設(shè)方面,但在實驗案例建設(shè)、結(jié)果評判等方面還遠遠不夠。PLC 課程注重學(xué)生實踐能力的培養(yǎng),故配套的實驗時數(shù)多,實驗內(nèi)容繁雜。自動評判在各種在線測試系統(tǒng)中早已開始使用,例如課程設(shè)計[14]、C語言程序設(shè)計[15-16]等;但在文獻中尚未有針對PLC 實驗結(jié)果進行自動評判的研究報道。本文基于云平臺設(shè)計可組態(tài)式PLC實驗結(jié)果自動評判系統(tǒng),旨在將指導(dǎo)教師從繁瑣的評判工作中解脫出來,并為學(xué)生提供更加準確的評判結(jié)果和更加豐富的實驗反饋。
PLC是一門應(yīng)用性強的課程,必須充足的課程實驗以培養(yǎng)學(xué)生的實踐動手能力,實驗室是PLC 課程建設(shè)的重點內(nèi)容。目前某些高校采用虛擬化理念建設(shè)PLC實驗室,充分利用其成本優(yōu)勢和靈活性特征。虛擬化實驗不適合首次接觸PLC 的本科生,這樣會讓他們?nèi)狈LC的直觀認識,難以消除對新控制器的神秘感。在建設(shè)自動化專業(yè)的PLC 實驗室時,仍采用傳統(tǒng)模式,配備了S7-1500 PLC、試驗箱和編程計算機,在圖1 中標注為本地實驗室。
圖1 基于云的PLC實驗評判系統(tǒng)總體結(jié)構(gòu)
本文設(shè)計的基于云的結(jié)果自動評判系統(tǒng)如圖1 所示。本地實驗室路由器連接多臺S7-1500 PLC和編程計算機組成局域網(wǎng),路由器通過Internet連接云服務(wù)器,實驗開始后服務(wù)器將實時采集并存儲學(xué)生的實驗數(shù)據(jù),這些數(shù)據(jù)可用于過程回放并作為結(jié)果評判的依據(jù)。本文選用阿里云服務(wù)器ECS 搭建云端評判系統(tǒng),ECS配置如下:CPU4 核,內(nèi)存8GB,操作系統(tǒng)Windows Server 2008 R2 企業(yè)版。ECS安裝Apache以完成Web服務(wù)器功能,并安裝MySQL數(shù)據(jù)庫對系統(tǒng)數(shù)據(jù)進行存儲和管理。教師和學(xué)生都通過Web 訪問云端評判系統(tǒng),以完成各自角色所賦予的定制功能。
(1)用戶管理。系統(tǒng)設(shè)計了用戶管理功能,以管理指派了實驗任務(wù)的班級和學(xué)生;系統(tǒng)同時也對指導(dǎo)教師進行管理。用戶管理的基本功能和實現(xiàn)方式與一般管理系統(tǒng)類似。
(2)實驗組態(tài)。這是為指導(dǎo)教師定制的功能,在Web頁上的操作完成,用于對多個實驗進行配置和組態(tài)。指導(dǎo)教師利用此功能,可以新建、編輯、復(fù)制、刪除實驗,并組態(tài)每個實驗所需的開關(guān)量時序和模擬量波形。為了便于指導(dǎo)教師檢查組態(tài)的合理性和正確性,組態(tài)時序和波形還可以以曲線簇的形式顯現(xiàn)出來。從結(jié)果評判的角度上看,實驗組態(tài)給出了每個實驗的標準答案。
實驗組態(tài)是結(jié)果評判系統(tǒng)的核心環(huán)節(jié),會隨著實驗項目的增減及控制功能的升級而變化。若采用傳統(tǒng)單機版形式,則每次修改都需要在各臺電腦上進行升級,這樣會帶來大量的工作量且極易導(dǎo)致版本混亂。采用云平臺,則每次修改只需對云服務(wù)器上的組態(tài)數(shù)據(jù)進行升級皆可。且可以方便收集和管理多人次的實驗結(jié)果,通過對這些數(shù)據(jù)的進一步分析和挖掘可以發(fā)現(xiàn)學(xué)生對PLC課程學(xué)習(xí)的規(guī)律,將有助于提升課程的學(xué)習(xí)效果。
(3)學(xué)生實驗管理。學(xué)生用此功能模塊登記管理每個實驗,以便系統(tǒng)進行有效的數(shù)據(jù)采集和存儲。此功能通過Web頁完成,學(xué)生需要選擇或填寫確認的信息見表1。為了便于表述,以“交通燈PLC 控制”實驗為例進行說明。在PLC 實驗數(shù)據(jù)讀取時,選用OPC UA開放性協(xié)議,IP地址或鏈接地址是云平臺連接S7-1500 OPC UA服務(wù)器的必備參數(shù)。PLC程序的運行與其外部接線密切相關(guān)。若指定外接線順序,必然會簡化平臺設(shè)計,但也會限制學(xué)生程序設(shè)計的自由,干擾實驗過程。表1 中的接線指定則可以在不影響學(xué)生實驗的同時,建立實際接線與實驗組態(tài)信號之間的對應(yīng)關(guān)系。
表1 學(xué)生實驗管理信息
(4)數(shù)據(jù)傳輸與管理。數(shù)據(jù)傳輸是本系統(tǒng)的紐帶,如圖1 所示,S7-1500 PLC、編程計算機通過路由器組成局域網(wǎng),局域網(wǎng)通過Internet 連接阿里云ECS 服務(wù)器。編程計算機通過登錄Web 網(wǎng)站完成實驗信息提交、結(jié)果查詢和錯點分析等功能,ECS服務(wù)器上運行的OPC UA客戶將連接S7-1500 的內(nèi)置OPC UA 服務(wù)器遠程訪問PLC實驗數(shù)據(jù)。
(5)結(jié)果評判。通過數(shù)據(jù)傳輸和管理,學(xué)生的實驗數(shù)據(jù)都存入MySQL 數(shù)據(jù)庫。當(dāng)學(xué)生完成實驗并提交后,調(diào)度程序?qū)釉u判功能模塊進行結(jié)果評判,給出評判分數(shù),并標記錯點。
系統(tǒng)包含了多個模塊,且這些模塊分布在就地實驗室和云端,通信是系統(tǒng)的數(shù)據(jù)紐帶,合適的通信規(guī)約是系統(tǒng)的關(guān)鍵之一。選用OPC UA規(guī)約,它是OPC 基金會近年提出的OPC統(tǒng)一架構(gòu)[17-18],它將OPC Classic規(guī)范的所有功能集成到一個可擴展框架中。OPC UA與平臺無關(guān),可運行于嵌入式設(shè)備,具備從傳感器到云的可擴展性。在SIMATIC S7-1500 控制系統(tǒng)中集成了OPC UA服務(wù)器功能,可以實現(xiàn)基于OPC UA 的完整M2M通信。用戶不僅可以讀取或?qū)懭肟刂葡到y(tǒng)的OPC UA 變量,還可通過OPC UA 啟動復(fù)雜的功能序列。
在圖1 所示的系統(tǒng)配置中,按照以下步驟即可實現(xiàn)云端OPC UA 客戶與S7-1500 OPC UA 服務(wù)器的連接和數(shù)據(jù)獲?。?/p>
步驟1在編程計算機中啟動Tia Portal軟件并創(chuàng)建PLC項目。
步驟2在項目中添加對應(yīng)的PLC選型并配置組態(tài)信息,主要是IP地址配置。
步驟3若就地實驗室分配了公網(wǎng)IP地址,則需要在路由器中配置好S7-1500 PLC 的端口映射,這樣云端客戶就能遠程連接S7-1500 OPC UA服務(wù)器。
步驟4若實驗室路由器未分配公網(wǎng)IP,則云端OPC UA客戶無法直接連接S7-1500 PLC,但可以借助花生殼等內(nèi)網(wǎng)穿透軟件來實現(xiàn)連接。在編程計算機上安裝花生殼客戶端軟件,將S7-1500 PLC 的內(nèi)網(wǎng)IP 及端口與花生殼提供的外網(wǎng)IP 和域名進行對應(yīng)配置。配置成功后,云端OPC UA 客戶即可利用花生殼生成的訪問地址(例如:20873a00x1. imwork. net:44116)連接S7-1500 PLC。
步驟5云端調(diào)度程序查詢到學(xué)生的實驗請求后,將啟動一個線程來連接此實驗所用的S7-1500 PLC。若本地路由器有公網(wǎng)IP,則采用類似如下的URL:" opc. tcp:/ / 202. 114. 102. xx" 連接S7-1500 PLC OPC UA;若實驗室采用花生殼軟件,則S7-1500 OPC UA 服務(wù)器的URL 將具有如下形式" opc. tcp:/ /20873a00x1. imwork. net:44116"。云端OPC UA 客戶線程成功連接S7-1500 PLC后,按照表1 所填的“接線指定”讀取或訂閱數(shù)據(jù)。實驗結(jié)束后,調(diào)度程序結(jié)束對應(yīng)線程,釋放程序資源。
云端OPC UA客戶程序的設(shè)計可以采用多種SDK完成,在VS 2012 平臺上使用OpcUaHelper SDK 來設(shè)計云端OPC UA 客戶程序。OpcUaHelper 是一個通用的OPC UA客戶端類庫,基于官方OPC UA 基金會跨平臺庫創(chuàng)建,封裝了節(jié)點讀寫、批量節(jié)點讀寫、引用讀取、特性讀取、歷史數(shù)據(jù)讀取、方法調(diào)用、節(jié)點訂閱、批量訂閱等操作。
云端評判系統(tǒng)中,教學(xué)實驗可組態(tài),具備開放性特征。實驗組態(tài)即按照實驗?zāi)繕松奢斎?、輸出端口的時序曲線,這些曲線將作為學(xué)生實驗結(jié)果評判的標準答案。
為方便實驗案例的組態(tài),設(shè)計了基于Web的波形編輯器,指導(dǎo)教師可以方便地組態(tài)實驗。指導(dǎo)教師首先分析用自然言語、圖表或曲線描述的實驗要求,然后使用波形編輯器編輯標準實驗結(jié)果曲線,包括實驗所需的所有開關(guān)量輸入、模擬量輸入、開關(guān)量輸出和模擬量輸出曲線。編輯器同時提供復(fù)制、粘貼、修改等功能,指導(dǎo)教師通過復(fù)制并進行少量修改即可組態(tài)生成近似的實驗結(jié)果。
為了便于將實驗組態(tài)存入數(shù)據(jù)庫中,將實驗結(jié)果的全程波形分解為多個“段”,各“段”按時間順序串聯(lián)起來;每個“段”的波形用預(yù)設(shè)的幾種基本波形模式描述。圖2 為開關(guān)量和模擬量分別預(yù)設(shè)了7 種基本波形模式。選取模式及時間幅值參數(shù),PLC 控制器的任何開關(guān)量、模擬量波形都可以用這些基本波形合成。這樣一來,數(shù)據(jù)庫只需存儲數(shù)量不多的時間和幅值參數(shù)即可呈現(xiàn)出實驗結(jié)果的全程波形。
圖2 信號基本波形模式
以“交通燈PLC 控制”實驗為例來具體化實驗的組態(tài)過程。表2 為“交通燈PLC 控制”實驗所需的所用控制信號,除Q 啟動為輸入信號外,其余燈的控制信號皆為輸出。
表2 交通燈PLC控制實驗的控制信號
分析實驗的控制功能可知交通燈控制為循環(huán)過程,其一次循環(huán)的輸入輸出信號時序如圖3 所示。實驗組態(tài)時只需對單次循環(huán)波形進行組態(tài),再將單次循環(huán)波形重復(fù)執(zhí)行即可呈現(xiàn)出實驗的全程波形。按照波形特征,圖3 所示波形可以分為6 個“段”,記為S1 ~S6。利用基本波形模式及其參數(shù),圖3 所示波形被簡潔地描述為表3 所示實驗組態(tài),且表3 非常適合數(shù)據(jù)庫的存儲和管理。組態(tài)完成后,實驗組態(tài)將被存入云端MySQL數(shù)據(jù)庫。模擬量波形的描述與開關(guān)量類似,只是每個段所存儲的參數(shù)稍多。為了便于及時檢查和修正波形組態(tài),編輯器還能及時顯示波形組態(tài),實現(xiàn)“所見即所得”。
圖3 交通燈PLC控制實驗的信號時序
表3 交通燈控制實驗組態(tài)
指導(dǎo)教師首先在系統(tǒng)中組態(tài)好實驗,系統(tǒng)將標準結(jié)果曲線存入數(shù)據(jù)庫。再將需要開展實驗的班級和學(xué)生姓名導(dǎo)入系統(tǒng),學(xué)生即可利用系統(tǒng)進行實驗記錄和自動結(jié)果評判了。
學(xué)生進入實驗室按照安排就座后,需要登錄部署在阿里云ECS 上的網(wǎng)站系統(tǒng)并填入表1 所示的管理信息,系統(tǒng)成功驗證學(xué)生實驗信息后將其寫入數(shù)據(jù)庫。云端調(diào)度程序通過查詢數(shù)據(jù)庫獲得實驗請求后,即啟動一個OPC UA 客戶線程,并用此線程連接對應(yīng)S7-1500 OPC UA服務(wù)器并完成數(shù)據(jù)讀取。
信息登錄成功后,學(xué)生即可利用S7-1500 PLC 連接實驗箱并完成實驗內(nèi)容。此階段評判系統(tǒng)透明化,完全不影響學(xué)生的實驗過程,也不約束學(xué)生的編程思想。評判系統(tǒng)僅在后臺實時采集學(xué)生實驗時的輸入、輸出數(shù)據(jù),并存入對應(yīng)的數(shù)據(jù)表中以供后續(xù)結(jié)果評判。
由于不對學(xué)生接線進行限制,故同一個實驗其結(jié)果也不盡相同,取決于不同的輸入、輸出接線順序。因此,云端評判系統(tǒng)采集的實驗數(shù)據(jù)尚不能直接用于結(jié)果評判,需要先進行“去接線化”處理。在表1 中指明了接線代表的物理意義,利用該信息即可對原始采集數(shù)據(jù)“去接線化”。去除接線帶來的影響后,實驗數(shù)據(jù)與標準曲線所代表的信號意義完全相同,才可以進行對比判斷。去接線化后,實驗結(jié)果數(shù)據(jù)首先與標準曲線同步時標,再進行比對完成實驗結(jié)果的評判。在評判的同時,還需要將存在差別的時標點記錄下來,以便進行錯點分析。
實驗評判完成后,學(xué)生可以從Web頁查看評判結(jié)果和錯點,頁面用不同顏色的曲線呈現(xiàn)標準曲線和實驗曲線,以輔助學(xué)生查找問題,加深對實驗的理解。以上基于比對的評判方法適用于開關(guān)量邏輯控制系統(tǒng),目前已經(jīng)在評判系統(tǒng)上實現(xiàn)并開始試運行。而模擬量系統(tǒng)的評判功能模塊則更加復(fù)雜,需要與閉環(huán)控制系統(tǒng)的性能分析和評估結(jié)合起來。在本科階段,PLC 實驗主要針對開關(guān)量控制系統(tǒng)開展,而模擬量閉環(huán)控制較少涉及,故以上基于曲線比對的評判方法可以解決大部分PLC實驗結(jié)果的評判問題。
針對PLC實驗結(jié)果人工評判費時、工作量大且不準確的問題,設(shè)計了基于云的自動評判系統(tǒng)。系統(tǒng)以阿里云ECS 為平臺,結(jié)合OPC UA 協(xié)議、Web 服務(wù)和數(shù)據(jù)庫管理。在系統(tǒng)框架設(shè)計基礎(chǔ)上,設(shè)計了云端多線程OPC UA客戶程序,遠程連接S7-1500 OPC UA服務(wù)器以實時獲取學(xué)生的實驗數(shù)據(jù)。實驗的可組態(tài)性將評判系統(tǒng)打造成為了一個開放平臺,具有較好的擴展性。本系統(tǒng)可以大大減輕指導(dǎo)教師對實驗結(jié)果評判的工作量。學(xué)生也可以從系統(tǒng)獲得更加準確的評判結(jié)果和更加全面的反饋信息,以加深對實驗的理解。本文基于云的平臺設(shè)計、基于OPC UA 的通信規(guī)范性以及可組態(tài)理念可為其他實驗系統(tǒng)提供借鑒,也可以為其他遠程監(jiān)控系統(tǒng)設(shè)計提供參考。