閆海蘭,尚坡利
(蘭州石化職業(yè)技術(shù)學院 電子電氣工程學院,甘肅 蘭州 730060)
為了中國制造2025的穩(wěn)步運行,推動智能制造快速發(fā)展,各行各業(yè)開始研究和實施智能車間的建設(shè),例如石油化工、冶金、航空航天、裝備制造等將會作為數(shù)字化車間、智能化工廠的首批試點領(lǐng)域。未來幾年內(nèi),全國大多數(shù)工廠車間都會趨向智能化,各大制造型企業(yè)也都將開始進行信息化改革升級[1]。智能車間的建設(shè)使得車間內(nèi)設(shè)備的種類也更加繁多,如傳感器、PLC和伺服軸等。這些設(shè)備提高了生產(chǎn)質(zhì)量和生產(chǎn)效率,但也產(chǎn)生了一些不可忽視的問題,不同型號和不同生產(chǎn)廠家的底層設(shè)備導致車間內(nèi)的通信協(xié)議也各種各樣,這給車間監(jiān)管人員對車間內(nèi)部數(shù)據(jù)采集和通信系統(tǒng)的整合帶來困難。且由于各種各樣的通信協(xié)議,使得設(shè)備間數(shù)據(jù)信息交互困難,設(shè)備間存在信息孤島的問題。因此,車間生產(chǎn)控制系統(tǒng)在開發(fā)設(shè)計時,為了能夠使得不同型號、不同生產(chǎn)廠家的生產(chǎn)設(shè)備兼容適配,開發(fā)人員智能在系統(tǒng)中集成大量的通信協(xié)議,這不僅使得開發(fā)人員的工作量顯著增加,而且使得生產(chǎn)系統(tǒng)龐大復雜。且不同的設(shè)備有不同的通信總線,布線時需要對其布置專有的通信總線,進而導致車間內(nèi)的布線數(shù)大量增加,產(chǎn)生車間生產(chǎn)安全隱患。
然而使用OPC技術(shù)剛好可以解決這個問題,它為不同品牌和信號的設(shè)備提供一種統(tǒng)一且簡單的接口,保證設(shè)備間能夠交互通信,對于設(shè)備的數(shù)據(jù)采集與監(jiān)控也可靠簡單[2]。OPC UA已經(jīng)成為國內(nèi)外在數(shù)據(jù)采集與監(jiān)控系統(tǒng)設(shè)計中不可或缺的一部分,國外對OPC UA技術(shù)的研究較為成熟。相比于國外的研究現(xiàn)狀,國內(nèi)對于OPC UA技術(shù)在工業(yè)中的研究與應(yīng)用還不夠完善。北京的艾克信控公司是國內(nèi)最早一批開始接觸OPC UA技術(shù)的公司,并開發(fā)了一些基于OPC UA的產(chǎn)品。華北電力大學最為國內(nèi)高校中較早研究OPC UA的院校之一,在2011年取得了一定的成果,孫建發(fā)、白洋、方輝等在畢業(yè)課題中分別對OPC UA服務(wù)器中數(shù)據(jù)管理與訂閱功能模塊、安全與配置功能模塊、地址空間與數(shù)據(jù)存儲模塊以及時間管理與訂閱功能模塊進行了研究和開發(fā)。內(nèi)蒙古工業(yè)大學的李赫研究設(shè)計了基于OPC UA的中間件服務(wù)器,首先將設(shè)備信息采集到OPC DA服務(wù)器中,在經(jīng)過中間件的封裝轉(zhuǎn)換,能夠成功被OPC UA客戶端訪問[3]。蘭州理工大學的謝春求研究了基于OPC UA的數(shù)控機床原創(chuàng)監(jiān)控系統(tǒng),以O(shè)PC UA為主要核心技術(shù),采用WinCC軟件作為遠程監(jiān)控客戶端,提供一系列解決方案[4]。杭州電子科技大學的黃志韜使用OPC UA研究并實現(xiàn)了個性化定制生產(chǎn)線信息系統(tǒng),解決目前生產(chǎn)信息系統(tǒng)只適合大批量生產(chǎn)不適用小規(guī)模生產(chǎn)的問題。
本論文以上述智能車間生產(chǎn)通信中存在的問題為出發(fā)點進行研究,力求實現(xiàn)對車間內(nèi)各種硬件底層設(shè)備進行數(shù)據(jù)信息采集,并達到統(tǒng)一監(jiān)管的目的。要使該目標實現(xiàn)首先需要設(shè)備間數(shù)據(jù)能夠共享交互,設(shè)計出合理的而數(shù)據(jù)采集系統(tǒng)將設(shè)備信息采集出來。其次,需要有數(shù)據(jù)顯示和監(jiān)控界面供監(jiān)管人員對采集上來的數(shù)據(jù)進行實時監(jiān)控。
由于OPC是在微軟的OLE技術(shù)基礎(chǔ)上發(fā)展起來的數(shù)據(jù)交換技術(shù),因此它為基于Windows的應(yīng)用程序與工業(yè)控制系統(tǒng)進行數(shù)據(jù)交互建立了橋梁,并且它有效地將硬件與軟件分離開來[5]?;贠PC技術(shù)的過程控制通信系統(tǒng)如下圖1所示,采用C/S結(jié)構(gòu)來進行數(shù)據(jù)交換,底層硬件設(shè)備中需內(nèi)置OPC服務(wù)器并創(chuàng)建OPC服務(wù)器的統(tǒng)一接口,OPC客戶端就可以通過OPC通信對OPC服務(wù)器的統(tǒng)一接口進行信息訪問,雙方的數(shù)據(jù)就可以進行交互,軟件開發(fā)者只需要對應(yīng)接口進行編程而沒必要了解硬件設(shè)備具體信息。但傳統(tǒng)的OPC是基于微軟的COM/DCOM技術(shù)的,因此該技術(shù)只能在Windows系統(tǒng)上應(yīng)用,不能在Linux等其他平臺上進行OPC客戶端與OPC服務(wù)器之間的通信。但是由于該技術(shù)只能在Windows系統(tǒng)上應(yīng)用,導致OPC接口不能再例如Linux等其他平臺上工作,客戶端與服務(wù)器無法實現(xiàn)跨平臺交互,這個主要缺陷隨著控制要求的逐漸提升將無法滿足工業(yè)現(xiàn)場的需求。
圖1 基于OPC的過程控制通信系統(tǒng)
OPC UA技術(shù)能彌補傳統(tǒng)OPC的不足,它仍然以C/S結(jié)構(gòu)進行設(shè)備間數(shù)據(jù)通訊以及信息采集,但服務(wù)器與客戶端是通過OPC UA通信棧進行通信的,即首先客戶端通過API與自己的通信棧進行交互,接著客戶端的通信棧再與服務(wù)器的通信棧進行信息交互,服務(wù)器接收到響應(yīng)信號并將響應(yīng)的應(yīng)答信號反饋給客戶端。OPC UA棄用了傳統(tǒng)的COM/DCOM技術(shù),建立了以Web Service為基礎(chǔ)的技術(shù)架構(gòu),使得不同的設(shè)備或者不同的系統(tǒng)可以在不一樣的網(wǎng)絡(luò)環(huán)境上進行交互,這賦予OPC UA具有跨平臺特點,為當前工業(yè)通信系統(tǒng)存在的數(shù)據(jù)傳輸無法跨越防火墻的問題提供技術(shù)支持,并且OPC UA支持更多類型的數(shù)據(jù)結(jié)構(gòu),增加許多安全規(guī)范,使得設(shè)備在工業(yè)網(wǎng)絡(luò)中更加安全且受保護,以及增強了命名空間等優(yōu)點。OPC UA所具有的優(yōu)勢如下[6-9]:(1)與平臺無關(guān)性;OPC UA的相關(guān)研究不再受限于Windows系統(tǒng),所以可在實際需求的操作系統(tǒng)上進行,且基于Web Service的技術(shù)架構(gòu)使得信息交互更加開發(fā)、更加靈活。(2)訪問統(tǒng)一性;OPC UA增加了統(tǒng)一的、完整的和一致的地址空間模型和服務(wù)模型,因而客戶端向OPC UA服務(wù)器發(fā)送請求即可獲取數(shù)據(jù),解決了資源浪費的問題。(3)安全性和通信性能增強;OPC UA技術(shù)定義了一系列完整的安全策略,OPC UA服務(wù)器與客戶端通過一條特定的連接通道進行安全通信,在該通道應(yīng)用了加密技術(shù),例如OpenSSL加密、公共密鑰體系和X509證書等,若想要進行會話則需要進行身份驗證,這使得通信更加安全可靠,保證了信息的完整性。(4)支持更多更復雜的數(shù)據(jù)結(jié)構(gòu);OPC UA支持一種元數(shù)據(jù)建模規(guī)則,而且該模型具有可擴展性,根據(jù)實際開發(fā)的各種需求,開發(fā)人員可自定義進行增刪改數(shù)據(jù)模型之間的相關(guān)性。(5)可靠性和冗余性;該機制的設(shè)計可使客戶端連接冗余服務(wù)器,保證數(shù)據(jù)傳輸?shù)耐暾?、連續(xù)性,且OPC UA數(shù)據(jù)信息傳輸是加密的,服務(wù)器和客戶端需要用戶驗證才能通訊,這也保證了數(shù)據(jù)的可靠性。
在工廠車間數(shù)據(jù)通訊中,采用的OPC UA技術(shù)是基于分布式的服務(wù)器/客戶端(C/S)模型,該客戶端負責消費這些數(shù)據(jù)和服務(wù),實現(xiàn)對車間內(nèi)底層設(shè)備數(shù)據(jù)、工作狀態(tài)等信息的監(jiān)控和展示,而該服務(wù)器負責準備服務(wù)和數(shù)據(jù)。如下圖2所示,主要有3種常見的方式實現(xiàn)OPC UA的搭建。第一種方式為通過網(wǎng)關(guān)適配器來實現(xiàn)OPC UA服務(wù)器的搭建,以硬件的形式將某種型號的設(shè)備或控制器協(xié)議轉(zhuǎn)換為OPC UA標準協(xié)議;第二種方式為OPC UA服務(wù)器內(nèi)嵌的形式,即服務(wù)器直接嵌入在機器、控制器或者設(shè)備內(nèi)部,設(shè)備生產(chǎn)過程中就加入了OPC UA的功能;第三種方式為以外部軟件的形式搭建OPC UA服務(wù)器,這種情況可能某些設(shè)備公司為特定型號的產(chǎn)品研發(fā)特有的OPC UA服務(wù)器軟件,例如西門子PLC等,還有可能是通用的OPC UA服務(wù)器軟件。本論文采用第二種方式,即OPC UA服務(wù)器內(nèi)嵌的形式。
圖2 OPC UA服務(wù)器的搭建方式
因為選用第二種方式,OPC UA服務(wù)器內(nèi)嵌的形式實現(xiàn)對設(shè)備數(shù)據(jù)信息的訪問通訊,并且還能實現(xiàn)不同設(shè)備間數(shù)據(jù)交互的功能,解決了設(shè)備間信息孤島的問題,通過上位機客戶端可以對底層設(shè)備數(shù)據(jù)進行讀寫和監(jiān)控。OPC Server服務(wù)器的搭建流程如下圖3所示,首先啟動博圖軟件,然后查看固件版本,博圖軟件只有V4.4固件版本以上才支持OPC通信,若固件版本較低,則進行固件升級。其次創(chuàng)建PLC項目并添加與硬件相對應(yīng)的PLC設(shè)備,接著在工程界面開啟OPC服務(wù)器,并創(chuàng)建PLC變量及其調(diào)用,此外創(chuàng)建服務(wù)器的借口,最后OPC服務(wù)器接口調(diào)用變量,至此完成搭建工作。
圖3 OPC UA服務(wù)器的搭建方式流程
OPC UA服務(wù)器搭建過程中包括的關(guān)鍵步驟為:首先點擊設(shè)備組態(tài)并選擇PLC,找到OPC UA,點擊激活OPC UA服務(wù)器,并記錄下方的服務(wù)器地址,即OPC通信地址,客戶端以此作為識別號,如圖4所示。
圖4 開啟OPC服務(wù)器
其次,創(chuàng)建服務(wù)器的通信變量,之后建立西門子的函數(shù)模塊并編寫程序,如下圖5所示,并在MAIN中調(diào)用函數(shù)塊實,緊接著進行變量引用賦值,實現(xiàn)功能:輸出數(shù)據(jù)以0.5s變化。
圖5 程序代碼
最后,創(chuàng)建服務(wù)器接口,并用OPC UA服務(wù)器接口調(diào)用變量,變量引用完成后將工程項目編譯下載。至此,OPC UA服務(wù)器搭建完成。
Octopuz虛擬仿真軟件與OPC UA服務(wù)器相連接是基于安全通道和會話的,連接流程如下圖6所示,首先開啟Octopuz虛擬仿真軟件并開啟OPC服務(wù)。
圖6 Octopuz與OPC UA服務(wù)器連接流程
其次在虛擬環(huán)境中創(chuàng)建單獨的組件,以承載特征、腳本、屬性參數(shù),并添加與PLC對應(yīng)類型的變量,否則后期印射變量會發(fā)生錯誤。緊接著在連通性中添加服務(wù)器并添加對應(yīng)的服務(wù)器地址,測試連接,如彈出對話框提示連接成功,表示Octopuz與服務(wù)器已經(jīng)連接成功。之后創(chuàng)建Python腳本并寫入代碼,以添加組件行為,如下圖7(a)所示。最后映射服務(wù)器至模擬、模擬至服務(wù)器的OPC通信變量,如下圖7(b)所示。
(a)
(b)
整體方案設(shè)計、實現(xiàn)完成后,將對OPC UA的數(shù)據(jù)采集與監(jiān)控系統(tǒng)進行驗證工作,測試搭建的OPC UA服務(wù)器是否能正常工作,以及整個系統(tǒng)是否能正常運轉(zhuǎn)。首先對Octopuz中的節(jié)點屬性信息讀寫功能進行測試驗證,通過點擊樹形結(jié)構(gòu)可在服務(wù)器地址空間欄中隨意瀏覽各級節(jié)點層次結(jié)構(gòu),點擊單個節(jié)點或一類節(jié)點可在屬性信息欄中看到節(jié)點的具體信息,實現(xiàn)對服務(wù)器地址空間中數(shù)據(jù)展示和讀取操作。且可以在博圖、Octopuz中分別監(jiān)控OPC輸入輸出變量數(shù)據(jù)以0.5s的速度變化,如下圖8所示。
圖8 OPC輸入輸出變量數(shù)據(jù)的變化
針對智能車間底層設(shè)備繁多、通信協(xié)議各異,導致無法進行統(tǒng)一的數(shù)據(jù)采集與監(jiān)控等問題,以O(shè)PCUA為核心技術(shù),搭建了可適配不同底層設(shè)備的通用OPC UA服務(wù)器,并實現(xiàn)了Octopuz虛擬仿真軟件與OPC UA服務(wù)器的成功連接,因而實現(xiàn)了車間內(nèi)各種硬件底層設(shè)備進行數(shù)據(jù)信息采集,并達到統(tǒng)一監(jiān)管的目的。