王樂(lè)平 張春
摘?要:為了實(shí)現(xiàn)PC機(jī)(上位機(jī))對(duì)PLC的實(shí)時(shí)監(jiān)測(cè)與數(shù)據(jù)的獲取,本文介紹了一種基于 NI OPC Server 的通訊方式。建立虛擬儀器LabVIEW與PLC運(yùn)用工業(yè)以太網(wǎng)的實(shí)時(shí)通信系統(tǒng),利用LabVIEW本身集成的TCP/IP協(xié)議與西門(mén)子S7-300 PLC的通訊模塊(CP 343-1 Lean)結(jié)合,實(shí)現(xiàn)上位機(jī)和 S7-300 PLC 的以太網(wǎng)通訊。使得上位機(jī)可以通過(guò)以太網(wǎng)從PLC中獲取各階段狀態(tài)信息,該方法能夠在測(cè)試數(shù)據(jù)的現(xiàn)場(chǎng)通信中運(yùn)用,具有較好的項(xiàng)目實(shí)用價(jià)值。
關(guān)鍵詞:OPC Server;LabVIEW; PLC通信;PLC監(jiān)測(cè)
中圖分類(lèi)號(hào):TP273?文獻(xiàn)標(biāo)識(shí)碼:A?文章編號(hào):2095-8153(2019)01-0063-05
0?引言
隨著工業(yè)的發(fā)展,對(duì)零部件生產(chǎn)工藝技術(shù)的要求也越來(lái)越高,生產(chǎn)中對(duì)各零部件的生產(chǎn)過(guò)程實(shí)時(shí)監(jiān)控就尤為重要,所以現(xiàn)在由PC與PLC所組成的控制系統(tǒng)運(yùn)用得越來(lái)越廣泛。LabVIEW與PLC結(jié)合,可以搭建出分散且開(kāi)放的現(xiàn)代智能工業(yè)控制系統(tǒng)。因?yàn)長(zhǎng)abVIEW使用的是圖形化編程語(yǔ)言G語(yǔ)言,可以把復(fù)雜費(fèi)時(shí)的計(jì)算機(jī)語(yǔ)言程序簡(jiǎn)化成菜單或圖形的形式進(jìn)行編程,從而提高編程效率。又因?yàn)槠渚哂胸S富的圖形界面模塊、虛擬儀表、數(shù)值分析模塊、數(shù)字信號(hào)處理模塊,運(yùn)用LabVIEW可以將復(fù)雜算法交給電腦完成減輕PLC的負(fù)擔(dān),提高整個(gè)控制系統(tǒng)響應(yīng)速度。并且LabVIEW編程簡(jiǎn)單便于現(xiàn)場(chǎng)工作人員的二次開(kāi)發(fā)。本文以S7-300 PLC為背景介紹如何使用LabVIEW通過(guò)以太網(wǎng)對(duì)S7-300 PLC實(shí)現(xiàn)實(shí)時(shí)監(jiān)控[1][2]。
1?基于NI OPC Servers技術(shù)通信方案設(shè)計(jì)
1.1系統(tǒng)軟件與硬件設(shè)計(jì)
軟件系統(tǒng):LabVIEW 2014,SIMATIC Step 7 V5.5,Windows XP(sp3以上),OPC Server。其中OPC Server 用于對(duì) OPC ( OLE for Process Control ) 進(jìn)行組態(tài);LabVIEW 2014 用于編寫(xiě)PC機(jī)監(jiān)控系統(tǒng)程序;SIMATIC Step 7 V5.5用于西門(mén)子S7-300 PLC的編程。
硬件系統(tǒng):西門(mén)子S7-300 PLC (CPU-314),AI/AO(模擬量輸入/輸出)模塊,DI/DO(數(shù)字量輸入/輸出)模塊,存儲(chǔ)器以及編程線(xiàn)纜。PC 機(jī),網(wǎng)線(xiàn),網(wǎng)卡。通信系統(tǒng)的流程圖如圖1所示。
1.2 基于 OPC 技術(shù)的PC與西門(mén)子S7-300 PLC數(shù)據(jù)通信
因?yàn)長(zhǎng)abVIEW不能直接識(shí)別與讀取PLC中的數(shù)據(jù),所以需要將PLC中的數(shù)據(jù)上載到OPC服務(wù)器中。并由OPC Server將數(shù)據(jù)轉(zhuǎn)化為L(zhǎng)abVIEW可以識(shí)別的數(shù)據(jù)形式,之后再由LabVIEW調(diào)用轉(zhuǎn)化之后的數(shù)據(jù)來(lái)進(jìn)行監(jiān)控。這種方式有很強(qiáng)的通用性。NI公司的OPC Server 可以為大多數(shù)PLC廠(chǎng)商提供驅(qū)動(dòng)程序,生產(chǎn)廠(chǎng)商只需要提供PLC的OPC服務(wù)器就可以實(shí)現(xiàn)LabVIEW與任意PLC的連接,因此省去了許多編寫(xiě)底層驅(qū)動(dòng)的工作,提高了編程效率[3]。
基于OPC技術(shù)的PC與西門(mén)子S7-300 PLC(CP 343-1 Lean)數(shù)據(jù)通信,從硬件上來(lái)說(shuō)是通過(guò)網(wǎng)線(xiàn)連接PC與PLC,不需要增加其他硬件設(shè)施,只需要在SIMATIC Step 7上進(jìn)行相應(yīng)設(shè)置編程并下載入PLC中實(shí)現(xiàn)連接[4]。
從軟件上講,NI OPC Servers 在配置完之后,可以運(yùn)用以下四種方式來(lái)實(shí)現(xiàn)數(shù)據(jù)的通信:OPC Server Client、共享變量方式、NI 分布式系統(tǒng)管理器以及Datasocket 數(shù)據(jù)綁定方式,如圖2所示。
但后三種方式一般適用于和較少量點(diǎn)數(shù)的OPC標(biāo)簽連接,因?yàn)樵贚abVIEW中添加For循環(huán)命令讀寫(xiě)或編寫(xiě)多段重復(fù)代碼時(shí),當(dāng)點(diǎn)數(shù)增多會(huì)使讀寫(xiě)速度降低導(dǎo)致執(zhí)行效率降低,不利于通信實(shí)時(shí)性,使得維護(hù)困難,因此本文選用第一種方式來(lái)實(shí)現(xiàn)。
這樣PC機(jī)與PLC實(shí)時(shí)通信就需要解決兩個(gè)問(wèn)題:一個(gè)是如何建立OPC服務(wù)器里數(shù)據(jù)與西門(mén)子PLC中變量地址的逐一對(duì)應(yīng)關(guān)系;第二個(gè)是LabVIEW的監(jiān)控程序如何訪(fǎng)問(wèn)服務(wù)器里的數(shù)據(jù)[5]。
2?通信實(shí)現(xiàn)
2.1 西門(mén)子PLC以太網(wǎng)通信的實(shí)現(xiàn)
為了實(shí)現(xiàn)PC機(jī)與西門(mén)子S7-300型號(hào) PLC進(jìn)行通信,西門(mén)子公司S7-300型號(hào)的PLC提供了三種以太網(wǎng)通信模塊分別是:CP 343-1 Lean;CP 343-1;CP 343-1 Advanced,其自帶處理器,可獨(dú)立處理數(shù)據(jù)的擁塞問(wèn)題,解除CPU通信任務(wù)。出于成本以及實(shí)際運(yùn)用場(chǎng)合考慮本文監(jiān)控系統(tǒng)采用的通信模塊是CP 343-1 Lean(型號(hào) 6GK7 343-1CX10-0XE0)。用以太網(wǎng)通信方式與上位機(jī)進(jìn)行數(shù)據(jù)通信,需要在SIMATIC Step 7 V5.5中進(jìn)行相應(yīng)配置并下載進(jìn)PLC中,如圖3所示。要注意的是以太網(wǎng)址要和PC機(jī)在同一個(gè)網(wǎng)段內(nèi),IP 的地址格式為:xxx. xxx. xxx. xxx[6]。
2.2 NI OPC Server組態(tài)
在PC機(jī)(上位機(jī))上建立OPC服務(wù)器,通過(guò)以太網(wǎng)建立OPC Server與PLC之間的映像關(guān)系,其關(guān)鍵步驟為:
(1)運(yùn)行NI OPC Server程序,并在其中添加通道與設(shè)備信息并且添加上PLC中變量的相映射標(biāo)簽;(2)配置通道用的是以太網(wǎng)通信,在設(shè)備驅(qū)動(dòng)中選擇SiemensTCP/IP Ethernet,其他均設(shè)為默認(rèn)項(xiàng);(3)創(chuàng)建新設(shè)備,配置設(shè)備信息,在設(shè)備模式(Device model)列表里選擇S7-300 PLC。注意在設(shè)備地址(Device ID)中輸入的IP地址一定要與2.1節(jié)中PLC的IP地址一致,否則無(wú)法正常通信;(4)設(shè)置與PLC中變量綁定的標(biāo)簽變量,輸入變量名稱(chēng)以及PLC中的對(duì)應(yīng)變量的變量地址。這樣標(biāo)簽變量就通過(guò)地址與PLC中的地址變量一一綁定了,過(guò)程如圖4所示[7][8]。
需要注意一點(diǎn),PLC與LabVIEW中對(duì)數(shù)據(jù)類(lèi)型的定義稍有不同,如圖4(c)中DataTyp所示內(nèi)容。在設(shè)定變量數(shù)據(jù)的類(lèi)型與訪(fǎng)問(wèn)模式(讀,寫(xiě),讀/寫(xiě))時(shí),要選取與之對(duì)應(yīng)的數(shù)據(jù)類(lèi)型。否則會(huì)影響后續(xù)的編程,其對(duì)應(yīng)關(guān)系如表1所示。
2.3 利用LabVIEW DSC模塊實(shí)現(xiàn)對(duì)OPC Server的訪(fǎng)問(wèn)
NI公司設(shè)計(jì)的數(shù)據(jù)記錄和監(jiān)控(DSC)模塊,是專(zhuān)門(mén)用于分布式數(shù)據(jù)的獲取與監(jiān)控的。它可以快速地與OPC Server進(jìn)行通信并生成自己的OPC Server。使用LabVIEW DSC模塊的主要優(yōu)勢(shì)在于LabVIEW可以與DSC模塊無(wú)縫集成。對(duì)比一般的分布式數(shù)據(jù)獲取與監(jiān)控系統(tǒng)(SCADA),它有更好的數(shù)據(jù)處理及分析能力且便于編程。
DSC模塊通過(guò)引用圖4(c)中的約束變量與OPC標(biāo)簽連接,連接好后可以使約束變量通過(guò)工業(yè)以太網(wǎng)與PC機(jī)中OPC標(biāo)簽綁定。完成OPC標(biāo)簽綁定后,在LabVIEW中建立約束變量實(shí)現(xiàn)對(duì)OPC標(biāo)簽的訪(fǎng)問(wèn)。其步驟是:(1)LabVIEW中創(chuàng)建項(xiàng)目,新建I/O Server,在類(lèi)型中選擇OPC Client,配置并選擇LabVIEW要連的OPC Server,從而實(shí)現(xiàn)對(duì)OPC Server訪(fǎng)問(wèn)。(2)創(chuàng)建庫(kù)(Library)添加其約束變量與I/O Server中OPC標(biāo)簽綁定,約束變量就通過(guò)NI OPC Server與PLC中的變量進(jìn)行了綁定。(3)綁定之后將其直接拖拽入LabVIEW 的新建的VI中,約束變量就與普通變量一樣可以在LabVIEW中進(jìn)行編程操作[9]。如圖5所示。
通過(guò)新建VI進(jìn)行編程,初步建立監(jiān)控界面并測(cè)試通信是否成功。監(jiān)控界面如圖6所示[10]。
對(duì)各階段數(shù)據(jù)進(jìn)行實(shí)時(shí)采集并保存如表2所示。
通過(guò)試驗(yàn)證明,該方式構(gòu)建的系統(tǒng)能夠成功實(shí)現(xiàn)對(duì)各階段數(shù)據(jù)的監(jiān)控以及采集。
3?結(jié)語(yǔ)
本文介紹了如何使用LabVIEW通過(guò)OPC通信技術(shù)實(shí)現(xiàn)PC機(jī)與S7-300 PLC的實(shí)時(shí)通信。給出了實(shí)現(xiàn)方式的主要步驟并闡述了基本原理。該方法成功實(shí)現(xiàn)了對(duì)某液壓機(jī)的通信,PC與PLC之間通信良好。后期可通過(guò)對(duì)LabVIEW進(jìn)行編程,改進(jìn)監(jiān)控界面,實(shí)現(xiàn)監(jiān)控界面的人性化及美觀(guān)的需求。該方法成功實(shí)現(xiàn)了對(duì)某壓機(jī)的實(shí)時(shí)工作狀態(tài)進(jìn)行監(jiān)控和各階段數(shù)據(jù)的導(dǎo)出,有利于以后的試驗(yàn)研究工作。該方法方便、快捷、可靠,對(duì)各類(lèi)型PLC的工業(yè)控制系統(tǒng)均適用,具有較高的推廣價(jià)值。
[參考文獻(xiàn)]
[1] 尹一鳴.基于LabVIEW和PLC的過(guò)程控制系統(tǒng)的設(shè)計(jì)[J].儀表技術(shù)與傳感器,2010(03):39-40+106.
[2] 熊偉麗,賈?巖,等.基于OPC技術(shù)的LabVIEW與S7-300 PLC的污水處理監(jiān)控系統(tǒng)[J].計(jì)算機(jī)與應(yīng)用化學(xué),2011,28(09):1131-1133.
[3] 陳遠(yuǎn)玲,任瑞文,等.基于PC和PLC的液壓通用監(jiān)控系統(tǒng)[J].液壓與氣動(dòng),2012(05):49-53.
[4] 吳朋來(lái),曹曙明,等.LabVIEW和PLC在獲取數(shù)字式傳感器數(shù)據(jù)中的應(yīng)用[J].中國(guó)農(nóng)機(jī)化學(xué)報(bào),2014,35(01):278-282+295.
[5] 王晉杰.基于LabVIEW的PC與PLC實(shí)時(shí)監(jiān)控的實(shí)現(xiàn)[J].武漢理工大學(xué)學(xué)報(bào)(信息與管理工程版),2006(11):53-55.
[6]史素敏,劉建新,等.汽車(chē)天窗測(cè)試系統(tǒng)中PLC與上位機(jī)以太網(wǎng)通訊系統(tǒng)的開(kāi)發(fā)[J].機(jī)床與液壓,2013,41(16):132-135.
[7]臧其亮.基于OPC的S7-300與LabVIEW通訊實(shí)現(xiàn)[J].自動(dòng)化與儀器儀表,2015(10):193-195.
[8]馬?帥,趙煥同.基于NI OPC技術(shù)的LabVIEW與FX3U PLC通訊方法實(shí)現(xiàn)[J].工業(yè)控制計(jì)算機(jī),2018,31(05):16-17.
[9]沈保山,姬長(zhǎng)英,郭玉平,張集樂(lè).基于LabVIEW數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)[J].機(jī)械與電子,2009(04):76-78.
[10]楊?林,李?笑,李傳軍.基于PLC的液壓多路閥試驗(yàn)臺(tái)設(shè)計(jì)[J].機(jī)床與液壓,2014,42(04):75-78.