《電子技術(shù)應用》
您所在的位置:首頁 > 測試測量 > 設(shè)計應用 > 基于OPC的第三方設(shè)備數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)
基于OPC的第三方設(shè)備數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)
來源:電子技術(shù)應用2010年第12期
韓慶敏, 施 波
杭州和利時自動化有限公司, 浙江 杭州310018
摘要: 在當前工業(yè)控制系統(tǒng)中,DCS系統(tǒng)與第三方設(shè)備進行通信時,必須開發(fā)對應的設(shè)備驅(qū)動程序;當DCS系統(tǒng)升級時,設(shè)備驅(qū)動也必須進行相應升級,從而增加了升級和維護成本。為此,提出了基于OPC的第三方設(shè)備數(shù)據(jù)采集系統(tǒng)(COMMOPC系統(tǒng))。該系統(tǒng)由主框架和I/O驅(qū)動組成,I/O驅(qū)動為主框架提供統(tǒng)一的通信調(diào)用接口,主框架部分通過接口的調(diào)用來實現(xiàn)對設(shè)備I/O的統(tǒng)一管理、調(diào)度和通信信息的集中監(jiān)視,并提供通用OPC Server接口,使上層應用系統(tǒng)通過OPC Client可實時地訪問現(xiàn)場設(shè)備,解決了設(shè)備驅(qū)動程序與DCS系統(tǒng)必須一一對應的問題。
中圖分類號: TP273.5
文獻標識碼: A
文章編號: 0258-7998(2010)12-0132-03
Design and implementation of data collection system from the third-party devices based on OPC
HAN Qing Min,SHI Bo
HangZhou Hollysys Automation Co., Ltd., Hangzhou 310018, China
Abstract: In the current industrial control systems, when DCS systems communicate with the third-party devices, we must develop the corresponding the device driver, when the DCS system upgrade, the device driver must be upgraded accordingly, it will inevitably increase the cost of upgrades and maintenance. In this background, this paper presents a third-party devices OPC-based data collection system (COMMOPC system).The COMMOPC system consists of the main framework and I/O drivers, I/O drivers provide unified interface to the main framework, the main framework call the interface to implement unified management and scheduling and surveillance to the I/O drivers, and provide the general OPC Server interface。The upper level through the OPC client applications to access real-time field devices to solve the corresponding problem of the device driver and the DCS system.
Key words : OPC;COM;communication protocol;data collection

   數(shù)據(jù)和信息是DCS監(jiān)督控制的基礎(chǔ),不僅來源于DCS現(xiàn)場控制層,還可來源于第三方設(shè)備和軟件。一個好的DCS監(jiān)控應用軟件應能提供廣泛的應用接口或標準接口,可方便地實現(xiàn)將DCS控制器、第三方PLC、智能儀表和其他工控設(shè)備的數(shù)據(jù)接入到系統(tǒng)中。一般監(jiān)控系統(tǒng)都把數(shù)據(jù)源看做外部設(shè)備,驅(qū)動程序與這些外部設(shè)備交換數(shù)據(jù),包括采集數(shù)據(jù)和發(fā)送數(shù)據(jù)/指令。
    在com/tags/OPC" title="OPC" target="_blank">OPC出現(xiàn)以前,應用程序開發(fā)商(DCS廠商)需要不斷地開發(fā)這些設(shè)備的驅(qū)動程序,不但帶來了大量重復性勞動,也帶來了很多問題。如硬件供應商在硬件上作出一些小小的改動,應用程序就可能需要重寫;同時由于不同設(shè)備甚至同一設(shè)備的不同單元驅(qū)動程序可能不同,很難同時對這些設(shè)備進行優(yōu)化操作。傳統(tǒng)的過程控制系統(tǒng)是一對一的系統(tǒng),任何一種DCS、SCADA、MES等上位監(jiān)控軟件或其他應用軟件在使用某種硬件設(shè)備時都需要開發(fā)專用的驅(qū)動程序,系統(tǒng)構(gòu)建完成后的最終結(jié)果是:
    (1) 一種軟件要使用N類硬件設(shè)備需要開發(fā)N個驅(qū)動程序。(2) M類軟件要使用N類硬件設(shè)備需要開發(fā)M×N個驅(qū)動程序。(3) 每增加一個新的應用軟件需要另外開發(fā)N個硬件設(shè)備的驅(qū)動程序。(4) 每增加一個新的硬件設(shè)備需要為M個軟件開發(fā)新的設(shè)備驅(qū)動程序。
    圖1是傳統(tǒng)工業(yè)控制驅(qū)動程序的開發(fā)示意圖。

    為了解決傳統(tǒng)工業(yè)控制開發(fā)中的問題,硬件制造商一直試圖開發(fā)出一種可以被任何客戶應用程序使用的超級“設(shè)備驅(qū)動”程序。但是由于設(shè)備通信協(xié)議的不一致性,這項工作一直較為困難。
    在此背景下,本文提出了一種基于OPC的DCS第三方設(shè)備數(shù)據(jù)采集系統(tǒng)(COMMOPC)的設(shè)計與實現(xiàn)方法。本方法在高度抽象各種通信方式和通信協(xié)議的基礎(chǔ)上,實現(xiàn)了DCS與各種第三方設(shè)備的通信功能。
