王建勛, 沈勝利
(鄭州職業(yè)技術學院,河南鄭州 450121)
可編程控制器(PLC)主要面向生產現場,具有抗干擾能力強、可靠性好、編程使用簡單、易于控制等特點[1]。但PLC沒有良好的人機界面,不便于實時監(jiān)控。采用PLC和PC通信的方法可解決以上問題[2]。隨著計算機技術的發(fā)展,主從式控制系統(tǒng)得到廣泛應用,上位機監(jiān)控是其主要組成部分。一般情況下,上位機可采用組態(tài)式監(jiān)控軟件、VB和VC等實現,也可采用編程語言LabVIEW來實現。
FX2NPLC與PC間通信方法有多種:有通過FX-232BD 通信模塊的[3];有 FX2N-232IF 模塊的[4];有使用動態(tài)鏈接庫的;也有采用 MSComm控件和 MX Component通信控件的[5-6]。我們采用的是基于OPC技術的數據通信方式。
以 NI OPC Servers為基礎,通過 OPC Server Client、共享變量、Datasocket數據綁定和分布式系統(tǒng)管理器等4種方式來實現FX2N-48MR PLC與PC間的數據通信。
用于過程控制的對象嵌入鏈接(Object Linking and Embedding for Process Control,OPC)。OPC 以OLE(現在的Active X)/COM(部件對象模型)/DCOM(分布式部件對象模型)技術為基礎,采用客戶/服務器模式,為工業(yè)自動化面向對象的開發(fā)提供的統(tǒng)一標準[7-8]。OPC技術被廣泛用來統(tǒng)一軟件與設備的接口標準及進行現場數據的網絡通信,因此很多設備廠商都為其設備提供了OPC Server(OPC服務器),如西門子公司的Simatic NET OPC Server、三菱公司的Melsec OPC Server和歐姆龍的 Sysmac OPC Server等[9]。
NI OPC Servers可將專用工業(yè)協議轉換為開放式OPC Classic和OPC統(tǒng)一架構(UA)協議。這一轉化使得NI LabVIEW軟件能夠通過LabVIEW DSC模塊內含的OPC客戶端與多種不同的可編程邏輯控制器(PLC)和第三方設備通信。NI OPC Servers所支持的裝置與驅動插件程序可從ni.com查看。NI OPC Server與LabVIEW組合而成的單一平臺可對工業(yè)系統(tǒng)進行高性能的測量和控制[10]。
DataSocket技術是NI公司推出的面向測控領域的網絡通信技術,是一種基于TCP/IP協議的網絡編程技術,它支持本地文件I/O操作、FTP和HTTP文件傳輸、實時數據共享,并提供統(tǒng)一的API(應用程序編程接口)。具有方便使用、高效編程、不需了解底層操作過程等優(yōu)點,適合于遠程數據采集、監(jiān)控和數據共享等應用程序的開發(fā)。
從結構上看,DataSocket包括 DataSocket API和DataSocket Server兩部分。DataSocket API提供了簡單的應用接口,作為客戶,可以在多種編程環(huán)境下與多種數據類型通信,DataSocket API包含四個基本動作:Open、Read、Write 和 Close。除了從 DataSocket Server上獲取數據外,DataSocket還可以獲得HTTP Server、FTP Server和 OPC Server的數據。DataSocket Server是一個獨立運行的程序,是提供數據交換的場所,作為服務器,負責存儲數據源發(fā)布的數據,然后提供給請求的計算機[11-12]。
LabVIEW是由美國國家儀器公司開發(fā)的一種功能強大而又靈活的儀器和分析軟件應用開發(fā)工具。
LabVIEW使用的編程語言為G語言(圖形化的程序設計語言),它用框圖代替了傳統(tǒng)的程序代碼。目前LabVIEW已被公認為是標準的數據采集和儀器控制軟件,廣泛應用于測試、工業(yè)自動化、教學和科研等領域[13]。
數據記錄與監(jiān)控模塊(Datalogging and Supervisory Control Module,DSC)是 LabVIEW 的附加模塊。LabVIEW DSC模塊包含針對常用工業(yè)協議(其中包括OPC)的支持。這讓應用程序幾乎能同所有PLC與可編程自動化控制器進行通信。借助DSC,可以利用少則十余個、多則數千個的標簽,交互開發(fā)分布式監(jiān)測和控制系統(tǒng)[14]。
基于OPC技術的FX2NPLC和PC間的數據通信,從硬件上講,采用的仍然是SC-09編程電纜連接PLC和PC,不需增加其他硬件。PLC自帶的編程口是RS-422接口,PC端是RS-232C接口,通信方式仍然是串行通信方式。編程口在程序下載結束處于閑置狀態(tài),我們就可以利用它實現PLC和PC間的通信[15]。
從軟件上講,NI OPC Servers配置后,可以通過OPC Server Client、共享變量方式、Datasocket數據綁定方式和NI分布式系統(tǒng)管理器等四種不同的方式來實現數據通信,進一步可實現實時監(jiān)控,如圖1所示。
圖1 基于OPC技術的四種不同方式的數據通信
下面以一個由定時器構造的振蕩電路為例,通過實驗驗證FX2N-48MR PLC和PC間四種不同的數據通信方式的可行性。
如圖2所示為振蕩電路的梯形圖。定時器T1的設定值為10×100=1 s,定時器T2的設定值為20×100=2 s。振蕩電路的工作原理是:當PLC的輸入端X0接收信號后,通過定時器T1、T2間的配合,PLC的輸出端Y0產生出T1=1 s、T2=2 s的振蕩電路。如圖3所示為振蕩電路的時序圖。
地震是一種嚴重影響地基穩(wěn)定性的自然災害,地震發(fā)生后,在地震荷載的作用下,地基土體會出現松動和變形現象,從而影響建筑結構的穩(wěn)定性。加固地基是增強地基抗震性能最為有效的方法之一。通過加固處理,可以使地基的抗液化能力顯著提升,從而改善地基土體的動力特性。同時,加固后的地基土會產生預震效應,進一步提高了地基的整體強度、剛度和穩(wěn)定性。對震害嚴重的厚軟土層,可以采用高壓噴射注漿法進行加固處理,當地震發(fā)生時,可以使地基保持良好的穩(wěn)定性。
在NI OPC Servers添加PLC OPC標簽的目的在于建立起和PLC間的一一對應關系。
當 PLC執(zhí)行程序時,選擇 Tools→OPC Quick Client,就可進入OPC Quick Client工作界面,就可以對PLC的各個軟元件(X0、Y0、T1、T2)的工作狀態(tài)進行讀取。
當 PLC處于 STOP狀態(tài)時,通過 Value→Asynchronous 2.0 Write,還可改變軟元件的當前值。如圖6所示,寫入輸出端Y0的值為1,此時PLC上Y0對應的指示燈亮起。
圖2 振蕩電路梯形圖
圖3 振蕩電路時序圖
圖4 通過共享變量方式讀取
在LabVIEW 2010啟動界面中,通過項目→新建I/O Server→ OPC Client→ Configure OPC Client I/O Server,建立庫文件,然后創(chuàng)建約束變量→添加變量→多變量編輯器。利用PLC OPC標簽,創(chuàng)建四個變量。最后在LabVIEW連續(xù)運行時,得到的結果如圖4所示。
在PLC處于STOP狀態(tài)時,通過改變軟元件的當前值。如改變Y0的值為1,此時PLC上Y0對應的指示燈亮起。
在LabVIEW 2010新建VI的前面板中,先繪出振蕩電路梯形圖。X0、Y0、T1和T2均用垂直搖桿開關表示(但T1、T2的關閉并不代表計時過程)。在每個元件→屬性→數據綁定→Datasocket,再通過瀏覽→DSTP服務器,選中 PLC OPC標簽,即可實現Datasocket數據綁定。在設計程序時,選擇了讀取DataSocket和寫入 DataSocket節(jié)點。其中 OPC TO URL是子VI。
3.4.1 讀取數據
LabVIEW連續(xù)運行時,需要讀取X0、Y0數據時,推上選擇開關,并在項名稱中選擇X0或Y0,通過指示燈即可讀取。讀取Y0的結果如圖5所示。要讀取T1、T2數據時,拉下選擇開關,并在項名稱中選擇T1或T2,通過“讀取的數據”即可讀取T1或T2計時值。
圖5 讀取Y0的數據
3.4.2 寫入數值
當PLC在STOP狀態(tài)下,可以寫入部分軟元件數值,以Y0為例,推上是否寫入選擇開關,點擊“寫入”指示燈后燈亮起,隨之PLC對應Y0對應的指示燈亮起,“讀值”指示燈也隨之亮起,如圖6所示。
LabVIEW自版本自8.6后,可用NI分布式系統(tǒng)管理器來實現共享變量的功能。如圖7所示為通過分布式系統(tǒng)管理器讀取Y0的數據。
圖6 寫入Y0值
圖7 分布式系統(tǒng)管理器讀取Y0值
以NI OPC Servers為基礎,可以通過OPC Server Client、共享變量、Datasocket數據綁定和分布式系統(tǒng)管理器等四種方式來實現FX2N-48MR PLC與PC間的數據通信。實驗證明,這四種數據通信方式具備,且具有可行性、操作簡單、可靠性高等特點。
(References):
[1] 李紅梁.基于OPC的PC與PLC實時通訊的LabView實現[J].計算機應用研究,2003(12):115-118.
LI Hong-liang.Implementation of OPC-based Communication between PC and PLC on LabView Platform [J].Application Research of Computers,2003(12):115-118.
[2] 郁漢琪,盛黨紅,鄧東華.電氣控制與可編程控制器應用技術[M].南京:東南大學出版社,2003.
[3] 顏志國,沈天明,金 潔.基于VB的PLC串口通訊在背散射人體檢查儀動作控制中的應用[J].警察技術,2010(5):61-64.
YAN Zhi-guo,SHEN Tian-ming,JIN Jie.Application of PLC Serial Communication in the Backscattering Body Chek Control Instrument Based on VB[J].Police Technology,2010(5):61-64.
[4] 俞紅衛(wèi),楊 靜,顧站松.FX2N型PLC與PC機的串行通信[J].電氣自動化,2004,26(5):37-38,49.
YU Hong-wei,YANG Jing,GU Zhan-song.Serial Communication between PC Computer and FX2NPLC[J].Electrical Automation,2004,26(5):37-38,49.
[5] 張 暉.基于LabVIEW的FX2N型PLC與計算機通信實現[J].自動化博覽,2008(8):78-80.
ZHANG Hui.Design and Implementation of Identification for SIP System Based on LabVIEW[J].Automation Panorama,2008(8):78-80.
[6] 鄢華林,邱月全.VB6.0環(huán)境下三菱FX系列PLC與上位機的串行通信[J].計算機與現代化,2010(5):122-124.
YAN Hua-lin,QIU Yue-quan.Serial Communication Between FX Series of Mitsubishi PLC and Host Computer Based on VB6.0 [J].Computer and Modernization,2010(5):122-124.
[7] 楊 芷,魯五一,熊紅云.基于OPC技術的LabVIEW與PLCs通訊[J].長沙航空職業(yè)技術學院學報,2006,6(2):62-65.
YANG Zhi,LU Wu-yi,XIONG Hong-yun.TheCommunication Between LabVIEW and PLC Based on OPC[J].Journal of Changsha Aeronautical Vocational and Technical College,2006,6(2):62-65.
[8] 石靈丹,華 斌,朱歆州,等.基于OPC技術的PC與西門子PLC的實時通訊[J].船電技術,2011,31(1):9-12.
SHI Ling-dan,HUA Bin,ZHU Xin-zhou,WU Ming.Real-time Communication Between PC and Siemens PLC Based on OPC[J].Marine Electric & Electronic Engineering,2011,31(1):9-12.
[9] 曾珞亞.基于OPC技術的PLC與LabView通信實現[J].微計算機信息,2009,25(16):52-53,128.
ZENG Luo-ya.Realization of Data Communication based on OPC Technology between PLC and LabView [J].Microcomputer Information,2009,25(16):52-53,128.
[10] 徐慶坤,王軍偉,毛建偉.基于NI OPC Servers實現PC與PLC實時通訊[J].工業(yè)控制計算機,2013,26(7):51-52.
XU Qing-kun,WANG Jun-wei,MAO Jian-wei.Implementation of NI OPC-based Real-time Communication Between PC and PLC[J].Industrial Control Computer,2013,26(7):51-52.
[11] 林 鵬,溫響東.基于DataSocket技術網絡虛擬實驗室構建[J].實驗室研究與探索,2008,27(5):68-70.
LIN Peng,WEN Xiang-dong.Construction of Network Virtual Lab on DataSocket Technique[J].Research and Exploration in Laboratory,2008,27(5):68-70.
[12] 蔣朝陽,祝 陳.基于DataSocket的虛擬儀器技術在設備遠程狀態(tài)監(jiān)測與故障診斷中的應用[J].數字技術與應用,2012(5):64-65.
JIANG Zhao-yang,CHEN Zhu.Application of Virtual Instrument Technology in Remote Condition Monitoring and Fault Diagnosis Based on DataSocket[J].Digital Technology and Application,2012(5):64-65.
[13] 彭 勇,潘曉燁,謝龍漢.LabVIEW虛擬儀器設計與分析[M].北京:清華大學出版社,2011.
[14] 俞 梅,孫 娜,唐明新.基于LabVIEW DSC的監(jiān)控軟件的應用研究[J].微計算機信息,2007,23(3-1):88-90.
YU Mei,SUN Na,TANG Ming-xin.Application Rearch of the SCADA Software Based on Lab VIEW DSC[J].Microcomputer Information,2007,23(3-1):88-90.
[15] 柳 劍,陳於學,楊曙年.基于編程口的三菱PLC與PC機串行通信實現[J].自動化儀表,2010,31(11):31-33,37.
LIU Jian,CHEN Yu-xue,YangShu-nian.ImplementingSerial Communication between PC and MITSUBISHI PLC Based on Selfcontained Programming Port[J]. Process Automation Instrumentation,2010,31(11):31-33,37.