丁 蔚 彭 誠(chéng) 李 軍 侯旭瑋
(北京東方計(jì)量測(cè)試研究所,北京 100086)
隨著自動(dòng)化校準(zhǔn)技術(shù)的發(fā)展,給計(jì)量領(lǐng)域新的工作模式提出了挑戰(zhàn)。國(guó)外有Fluke公司的Met/Cal plus校準(zhǔn)軟件系統(tǒng)、Keysight科技N7800自動(dòng)校準(zhǔn)軟件平臺(tái)、NI公司的Calibration Executive等自動(dòng)化校準(zhǔn)軟件已投入使用。國(guó)內(nèi)也有少數(shù)計(jì)量技術(shù)機(jī)構(gòu)基于Met/Cal FMS與HTBasic開發(fā)平臺(tái)進(jìn)行定制化擴(kuò)展開發(fā)[1,2]。
目前,國(guó)內(nèi)一些大型計(jì)量技術(shù)機(jī)構(gòu)已開展半自動(dòng)校準(zhǔn)程序的研發(fā)工作,針對(duì)具有程控接口的儀器設(shè)備研制配套自動(dòng)校準(zhǔn)系統(tǒng),配合人工接插線、撥盤、按鈕等手動(dòng)行為,結(jié)合計(jì)算機(jī)技術(shù)實(shí)現(xiàn)數(shù)據(jù)采集、顯示、處理、記錄、過程(狀態(tài))監(jiān)控和錯(cuò)誤處理確認(rèn)等功能,這是半自動(dòng)化校準(zhǔn)模式。在日益繁重的計(jì)量任務(wù)和用工成本增加的情況下,半自動(dòng)化計(jì)量模式已無法進(jìn)一步提高測(cè)量效率,為保證測(cè)量準(zhǔn)確度和可靠性,對(duì)智能計(jì)量提出了更多要求。計(jì)量智能化通過使用相關(guān)技術(shù)替代人工操作,消除人工作業(yè)環(huán)節(jié),提高計(jì)量效率,提高測(cè)量質(zhì)量,提升技術(shù)管理水平,已勢(shì)在必行。檢定校準(zhǔn)工作方式分類,如圖1所示,其中手動(dòng)和半自動(dòng)計(jì)量的兩種模式是現(xiàn)階段的主要計(jì)量方式。人工智能技術(shù)在眾多行業(yè)中具有廣泛應(yīng)用,也使“機(jī)器換人”新型服務(wù)模式在傳統(tǒng)計(jì)量領(lǐng)域的實(shí)現(xiàn)成為可能,將傳統(tǒng)的計(jì)量自動(dòng)化推向更高層次,但目前其在計(jì)量領(lǐng)域的應(yīng)用還處于起步階段。
圖1 檢定校準(zhǔn)工作方式分類框圖Fig.1 Classification chart of verification and calibration working mode
結(jié)合實(shí)際需求,以不帶程控接口的手持式數(shù)字萬用表為例,研制手持式萬用表智能校準(zhǔn)系統(tǒng)。智能校準(zhǔn)系統(tǒng)的結(jié)構(gòu)框圖如圖2所示。
圖2 智能校準(zhǔn)系統(tǒng)結(jié)構(gòu)框圖Fig.2 Structural sketch of automatic calibration system
圖2中,上層自動(dòng)校準(zhǔn)系統(tǒng)以LabVIEW虛擬儀器開發(fā)環(huán)境作為自動(dòng)校準(zhǔn)系統(tǒng)構(gòu)建基礎(chǔ),進(jìn)行UI設(shè)計(jì)和邏輯設(shè)計(jì),開發(fā)友好的人機(jī)界面,具有測(cè)量數(shù)據(jù)顯示、數(shù)據(jù)分析處理以及數(shù)據(jù)存儲(chǔ)查詢等功能。下層硬件設(shè)備包括多種智能設(shè)備,實(shí)現(xiàn)替代人工操作。此類智能設(shè)備通過PLC編程實(shí)現(xiàn)對(duì)現(xiàn)場(chǎng)多種傳感器和執(zhí)行器進(jìn)行數(shù)據(jù)采集和自動(dòng)控制。自動(dòng)校準(zhǔn)系統(tǒng)和智能控制系統(tǒng)之間需要使用安全、穩(wěn)定的通信協(xié)議來提供可互操作性,通過充分論證,本系統(tǒng)通訊方式采用新一代OPC UA通信技術(shù)實(shí)現(xiàn)下位機(jī)與上位機(jī)的網(wǎng)絡(luò)通信,達(dá)到實(shí)時(shí)數(shù)據(jù)交互。目前國(guó)內(nèi)對(duì)于OPC UA技術(shù)的使用還不是很廣泛,但其憑借強(qiáng)大的功能,極其適合工控界的數(shù)據(jù)的交互。本文重點(diǎn)對(duì)使用OPC UA技術(shù)實(shí)現(xiàn)LabVIEW和PLC間的通信進(jìn)行了研究,使通信和數(shù)據(jù)交換實(shí)現(xiàn)更方便、穩(wěn)定。
手持式數(shù)字萬用表作為電磁學(xué)計(jì)量領(lǐng)域中應(yīng)用最為廣泛的通用電參數(shù)測(cè)量設(shè)備,隨著企業(yè)生產(chǎn)線規(guī)模的不斷擴(kuò)大,以及對(duì)產(chǎn)品質(zhì)量要求的不斷提高,校準(zhǔn)需求不斷增加,但校準(zhǔn)工作仍然只能通過人工手動(dòng)或者半自動(dòng)的方式完成,手動(dòng)測(cè)量引入更多誤差,數(shù)據(jù)記錄繁雜,整個(gè)校準(zhǔn)過程耗時(shí)費(fèi)力、人工錯(cuò)誤率高、創(chuàng)造價(jià)值低、工作效率較低。針對(duì)以上問題,研制手持萬用表智能校準(zhǔn)系統(tǒng),其結(jié)構(gòu)如圖3所示,由上位機(jī)和下位機(jī)(即自動(dòng)校準(zhǔn)軟件和采集監(jiān)控系統(tǒng))構(gòu)成。
圖3 手持萬用表智能校準(zhǔn)系統(tǒng)結(jié)構(gòu)示意圖Fig.3 Structural diagram of automatic calibration system for handheld digital multimeter
手持萬用表智能校準(zhǔn)系統(tǒng)中由機(jī)器人、末端執(zhí)行器和力傳感器模擬人工動(dòng)作和觸感,達(dá)到替代人工接插測(cè)試線、人工換檔、人工按鈕等人工操作的目的,以上智能設(shè)備需保證控制的穩(wěn)定、可靠。PLC作為專業(yè)的工業(yè)自動(dòng)控制裝置,具有穩(wěn)定性、靈活性較高、抗外界環(huán)境干擾強(qiáng)等良好性能[2-4],同時(shí)具備良好的通信能力,可對(duì)多種現(xiàn)場(chǎng)總線和通信協(xié)議進(jìn)行支持[5](如TCP,UDP,RS232,RS483,S7,profibus,pofinet,MPI,PPI,MODBUS等)。將其應(yīng)用于對(duì)智能設(shè)備的控制工作中,融合信息處理和通信等相關(guān)技術(shù),作為手持式萬用表智能校準(zhǔn)系統(tǒng)中控制系統(tǒng)的技術(shù)解決方案。
另外,手持萬用表智能校準(zhǔn)系統(tǒng)還需工業(yè)數(shù)字相機(jī)、光源設(shè)備完成圖像數(shù)據(jù)的獲取、處理、判定等工作,并實(shí)現(xiàn)標(biāo)準(zhǔn)信號(hào)控制、校準(zhǔn)數(shù)據(jù)實(shí)時(shí)顯示、數(shù)據(jù)處理分析和證書出具等功能,因此需開發(fā)自動(dòng)校準(zhǔn)軟件實(shí)現(xiàn)良好的界面交互和系統(tǒng)的邏輯設(shè)計(jì)。鑒于LabVIEW所具有的開發(fā)周期短,易學(xué)易用,界面友好等優(yōu)點(diǎn)[6],選用其作為自動(dòng)校準(zhǔn)軟件的開發(fā)語言。
在手持萬用表智能校準(zhǔn)系統(tǒng)中要消除自動(dòng)化軟件和硬件平臺(tái)之間互操作性的障礙,實(shí)現(xiàn)以LabVIEW為開發(fā)環(huán)境開發(fā)的自動(dòng)校準(zhǔn)系統(tǒng)和應(yīng)用PLC技術(shù)開發(fā)的控制系統(tǒng)之間的互聯(lián)互通,建立的有效可靠的通信來保證數(shù)據(jù)交互和運(yùn)動(dòng)控制。
OPC(Open Platform Communications,開放平臺(tái)通信)是工控界比較流行的一種數(shù)據(jù)交換技術(shù),不同的設(shè)備和軟件的接口得到了統(tǒng)一,軟件商不必針對(duì)每一個(gè)設(shè)備都開發(fā)對(duì)應(yīng)的驅(qū)動(dòng),很好的解決了不同生產(chǎn)廠商之間的通信問題。主流PLC廠商都支持OPC通信協(xié)議。
LabVIEW與PLC通信兩種解決方案如圖4所示。其中NI OPC Servers是NI公司為實(shí)現(xiàn)與主流PLC廠商通信而開發(fā)一款控制器驅(qū)動(dòng)。OPC采用客戶端和服務(wù)端架構(gòu),其中客戶端實(shí)現(xiàn)數(shù)據(jù)的訪問,服務(wù)端負(fù)責(zé)數(shù)據(jù)和邏輯處理,客戶端通過連接對(duì)應(yīng)服務(wù)端并對(duì)其地址空間中的節(jié)點(diǎn)進(jìn)行瀏覽訂閱實(shí)現(xiàn)[7,8]。NI OPC Servers在本系統(tǒng)中作為服務(wù)端,可與上位機(jī)客戶端進(jìn)行通信。借助NI OPC Servers,底層實(shí)現(xiàn)細(xì)節(jié)不再是需要了解或掌握的部分,只需關(guān)注要進(jìn)行操作的數(shù)據(jù)源、數(shù)據(jù)宿和數(shù)據(jù),在開發(fā)應(yīng)用程序過程中編寫效率提高,對(duì)編程人員素養(yǎng)要求降低。
圖4 LabVIEW與PLC通信的兩種解決方案框圖Fig.4 Block diagram of communication solutions between LabVIEW and PLC
LabVIEW與PLC早期多以串口通信形式實(shí)現(xiàn)[9],作為工業(yè)上的通用協(xié)議,應(yīng)用廣泛,目前仍然是虛擬儀器的構(gòu)成方式之一,在實(shí)際使用中具有簡(jiǎn)單便捷的優(yōu)點(diǎn),但存在速度慢的缺點(diǎn)。隨著通信技術(shù)的發(fā)展,現(xiàn)今多以網(wǎng)絡(luò)通信方式實(shí)現(xiàn)。當(dāng)前LabVIEW與PLC兩者之間常規(guī)的網(wǎng)絡(luò)通信為共享變量方法。
OPC UA是OPC基金會(huì)基于OPC的一些不足進(jìn)一步開發(fā)的,利用OPC UA技術(shù)進(jìn)行通信,提供系統(tǒng)的高效性和安全性,基于OPC UA技術(shù)實(shí)現(xiàn)跨平臺(tái)的各類現(xiàn)場(chǎng)設(shè)備、控制系統(tǒng)和信息系統(tǒng)的實(shí)時(shí)互聯(lián)互通[10],具有高度集成、開放共享的特點(diǎn)。通過LabVIEW OPC UA軟件開發(fā)工具包實(shí)現(xiàn)OPC UA客戶端的程序?qū)崿F(xiàn),與NI OPC Servers實(shí)現(xiàn)通信[11]。
根據(jù)實(shí)際工程情況,分別采用創(chuàng)建共享變量和OPC UA技術(shù)兩種方法實(shí)現(xiàn)LabVIEW和PLC的通信,對(duì)比兩者的優(yōu)劣。
兩種方法都是通過NI OPC Servers實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)化,將PLC中的數(shù)據(jù)傳遞到NI OPC Servers中,由其將數(shù)據(jù)轉(zhuǎn)化為L(zhǎng)abVIEW 可以識(shí)別的數(shù)據(jù)形式,再由LabVIEW調(diào)用轉(zhuǎn)化之后的數(shù)據(jù)來實(shí)施監(jiān)控。反之,LabVIEW的數(shù)據(jù)發(fā)送至NI OPC Servers進(jìn)行轉(zhuǎn)化成PLC可以識(shí)別的數(shù)據(jù)格式。
NI OPC Servers功能由單獨(dú)軟件提供,可以進(jìn)行創(chuàng)建、配置、查看與PLC關(guān)聯(lián)的標(biāo)簽。
1)安裝NI OPC Servers;
2)新建Channel,根據(jù)通信協(xié)議的需要配置Device driver信息(根據(jù)選用的PLC進(jìn)行相關(guān)信息的設(shè)置),Network Adapter選本機(jī)的網(wǎng)卡,其余按默認(rèn)即可;
3)在通道上新建Device,配置Device信息(根據(jù)選用的PLC和PLC的配置進(jìn)行相關(guān)屬性的配置),其余按默認(rèn)即可;
4)在設(shè)備上創(chuàng)建相關(guān)聯(lián)的標(biāo)簽變量,其中自定義標(biāo)簽變量名稱,配置標(biāo)簽地址與對(duì)應(yīng)的PLC 中對(duì)應(yīng)變量的變量地址相同,實(shí)現(xiàn)了標(biāo)簽變量與PLC中地址變量的對(duì)應(yīng)綁定;
5)在NI OPC服務(wù)器中,選擇工具欄下的Launch OPC Quick Client(或工具欄上的QC圖標(biāo))查看OPC標(biāo)簽數(shù)據(jù),如果通訊成功,Quality一欄會(huì)顯示Good,同時(shí)幫助了調(diào)試過程中對(duì)數(shù)據(jù)讀取是否正確的判斷。
共享變量用于實(shí)現(xiàn)網(wǎng)絡(luò)通信,通過創(chuàng)建與監(jiān)視不同的數(shù)據(jù)項(xiàng),綁定到與下位機(jī)相對(duì)應(yīng)的標(biāo)簽來完成通信功能。使用共享變量過程中,不用了解底層復(fù)雜的通信協(xié)議本身,也不用進(jìn)行編程工作,只需創(chuàng)建并對(duì)共享變量完成相關(guān)設(shè)置后,即可實(shí)現(xiàn)在計(jì)算機(jī)間的網(wǎng)絡(luò)通信、數(shù)據(jù)交換。
從LabVIEW 8.0開始,LabVIEW DSC模塊新增了共享變量引擎的功能,允許LabVIEW作為OPC客戶端。具體操作如下。
1)創(chuàng)建OPC Client類型的I/O服務(wù)器,在提供的本機(jī)或網(wǎng)絡(luò)上瀏覽到的OPC Servers列表中選擇需要綁定的OPC Servers,并設(shè)置更新速率,完成庫(kù)的建立,實(shí)現(xiàn)對(duì)I/O服務(wù)器的管理;
2)在庫(kù)中創(chuàng)建綁定變量,創(chuàng)建過程中通過瀏覽OPC服務(wù)器列表,選擇所創(chuàng)建的共享變量對(duì)應(yīng)要綁定的OPC標(biāo)簽,并設(shè)置共享變量屬性(存儲(chǔ)選擇、報(bào)警界限、變量情況描述、用戶權(quán)限獲取等);
3)進(jìn)行共享變量部署;
4)完成創(chuàng)建并與PLC標(biāo)簽綁定后,對(duì)共享變量的操作就如變量一般。代碼功能為:上位機(jī)通過對(duì)共享變量賦值模擬觸發(fā)信號(hào),PLC接收信號(hào)后控制機(jī)器人對(duì)手持萬用表進(jìn)行自動(dòng)接插線、撥盤動(dòng)作,完成后給上位機(jī)發(fā)送“動(dòng)作完成”的信號(hào),程序中的循環(huán)結(jié)構(gòu)進(jìn)行不斷的輪詢共享變量的狀態(tài)以獲取該信號(hào),然后進(jìn)行下一步動(dòng)作,如圖5所示。
圖5 共享變量技術(shù)程序部分示意圖Fig.5 Diagram of part program code using shared variable technology
如果在2013到2016版本的LabVIEW上實(shí)現(xiàn)與PLC基于OPC UA技術(shù)的通信,在LabVIEW DSC模塊包含一個(gè)API,用于在OPC UA服務(wù)器和客戶端之間以編程方式通信和交換數(shù)據(jù)。從LabVIEW 2017開始,OPC UA Toolkit與LabVIEW DSC模塊分開發(fā)布,成為獨(dú)立的LabVIEW工具包[12]。
對(duì)NI OPC servers的配置包括前文所述外,還需在OPC UA Configuration Manager中的Servers Endpoints地址(即客戶端與NI OPC servers的連接地址)進(jìn)行設(shè)置,該地址是客戶端連接NI OPC servers需要填寫的地址。當(dāng)不同的Client端同時(shí)訪問同一個(gè)NI OPC Servers時(shí),根據(jù)不同的端口號(hào)區(qū)分。通過對(duì)Trusted Clients配置實(shí)現(xiàn)安全方式連接。
NI OPC Servers配置完成后,還需通過LabVIEW編程開發(fā)一個(gè)OPC UA客戶端實(shí)現(xiàn)與OPC UA Server的通信。
通過創(chuàng)建對(duì)NI OPC UA Servers節(jié)點(diǎn)的數(shù)據(jù)訂閱,程序框架采用事件結(jié)構(gòu)完成對(duì)變量的監(jiān)控。NI OPC Servers收集所訂閱的節(jié)點(diǎn)的數(shù)據(jù)變化,向OPC UA客戶端發(fā)送通知消息。如圖6所示為部分代碼示意圖,其實(shí)現(xiàn)的功能是:通過事件結(jié)構(gòu)和OPC UA數(shù)據(jù)訂閱VI按照設(shè)置的速率獲取OPC UAServer返回?cái)?shù)據(jù)更改通知,對(duì)系統(tǒng)中機(jī)器人準(zhǔn)備就緒的情況進(jìn)行監(jiān)控,當(dāng)機(jī)器人準(zhǔn)備就緒時(shí),PLC相關(guān)寄存器的狀態(tài)改變,上傳至OPC UA Server相關(guān)聯(lián)節(jié)點(diǎn),代碼通過事件結(jié)構(gòu)和OPC UA數(shù)據(jù)訂閱VI按照設(shè)置的速率獲取OPC UAServer返回?cái)?shù)據(jù)更改通知,獲知機(jī)器人已準(zhǔn)備就緒這一情況,進(jìn)入下一步測(cè)量工作。
圖6 OPC UA技術(shù)程序部分示意圖Fig.6 Diagram of part program code using OPC UA technology
程序中可通過OPC UA工具包中的讀寫子VI直接完成對(duì)變量的操作,將需要修改的命令傳遞到OPC UA服務(wù)端,由NI OPC Server通過以太網(wǎng)傳遞到PLC。
通過共享變量和OPC UA技術(shù)兩種方案實(shí)現(xiàn)的可直觀得出如下結(jié)論。
1)創(chuàng)建共享變量方法需要進(jìn)行共享變量的創(chuàng)建,在部署方面會(huì)花費(fèi)更多的事件,適用于和較少量OPC Server的節(jié)點(diǎn)標(biāo)簽連接;
2)在對(duì)數(shù)據(jù)變化查詢方面,創(chuàng)建共享變量方法采用輪詢的方式進(jìn)行,相較于OPC UA技術(shù)的事件結(jié)構(gòu),共享變量實(shí)現(xiàn)方案占用更多的CPU資源,甚至可能造成遺漏事件。同時(shí)共享變量方法在OPC Server節(jié)點(diǎn)標(biāo)簽多的情況下需要編寫多段重復(fù)代碼。以上也會(huì)對(duì)通信的實(shí)時(shí)性造成影響;
3)創(chuàng)建共享變量的方式是基于DCOM系統(tǒng)組件的方式,制約了系統(tǒng)的高效性、可移植性和安全性;
4)OPC UA通信技術(shù)可以支持安全和非安全通信,安全通信通過添加加密環(huán)節(jié),配置證書來確保系統(tǒng)安全可靠。
綜上,采用OPC UA技術(shù)實(shí)現(xiàn)LabVIEW和PLC的通信具有更好的穩(wěn)定性、響應(yīng)性、實(shí)時(shí)性和安全性,同時(shí)編程工作減少,代碼更簡(jiǎn)潔,降低維護(hù)難度。
將人工智能技術(shù)應(yīng)用在計(jì)量領(lǐng)域,可以實(shí)現(xiàn)智能設(shè)備替代人工操作,保證計(jì)量結(jié)果的質(zhì)量,提高工作效率。在智能化校準(zhǔn)系統(tǒng)中,PLC發(fā)揮其在控制系統(tǒng)中的良好作用,同時(shí)LabVIEW強(qiáng)大的編程特性和豐富的工具庫(kù)能夠?qū)崿F(xiàn)復(fù)雜邏輯處理,數(shù)據(jù)分析等功能,使用OPC UA技術(shù)實(shí)現(xiàn)LabVIEW與PLC的實(shí)時(shí)通信,開發(fā)速度提高,維護(hù)難度降低,保證了系統(tǒng)的高穩(wěn)定性、快響應(yīng)性。
下一步工作將進(jìn)一步開發(fā)智能化校準(zhǔn)系統(tǒng),實(shí)現(xiàn)多型號(hào)的數(shù)字多用表和手持萬用表的全自動(dòng)校準(zhǔn)系統(tǒng)。系統(tǒng)中的智能設(shè)備數(shù)量將大量增加,對(duì)應(yīng)OPC Server中的標(biāo)簽節(jié)點(diǎn)數(shù)量將大幅度增加,需優(yōu)化改進(jìn)代碼,實(shí)現(xiàn)多OPC UA客戶端的訪問。