1 OPC技術(shù)簡介
    OPC[1](OLE for Process Control)是用于過程控制的OLE(Object Linking and Embedding)技術(shù),它是世界上多個自動化公司、軟硬件供應商與微軟合作開發(fā)的一套工業(yè)標準,是專為在現(xiàn)場設(shè)備、自控應用、企業(yè)管理應用軟件之間實現(xiàn)系統(tǒng)無縫集成而設(shè)計的接口規(guī)范。這個標準使得COM技術(shù)適用于過程控制和制造自動化等應用領(lǐng)域。OPC以O(shè)LE、組件對象模型COM(Component Object Model)及分布式組件對象模型DCOM(Distributed COM)技術(shù)為基礎(chǔ),定義了一套適于過程控制應用,支持過程數(shù)據(jù)訪問、報警、事件與歷史數(shù)據(jù)訪問等功能的接口,便于不同供應商的軟硬件實現(xiàn)“即插即用”的連接與系統(tǒng)集成[2]。
    OPC規(guī)范采用客戶/服務器模型,建立了一套在硬件供應商和軟件開發(fā)商之間相互遵循的規(guī)則。只要遵循這套規(guī)則,數(shù)據(jù)交換對兩者來說都是透明的,硬件供應商無需考慮應用程序的多種需求和傳輸協(xié)議,軟件開發(fā)商也無需了解硬件的實質(zhì)和操作過程。圖2為使用OPC技術(shù)后工業(yè)程序的開發(fā)過程。

    基于OPC技術(shù)的系統(tǒng)構(gòu)建完成后的最終結(jié)果是:
  (1) M類軟件要使用N類硬件設(shè)備只需要開發(fā)N個驅(qū)動。
  (2) 每增加一個新的應用軟件不需要另外開發(fā)硬件設(shè)備的驅(qū)動程序。
  (3) 每增加一個新的硬件設(shè)備只需要為開發(fā)一個新設(shè)備的驅(qū)動程序。
    由此可見,任何一種設(shè)備只需要提供一種驅(qū)動就可以供任何軟件系統(tǒng)使用。
2 COMMOPC系統(tǒng)簡介
    基于OPC技術(shù)及多年驅(qū)動程序的開發(fā)背景,和利時公司開發(fā)了擁有自主專利的基于OPC的DCS第三方設(shè)備數(shù)據(jù)采集系統(tǒng)——COMMOPC。該系統(tǒng)是DCS、MES和RealMis等應用系統(tǒng)與現(xiàn)場設(shè)備之間的通用數(shù)據(jù)接口,實現(xiàn)對現(xiàn)場設(shè)備實時數(shù)據(jù)的訪問,可廣泛應用于企業(yè)自動化應用系統(tǒng)與現(xiàn)場設(shè)備之間的信息集成;可以把現(xiàn)場設(shè)備數(shù)據(jù)轉(zhuǎn)化成標準OPC數(shù)據(jù),供OPC Client訪問,實現(xiàn)對現(xiàn)場數(shù)據(jù)的集中管理,并以O(shè)PC接口的方式供上層應用軟件訪問。只要具有OPC Client功能的應用軟件即可實現(xiàn)對現(xiàn)場設(shè)備數(shù)據(jù)的訪問,通用性好。
    COMMOPC系統(tǒng)結(jié)構(gòu)如圖3所示,各個部分功能相對獨立又相互協(xié)作,形成一個統(tǒng)一的整體。

    COMMOPC系統(tǒng)IO驅(qū)動部分共有36種不同通信協(xié)議的第三方設(shè)備的設(shè)備驅(qū)動(由設(shè)備驅(qū)動開發(fā)包生成),由OPC Server與外部設(shè)備及應用系統(tǒng)交換數(shù)據(jù),包括采集數(shù)據(jù)和發(fā)送數(shù)據(jù)/指令,實質(zhì)上是實現(xiàn)各種通信協(xié)議向OPC標準協(xié)議的轉(zhuǎn)換功能。這樣,DCS就不需理會具體的設(shè)備和應用類型,而只通過OPC Client與OPC Server的數(shù)據(jù)交換就能實現(xiàn)與外部設(shè)備和應用系統(tǒng)的數(shù)據(jù)交換。
