王 帥,胡 毅,何 平,安 濤,張騰飛,郭 安
(1.中國(guó)科學(xué)院大學(xué), 北京 100049;2.中國(guó)科學(xué)院 沈陽(yáng)計(jì)算技術(shù)研究所高檔數(shù)控國(guó)家工程研究中心,沈陽(yáng) 110168;3.沈陽(yáng)高精數(shù)控智能技術(shù)股份有限公司 總線(xiàn)技術(shù)部,沈陽(yáng) 110168)
?
基于OPC技術(shù)實(shí)現(xiàn)西門(mén)子數(shù)控系統(tǒng)的數(shù)據(jù)采集*
王帥1,2,胡毅2,3,何平2,3,安濤1,2,張騰飛1,2,郭安1,2
(1.中國(guó)科學(xué)院大學(xué), 北京100049;2.中國(guó)科學(xué)院 沈陽(yáng)計(jì)算技術(shù)研究所高檔數(shù)控國(guó)家工程研究中心,沈陽(yáng)110168;3.沈陽(yáng)高精數(shù)控智能技術(shù)股份有限公司 總線(xiàn)技術(shù)部,沈陽(yáng)110168)
文章通過(guò)對(duì)工業(yè)OPC標(biāo)準(zhǔn)和西門(mén)子數(shù)控系統(tǒng)OPC服務(wù)器的研究,介紹了OPC標(biāo)準(zhǔn)的相關(guān)技術(shù)和西門(mén)子OPC服務(wù)器的具體內(nèi)容。同時(shí)針對(duì)具體的西門(mén)子數(shù)控系統(tǒng),實(shí)現(xiàn)了數(shù)控系統(tǒng)與上位機(jī)的DCOM通信配置和數(shù)控系統(tǒng)的實(shí)時(shí)數(shù)據(jù)采集,為實(shí)現(xiàn)數(shù)控車(chē)間的聯(lián)網(wǎng)管理奠定了基礎(chǔ)。
OPC技術(shù);西門(mén)子數(shù)控系統(tǒng);DCOM通信;數(shù)據(jù)采集
“工業(yè)4.0”戰(zhàn)略的核心環(huán)節(jié)是建立數(shù)字化車(chē)間,實(shí)現(xiàn)生產(chǎn)過(guò)程的自動(dòng)化、智能化、信息化。在工業(yè)數(shù)字化生產(chǎn)管理的發(fā)展要求中,實(shí)現(xiàn)數(shù)控系統(tǒng)的實(shí)時(shí)數(shù)據(jù)采集、數(shù)控車(chē)間的聯(lián)網(wǎng)管理是推進(jìn)數(shù)字化車(chē)間發(fā)展的一個(gè)重要基礎(chǔ)[1]。
OPC技術(shù)實(shí)現(xiàn)了硬件設(shè)備與應(yīng)用程序之間的軟件接口標(biāo)準(zhǔn)化、工業(yè)過(guò)程控制中的數(shù)據(jù)交換標(biāo)準(zhǔn)化,對(duì)于實(shí)現(xiàn)跨平臺(tái)的數(shù)據(jù)采集、數(shù)據(jù)通信具有重要意義[2]。與此同時(shí),支持OPC標(biāo)準(zhǔn)的西門(mén)子數(shù)控系統(tǒng)在工業(yè)現(xiàn)場(chǎng)被廣泛的使用。
本文以西門(mén)子數(shù)控系統(tǒng)為平臺(tái),在介紹西門(mén)子與上位機(jī)之間的DCOM通信配置的基礎(chǔ)上,通過(guò)訪(fǎng)問(wèn)西門(mén)子OPC服務(wù)器實(shí)現(xiàn)實(shí)時(shí)的數(shù)據(jù)采集。
1.1OPC標(biāo)準(zhǔn)
OPC(OLE for Process Control)是基于微軟的OLE/COM技術(shù)實(shí)現(xiàn)的用于規(guī)范硬件驅(qū)動(dòng)程序與應(yīng)用軟件之間接口的一種工業(yè)標(biāo)準(zhǔn)[3]。OPC實(shí)現(xiàn)了客戶(hù)程序?qū)τ布O(shè)備訪(fǎng)問(wèn)的透明性、解決了應(yīng)用程序?qū)τ布逃袛?shù)據(jù)類(lèi)型的依賴(lài)性,因此已經(jīng)廣泛的被各種數(shù)控系統(tǒng)所支持。目前通用的標(biāo)準(zhǔn)主要有:數(shù)據(jù)訪(fǎng)問(wèn)標(biāo)準(zhǔn)(Data Access)、數(shù)據(jù)交換標(biāo)準(zhǔn)(OPC Data Exchange)、事件和報(bào)警標(biāo)準(zhǔn)(Alarm & Event)、歷史數(shù)據(jù)訪(fǎng)問(wèn)標(biāo)準(zhǔn)(Historical Data Access)、安全性標(biāo)準(zhǔn)(Security)、過(guò)程數(shù)據(jù)的XML標(biāo)準(zhǔn)(OPC XML-DA)[4]。
1.2OPC服務(wù)器
OPC服務(wù)器是由硬件供應(yīng)商提供的用于提供OPC標(biāo)準(zhǔn)化接口和過(guò)程數(shù)據(jù)的專(zhuān)用軟件,由服務(wù)器對(duì)象(OPC Server)、組對(duì)象(OPC Group)、數(shù)據(jù)項(xiàng)對(duì)象(OPC Item)三部分組成。
OPC服務(wù)器對(duì)象負(fù)責(zé)維護(hù)服務(wù)器內(nèi)部的狀態(tài)信息、提供OPC客戶(hù)程序與服務(wù)器通信的訪(fǎng)問(wèn)接口,并作為OPC組對(duì)象的容器向OPC客戶(hù)程序提供創(chuàng)建和管理組對(duì)象的接口。OPC組對(duì)象負(fù)責(zé)管理OPC組對(duì)象的內(nèi)部信息、創(chuàng)建和管理OPC項(xiàng)對(duì)象并提供OPC服務(wù)器內(nèi)部實(shí)時(shí)數(shù)據(jù)的存取服務(wù)。OPC項(xiàng)對(duì)象用于描述實(shí)時(shí)數(shù)據(jù),代表了服務(wù)器到數(shù)據(jù)源的一個(gè)物理連接[5-6]。
OPC服務(wù)器中各個(gè)部分具有如圖1所示的組織方式。每個(gè)OPC服務(wù)器中包含一個(gè)OPC服務(wù)器對(duì)象,一個(gè)OPC服務(wù)器對(duì)象包含一個(gè)OPC組集合來(lái)維護(hù)管理多個(gè)OPC組對(duì)象,每個(gè)OPC組對(duì)象包含一個(gè)OPC項(xiàng)集合來(lái)管理多個(gè)OPC數(shù)據(jù)項(xiàng)對(duì)象。此外,OPC服務(wù)器還維護(hù)一個(gè)可選的用于瀏覽OPC服務(wù)器名稱(chēng)空間的OPC瀏覽器對(duì)象。
圖1 OPC服務(wù)器數(shù)據(jù)組織方式
1.3OPC服務(wù)器接口
OPC客戶(hù)端的開(kāi)發(fā)過(guò)程實(shí)際上就是對(duì)服務(wù)器接口的聲明和調(diào)用。如圖2所示,OPC服務(wù)器支持兩種類(lèi)型的接口:客戶(hù)化接口(Custom Interface)和自動(dòng)化接口(Automation Interface)。自動(dòng)化接口封裝COM的底層實(shí)現(xiàn),提供自動(dòng)配置和存取過(guò)程控制數(shù)據(jù)的方法,使開(kāi)發(fā)者可以輕松的獲取數(shù)據(jù)??蛻?hù)化接口通過(guò)對(duì)OPC組對(duì)象進(jìn)行操作來(lái)實(shí)現(xiàn)數(shù)據(jù)的訪(fǎng)問(wèn),可用于實(shí)現(xiàn)最佳性能的OPC客戶(hù)程序[7]。
圖2 OPC接口示意圖
1.4OPC通信方式
OPC客戶(hù)程序與服務(wù)器之間的數(shù)據(jù)通信方式有同步通信、異步通信以及訂閱三種方式[8-9]。
采用同步通信方式,OPC服務(wù)器將客戶(hù)端請(qǐng)求的數(shù)據(jù)訪(fǎng)問(wèn)結(jié)果作為方法參數(shù)返回給客戶(hù)程序,在接收到訪(fǎng)問(wèn)結(jié)果之前客戶(hù)端一直處于等待狀態(tài)。
采用異步通信方式,OPC服務(wù)器在接收到客戶(hù)請(qǐng)求后立即將方法返回,OPC客戶(hù)端隨后可以進(jìn)行其他操作。當(dāng)OPC服務(wù)器處理完數(shù)據(jù)訪(fǎng)問(wèn)后,處理OPC客戶(hù)程序的異步訪(fǎng)問(wèn)完成事件會(huì)將訪(fǎng)問(wèn)結(jié)果返回給OPC客戶(hù)端。
采用數(shù)據(jù)訂閱方式,OPC客戶(hù)程序并不需要向服務(wù)器發(fā)送數(shù)據(jù)訪(fǎng)問(wèn)請(qǐng)求,服務(wù)器會(huì)按一定的更新周期更新OPC服務(wù)器的數(shù)據(jù)緩沖器中的數(shù)據(jù),在發(fā)現(xiàn)數(shù)值發(fā)生變化時(shí)就以數(shù)據(jù)變化事件通知OPC應(yīng)用程序。
使用OPC技術(shù)實(shí)現(xiàn)西門(mén)子數(shù)控系統(tǒng)數(shù)據(jù)采集的基礎(chǔ)是實(shí)現(xiàn)OPC客戶(hù)程序與西門(mén)子OPC服務(wù)器的通訊連接[10]。在建立通訊連接的過(guò)程中,對(duì)西門(mén)子數(shù)控系統(tǒng)和PC客戶(hù)機(jī)進(jìn)行OPC通信的DCOM配置是其中的一個(gè)難點(diǎn)問(wèn)題,因此本節(jié)將分別介紹在PC客戶(hù)機(jī)和西門(mén)子服務(wù)器上進(jìn)行DCOM配置的過(guò)程。
2.1PC客戶(hù)端的DCOM配置
①在PC上創(chuàng)建與西門(mén)子數(shù)控系統(tǒng)相同的賬戶(hù),此賬戶(hù)隸屬于Users組;
②啟用Guest用戶(hù),將Guest用戶(hù)從本地安全策略中的“拒絕從網(wǎng)絡(luò)訪(fǎng)問(wèn)這臺(tái)計(jì)算機(jī)”中去掉;
③勾選文件夾選項(xiàng)中的“使用簡(jiǎn)單文件共享(推薦)”;
④在組件服務(wù)中,設(shè)置計(jì)算機(jī)屬性為啟用分布式COM、默認(rèn)協(xié)議為面向連接的TCP/IP;同時(shí)在COM安全中設(shè)置訪(fǎng)問(wèn)權(quán)限為允許Administrator用戶(hù)、ANONYMOUS LOGON用戶(hù)、Everyone用戶(hù)的所有權(quán)限,設(shè)置COM安全的啟動(dòng)和激活權(quán)限為允許Everyone用戶(hù)、Administrator用戶(hù)的所有權(quán)限;
⑤設(shè)置組件服務(wù)中的OpcEnum對(duì)象的屬性為在此計(jì)算機(jī)上運(yùn)行應(yīng)用程序、選用交互式用戶(hù),安全選項(xiàng)卡中的權(quán)限全部設(shè)置為允許所有用戶(hù)的所有權(quán)限。
2.2西門(mén)子服務(wù)器的DCOM配置
①啟用Guest用戶(hù)并添加到Administrators組,從本地安全策略的“拒絕從網(wǎng)絡(luò)訪(fǎng)問(wèn)這臺(tái)計(jì)算機(jī)”中去掉Guest用戶(hù);
②修改本地安全策略中的“網(wǎng)絡(luò)訪(fǎng)問(wèn):本地賬戶(hù)的共享和安全模式”為“經(jīng)典-本地用戶(hù)以自己的身份驗(yàn)證”;
③按照客戶(hù)端中組件服務(wù)的修改方案對(duì)服務(wù)器中的組件服務(wù)進(jìn)行配置;
④對(duì)于服務(wù)器中的OpcEnum對(duì)象,除了將身份驗(yàn)證級(jí)別改為“連接”以外,其余的配置與客戶(hù)端一致;
⑤對(duì)于OPC.SINUMERIK.Machineswitch項(xiàng),勾選“在數(shù)據(jù)所在計(jì)算機(jī)上運(yùn)行應(yīng)用程序”和“在此計(jì)算機(jī)上運(yùn)行應(yīng)用程序”,安全選項(xiàng)卡中的權(quán)限全部設(shè)置為允許所有用戶(hù)的所有權(quán)限,標(biāo)識(shí)選項(xiàng)卡中設(shè)置為交互式用戶(hù)。
至此,西門(mén)子數(shù)控系統(tǒng)就可以與PC客戶(hù)程序進(jìn)行OPC通信連接和數(shù)據(jù)交換了。
3.1采集模塊功能
實(shí)現(xiàn)數(shù)控系統(tǒng)的實(shí)時(shí)數(shù)據(jù)采集是進(jìn)行車(chē)間機(jī)床聯(lián)網(wǎng)管理的重要基礎(chǔ),可以為車(chē)間管理系統(tǒng)監(jiān)控機(jī)床實(shí)時(shí)加工狀態(tài)、分析機(jī)床加工效率、查看和統(tǒng)計(jì)歷史作業(yè)信息提供依據(jù)。
在數(shù)據(jù)采集模塊中,需要完成對(duì)西門(mén)子數(shù)控機(jī)床的運(yùn)行模式、運(yùn)行狀態(tài)、運(yùn)行時(shí)間、當(dāng)前加工程序、軸編程值、軸剩余值等信息的采集,并將采集結(jié)果傳輸給車(chē)間管理系統(tǒng)。
3.2OPC數(shù)據(jù)采集流程
如圖3所示,OPC客戶(hù)端進(jìn)行數(shù)據(jù)采集的流程主要包括COM環(huán)境初始化、連接OPC服務(wù)器、創(chuàng)建OPC組和數(shù)據(jù)項(xiàng)、讀取OPC數(shù)據(jù)項(xiàng)等[11-12]。
①COM環(huán)境初始化
OPC標(biāo)準(zhǔn)是基于OLE/COM技術(shù)實(shí)現(xiàn)的,因此在使用OPC相關(guān)接口時(shí)必須首先使用Colnitialize方法對(duì)COM庫(kù)進(jìn)行初始化。
②連接OPC服務(wù)器
OPC客戶(hù)程序連接到OPC服務(wù)器是保證數(shù)據(jù)訪(fǎng)問(wèn)機(jī)制實(shí)現(xiàn)的基礎(chǔ)。OPC客戶(hù)程序通過(guò)連接OPC服務(wù)器獲取服務(wù)器句柄,進(jìn)而實(shí)現(xiàn)創(chuàng)建OPC組和OPC數(shù)據(jù)項(xiàng)、讀取OPC數(shù)據(jù)項(xiàng)等功能,實(shí)現(xiàn)對(duì)數(shù)控系統(tǒng)的數(shù)據(jù)采集。
③創(chuàng)建OPC組
OPC客戶(hù)程序?qū)PC數(shù)據(jù)項(xiàng)的操作必須通過(guò)OPC組對(duì)象提供的接口實(shí)現(xiàn),因此在添加OPC數(shù)據(jù)項(xiàng)之前必須添加一個(gè)OPC組。
④添加OPC數(shù)據(jù)項(xiàng)并讀取數(shù)據(jù)
OPC數(shù)據(jù)項(xiàng)中存儲(chǔ)了數(shù)控系統(tǒng)中相應(yīng)的數(shù)據(jù),將相關(guān)的OPC數(shù)據(jù)項(xiàng)對(duì)象添加到OPC組中,就可以通過(guò)OPC組對(duì)象訪(fǎng)問(wèn)讀取相關(guān)的數(shù)據(jù)信息。
圖3 OPC客戶(hù)端數(shù)據(jù)采集流程圖
3.3數(shù)據(jù)項(xiàng)與實(shí)時(shí)數(shù)據(jù)的對(duì)應(yīng)關(guān)系
機(jī)床加工過(guò)程中產(chǎn)生的數(shù)據(jù)保存在不同的OPC數(shù)據(jù)項(xiàng)中,確定OPC數(shù)據(jù)項(xiàng)與相關(guān)實(shí)時(shí)數(shù)據(jù)的對(duì)應(yīng)關(guān)系是保證數(shù)據(jù)采集模塊正確運(yùn)行的前提條件[13],表1中列出了部分OPC數(shù)據(jù)項(xiàng)與不同實(shí)時(shí)狀態(tài)之間的對(duì)應(yīng)關(guān)系:
表1 OPC數(shù)據(jù)項(xiàng)與實(shí)時(shí)數(shù)據(jù)的對(duì)應(yīng)關(guān)系
3.4數(shù)據(jù)采集結(jié)果
本文在西門(mén)子840D數(shù)控系統(tǒng)上進(jìn)行了OPC數(shù)據(jù)采集模塊的測(cè)試和驗(yàn)證。
在某一時(shí)刻O(píng)PC數(shù)據(jù)采集模塊得到如圖4所示的運(yùn)行結(jié)果,通過(guò)與當(dāng)前時(shí)刻西門(mén)子數(shù)控系統(tǒng)顯示的實(shí)時(shí)數(shù)據(jù)(如圖5所示)進(jìn)行比較,可以確定采集模塊獲取到的軸編程值、當(dāng)前加工程序、機(jī)器運(yùn)行時(shí)間等數(shù)據(jù)都是正確的。同時(shí),通過(guò)調(diào)整數(shù)控機(jī)床上的F修調(diào)值和S修調(diào)值按鈕,發(fā)現(xiàn)采集到的修調(diào)值也會(huì)隨之改變。
圖4 數(shù)據(jù)采集模塊采集結(jié)果
圖5 西門(mén)子系統(tǒng)實(shí)時(shí)數(shù)據(jù)
通過(guò)OPC數(shù)據(jù)訪(fǎng)問(wèn)接口進(jìn)行數(shù)據(jù)采集,實(shí)現(xiàn)了客戶(hù)程序與硬件設(shè)備的分離,簡(jiǎn)化了數(shù)據(jù)采集流程。同時(shí),快速高效的OPC采集方法保證了數(shù)據(jù)的正確性和有效性,為實(shí)現(xiàn)數(shù)字化車(chē)間管理奠定了基礎(chǔ)[14]。本文在研究分析OPC技術(shù)和西門(mén)子OPC服務(wù)器的基礎(chǔ)上,實(shí)現(xiàn)了對(duì)西門(mén)子數(shù)控系統(tǒng)的數(shù)據(jù)采集,對(duì)實(shí)現(xiàn)車(chē)間管理系統(tǒng)具有重要的作用。
[1] 劉濤.智能制造技術(shù)在工控自動(dòng)化領(lǐng)域的應(yīng)用[J].產(chǎn)業(yè)與科技論壇,2015(1):47-48.
[2] 韓洋.OPC接口技術(shù)在工業(yè)自動(dòng)化系統(tǒng)中的應(yīng)用[J].硅谷,2015(4):93-93.
[3] 楊傳穎,李赫.OPC技術(shù)發(fā)展綜述[J].儀器儀表用戶(hù),2012(4):6-8.
[4] 李博,鄭偉麗.基于C#的OPC自動(dòng)化接口異步訪(fǎng)問(wèn)技術(shù)[J].信息技術(shù),2014(8):140-146.
[5] 杜柳青.基于OPC數(shù)據(jù)的數(shù)控機(jī)床精度狀態(tài)實(shí)時(shí)測(cè)評(píng)方法[J].組合機(jī)床與自動(dòng)化加工技術(shù),2014(6):46-50.
[6] 程福友,朱泓睿.基于OPC技術(shù)和SCADA平臺(tái)的能源管理系統(tǒng)[J].自動(dòng)化博覽,2014(8):50-52.
[7] 黃娟.基于C#的OPC數(shù)據(jù)通信的設(shè)計(jì)與實(shí)現(xiàn)[J].工業(yè)控制計(jì)算機(jī),2013(11):14-15.
[8] 楊鵬,黃文江,李川陽(yáng).基于OPC協(xié)議的EMS系統(tǒng)數(shù)據(jù)采集設(shè)計(jì)與實(shí)現(xiàn)[J].新疆鋼鐵,2014(1):14-17.
[9] 周俊,王德權(quán),王可心.MES在變速箱生產(chǎn)線(xiàn)中的應(yīng)用[J].組合機(jī)床與自動(dòng)化加工技術(shù),2014(6):147-148.
[10] 姜政華,朱明清,張遷禮.OPC通信中的DCOM配置及問(wèn)題處理[J].自動(dòng)化技術(shù)與應(yīng)用,2010(6):53-55.
[11] 張建平,馬芳,馬利.基于OPC技術(shù)的工業(yè)現(xiàn)場(chǎng)異構(gòu)系統(tǒng)集成軟件的開(kāi)發(fā)[J].電子技術(shù)與軟件工程,2014(18):76-77.
[12] 戚寶運(yùn),許自力,毛勤儉.數(shù)字化車(chē)間MES系統(tǒng)構(gòu)建[J].指揮信息系統(tǒng)與技術(shù),2013(1):25-29.
[13]王雪寒,輦玉玉,姚翠紅.實(shí)時(shí)數(shù)據(jù)采集技術(shù)在生產(chǎn)制造執(zhí)行中的應(yīng)用[J].工業(yè)控制計(jì)算機(jī),2013(2):18-19.
[14]夏志,張潔,張功.數(shù)控機(jī)床數(shù)據(jù)采集嵌入式適配器設(shè)計(jì)與開(kāi)發(fā)[J].組合機(jī)床與自動(dòng)化加工技術(shù),2012(5):57-61.
(編輯趙蓉)
The Realization of Data Acquisition about Siemens CNC System Based on OPC Technology
WANG Shuai1,2,HU Yi2,3,HE Ping2,3,AN Tao1,2,ZHANG Teng-fei1,2,GUO An1,2
(1. University of Chinese Academy of Sciences, Beijing 100049, China;2. National Engineering Research Center For High-End CNC, Shenyang Institute of Computing Technology, Chinese Academy of Sciences, Shenyang 110168,China)
Through the research on the industry standard OPC and the OPC server of Siemens numerical control systems, the paper introduces the related technology about OPC and the specific content of Siemens OPC server. At the same time, for a specific Siemens CNC system,the author achieves the configuration of DCOM communication between CNC system and host computer and the real-time data acquisition of CNC system, laid the foundation for the realization of the network management of NC workshop.
OPC technology;siemens CNC system;DCOM communication;data acquisition
1001-2265(2016)04-0069-03DOI:10.13462/j.cnki.mmtamt.2016.04.019
2015-06-03;
2015-07-07
“高檔數(shù)控機(jī)床與基礎(chǔ)制造裝備”國(guó)家科技重大專(zhuān)項(xiàng)、數(shù)控機(jī)床精度保持性技術(shù)研究(2014ZX04014021)
王帥(1990—),男,山東青島人,中國(guó)科學(xué)院大學(xué)、中科院沈陽(yáng)計(jì)算技術(shù)研究所碩士研究生,研究方向?yàn)閿?shù)控技術(shù),(E-mail)sdwsh@mail.ustc.edu..cn。
TH166;TG506
A