王樂平 張春


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