3 COMMOPC的主要功能
    COMMOPC系統(tǒng)主要提供三個功能:
    (1)界面功能。包括:特殊操作控制,控制密碼可修改;點名、路徑兩種標簽瀏覽方式,默認為點名方式;界面配置;對組配置信息的導入導出;保存配置信息;OPC客戶端調(diào)試工具;串口監(jiān)視工具;監(jiān)視通信過程信息;監(jiān)視實時通信數(shù)據(jù);顯示樹型列表;手動控制單個通道通信啟停;托盤顯示當前運行狀態(tài);提供測試版(測試版最多運行10小時);運行版,測試版通過授權(quán)后自動轉(zhuǎn)為運行版;版本顯示;配置備份及恢復;安裝時自動注冊O(shè)PC服務器功能。
    (2)通信功能。包括:支持OPC DA 1.0、DA 2.0規(guī)范,滿足應用同步、異步、訂閱任一種訪問方式OPC客戶端實現(xiàn)數(shù)據(jù)通信;支持OPC客戶端重連接;提供各通道、各設(shè)備狀態(tài)信息,這些信息點作為有效點供OPC客戶端訪問;提供通道冗余;提供通信診斷;36種驅(qū)動,驅(qū)動滿足:采集設(shè)備的開關(guān)量、模擬量功能;對設(shè)備遙控、設(shè)定值功能;可進行特殊配置;支持串口通信方式,可掛接串口設(shè)備;支持以太網(wǎng)TCP通信方式,可掛接以太網(wǎng)TCP設(shè)備;支持以太網(wǎng)UDP通信方式,可掛接以太網(wǎng)UDP設(shè)備;提供OPCServer、通道、設(shè)備的狀態(tài)供OPC客戶端訪問。
    (3)日志功能。包括:日志信息種類可配置功能;日志自動生成、維護功能。
4 COMMOPC的系統(tǒng)設(shè)計方法
4.1模塊組成及邏輯

    COMMOPC系統(tǒng)由OPC接口模塊、數(shù)據(jù)管理模塊、數(shù)據(jù)顯示模塊、通信管理和調(diào)度模塊、規(guī)約處理模塊、通信測試和診斷模塊、日志模塊等組成。其系統(tǒng)邏輯圖如圖4所示。

4.2 OPC地址空間的設(shè)計
 OPC服務器中包含了很多可供客戶訪問的資源,這些資源在OPC中被稱為項(Item)。為了方便客戶訪問,這些項應該按照一種合理的方式進行組織。服務器中的每個項都有一個全局有效標識名FID(Full qualified ID)。有了FID,客戶就可以找到該項,因此稱該全局有效標識名為該項的服務器地址(簡稱地址)。這種具有服務器地址的項按照一定的方式組織在一起,就形成了服務器的地址空間。服務器地址空間就是服務器上包含的可以供客戶訪問的資源的集合。服務器地址空間是由服務器確定和管理的,其描述了服務器中包含了哪些項,以及這些項是按照什么形式進行組織的。
   本文地址空間設(shè)計為4層目錄結(jié)構(gòu),如圖5所示。


   根對象(CRoot::m_Root)是4層目錄結(jié)構(gòu)的根,維護通道列表(ChannelList),所有的通道都可以通過m_Root找到;通道對象(CChannel::m_branches)是本系統(tǒng)地址空間的第1層,維護設(shè)備列表(DeviceList),每個通道都可以有n個設(shè)備;設(shè)備對象(CDevice::m_branches)是第2層,維護組列表(GroupList),組可以將標簽分為不同的類型;組對象(CGroup::m_tags)是第3層,維護標簽列表(TagList);標簽(CExTag)是最后一層地址空間,標簽對應具體設(shè)備的點。
    在OPC接口內(nèi)含有地址空間的根,用戶通過配置通道、設(shè)備、組及選擇組內(nèi)的點之后即可完成地址空間的建立。當?shù)刂房臻g建立后,OPC Client可以通過OPC接口訪問地址空間內(nèi)任意標簽點的值。標簽的地址格式為:ChName.DevName.GrpName.TagName。
4.3 設(shè)備驅(qū)動開發(fā)包的設(shè)計
    設(shè)備驅(qū)動開發(fā)包采用動態(tài)鏈接庫形式,不同通信協(xié)議的設(shè)備驅(qū)動程序都在開發(fā)包框架內(nèi)編寫。這樣可以提高設(shè)備驅(qū)動的開發(fā)效率,同時方便維護升級,設(shè)備驅(qū)動的修改不會影響軟件主體部分。
    利用設(shè)備驅(qū)動開發(fā)包可以開發(fā)各種通信協(xié)議的設(shè)備驅(qū)動模塊。規(guī)約處理是設(shè)備驅(qū)動模塊的核心任務,不同的通信協(xié)議對應著不同的設(shè)備驅(qū)動模塊。根據(jù)需求,設(shè)備驅(qū)動模塊以DLL的形式生成,模塊修改或者添加功能后,只需要覆蓋原模塊,不需要重新編譯主程序。設(shè)備驅(qū)動模塊的主要功能是從主程序得到所要請求的標簽的信息,然后打包發(fā)送給設(shè)備,從設(shè)備讀取應答、解析數(shù)據(jù),將相應的數(shù)據(jù)發(fā)送到數(shù)據(jù)管理和顯示模塊。如果OPC客戶端有控制命令,會發(fā)送給OPC服務器,OPC接口模塊將消息發(fā)送給設(shè)備驅(qū)動模塊,由設(shè)備驅(qū)動模塊進行打包,將命令報文發(fā)送給設(shè)備。
    設(shè)備驅(qū)動開發(fā)包生成的DLL形式的設(shè)備驅(qū)動模塊,如圖3驅(qū)動部分所示。

    本文在充分研究各種通信協(xié)議的基礎(chǔ)上,設(shè)計了COMMOPC系統(tǒng),對第三方設(shè)備的數(shù)據(jù)采集進行了統(tǒng)一及標準管理,該方法有很好的靈活性和擴展性。通過實際應用證明,該方法設(shè)計的數(shù)據(jù)采集系統(tǒng),不僅完全滿足了第三方設(shè)備數(shù)據(jù)采集的需求,還具有良好的穩(wěn)定性、靈活性和可維護性。
參考文獻
[1] The OPC of data access custom interface standard version 2.05, Dec 17,2001.OPC基金會,www.opcfoundation.org.2001.
[2] 潘愛民. COM原理與應用[M]. 北京:清華大學出版社,1999:50-63.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲永久免费观看| 久久久夜精品| 亚洲国产高清aⅴ视频| 亚洲一区二区在线播放| 日韩视频在线一区| 亚洲国内在线| 亚洲第一精品久久忘忧草社区| 国产香蕉97碰碰久久人人| 国产精品久久久久秋霞鲁丝| 欧美日韩免费在线观看| 欧美激情网站在线观看| 免费在线成人av| 嫩模写真一区二区三区三州| 蜜臀av一级做a爰片久久| 巨乳诱惑日韩免费av| 久久夜色精品国产噜噜av| 先锋影音网一区二区| 亚洲欧美在线aaa| 午夜亚洲精品| 久久av资源网站| 久久精品国产第一区二区三区| 久久精品日韩| 久久一区二区三区超碰国产精品| 久久久噜噜噜久久| 免费不卡视频| 欧美成人国产| 欧美日韩国产一区二区三区| 欧美日韩中文字幕| 国产精品视频观看| 国产日韩欧美综合一区| 国内精品福利| 亚洲国产日韩欧美在线图片| 亚洲激情不卡| 一区二区三区欧美在线| 亚洲男人天堂2024| 久久国产加勒比精品无码| 亚洲国产精品欧美一二99| 亚洲精品一区二区三区av| 一道本一区二区| 午夜精品在线视频| 久久人人精品| 欧美日韩成人一区| 国产精品免费网站在线观看| 国产日产欧产精品推荐色| 国内精品视频在线播放| 亚洲精品1234| 亚洲视频在线一区| 欧美一区二区三区日韩视频| 亚洲国产精品热久久| 中文日韩在线| 久久成人精品一区二区三区| 免费中文日韩| 欧美视频一区二区| 国产亚洲午夜| 亚洲精品久久久久久下一站| 亚洲一区精品电影| 亚洲国产成人不卡| 亚洲私人影院在线观看| 欧美中文字幕视频在线观看| 蜜桃av一区二区在线观看| 欧美日韩久久不卡| 国产午夜精品理论片a级探花| 亚洲第一偷拍| 亚洲一二三四区| 亚洲国产三级在线| 亚洲一区二区三区视频播放| 久久精品亚洲乱码伦伦中文 | 亚洲自拍高清| 猛干欧美女孩| 国产精品自拍三区| 亚洲黄色大片| 欧美在线电影| 亚洲综合精品| 欧美精品二区| 国模精品一区二区三区色天香| 一区二区高清在线| 亚洲国产日韩一级| 久久se精品一区二区| 欧美日韩三级电影在线| 精品999网站| 亚洲欧美日本另类| 中文国产一区| 欧美华人在线视频| 国产在线观看91精品一区| 一区二区三区精品国产| 亚洲经典在线| 久久久国产精品一区| 国产精品毛片大码女人| 亚洲欧洲日本专区| 久久国产精品亚洲77777| 午夜精品www| 欧美色视频一区| 亚洲精品1区| 亚洲黄色小视频| 久久久www成人免费精品| 国产精品大片wwwwww| 亚洲人www| 亚洲青色在线| 毛片基地黄久久久久久天堂| 国产亚洲综合性久久久影院| 亚洲一区二区av电影| 在线亚洲一区二区| 欧美精品一区二区在线播放| 在线播放日韩| 亚洲电影免费观看高清完整版| 欧美尤物一区| 国产精品一级| 亚洲在线观看视频网站| 亚洲一区欧美二区| 欧美日韩日本视频| 99国产精品视频免费观看一公开 | 一区二区三区精品久久久| 免费久久99精品国产自| 国产揄拍国内精品对白| 亚洲欧美一区二区精品久久久| 亚洲一区二区四区| 欧美日韩精品中文字幕| 日韩午夜在线电影| 亚洲手机成人高清视频| 欧美日韩精品久久久| 亚洲九九爱视频| 99精品国产在热久久| 欧美国产日本在线| 亚洲第一天堂av| 亚洲人成网站777色婷婷| 嫩模写真一区二区三区三州| 亚洲第一网站| 99在线视频精品| 欧美日韩一本到| 亚洲视频一二| 欧美一区二区三区视频在线观看| 国产精品素人视频| 亚洲综合另类| 久久精品视频网| 伊人婷婷久久| 日韩午夜电影| 国产精品第三页| 午夜欧美大片免费观看| 久久久久网站| 亚洲成在线观看| 99精品视频免费在线观看| 欧美日韩另类国产亚洲欧美一级| 一本大道久久a久久精品综合| 亚洲欧美日韩精品一区二区| 国产欧美日韩在线视频| 久久精品91久久久久久再现| 欧美18av| 日韩一级在线| 欧美一区2区视频在线观看| 国产一区二区三区直播精品电影| 亚洲国产精品成人| 欧美裸体一区二区三区| 中日韩男男gay无套| 久久精品国产综合| 亚洲国产成人av| 亚洲一区视频| 国产精品视频免费在线观看| 午夜精品免费| 欧美成人综合在线| 亚洲视频精选在线| 久久久青草青青国产亚洲免观| 亚洲国产色一区| 亚洲欧美激情一区| 国内视频一区| 亚洲午夜精品网| 国产综合视频| 一区二区三区免费在线观看| 国产欧美精品久久| 日韩视频免费在线观看| 国产精品网站一区| 亚洲精品国产系列| 国产精品手机视频| 亚洲另类自拍| 国产麻豆精品久久一二三| 亚洲美女尤物影院| 国产精品自在线| 亚洲免费电影在线| 国产香蕉97碰碰久久人人| 99精品视频一区| 国内精品伊人久久久久av一坑| 亚洲深夜福利网站| 黄色日韩在线| 午夜激情亚洲| 亚洲精品美女免费| 久久久国产精品亚洲一区| 一本色道久久综合一区 | 国产精品a级| 亚洲欧洲视频在线| 国产欧美日韩综合| 亚洲视频在线一区观看| 一区精品久久| 欧美在线观看天堂一区二区三区 | 亚洲夜晚福利在线观看| 樱桃成人精品视频在线播放| 亚洲欧美在线x视频| 亚洲精品一品区二品区三品区| 久久久久久久国产| 亚洲一区二区三区在线观看视频| 欧美韩日高清| 亚洲高清二区|