999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于OPC技術的DCS數據獲取的實現方法

2018-05-14 13:45:46韓萌萌任帥男
科技風 2018年5期

韓萌萌 任帥男

摘 要:介紹了基于OPC技術的DCS數據獲取的原理和方法,結合實際敘述了上位機軟件DCS與OPC服務器之間的通信以及OPC服務器與OPC客戶端之間的通信,重點給出了關鍵程序示例。在OPC數據交換接口的基礎上,后續的上層應用系統的開發變得簡捷高效。

關鍵詞:OPC技術;數據獲取;DCS

中圖分類號:TP273 文獻標識碼:A

隨著企業信息化建設的投資比例增大,許多企業為了實現不同生產裝置的DCS系統和數據采集接口之間的數據通訊,解決生產管理過程中的上層監控與底層控制脫節的問題,提高企業生產效益,OPC技術應運而生。OPC作為軟件和硬件之間數據通信的橋梁,是一種標準。本文應用了OPC技術規范作用于DCS系統實現數據獲取的目的。

1 OPC技術

OPC(OLE for Process Control),是微軟公司以COM/DCOM技術為基礎,采用客戶端/服務器模式,開發出的應用于控制領域的一種工業標準。針對當前工業控制領域不同生產裝置互相通信的要求,OPC為其制定了完整的編程接口屬性和方法,這就為不同設備包括軟硬件之間的交互訪問提供了依據[1]。

OPC既可以應用于本地PC機,同時也支持網絡內不同應用程序間包括跨平臺應用程序間的通訊,實現了硬件設備與系統軟件之間實時通訊。該規范的基本思想是:由支持OPC接口的硬件廠商開發對應其硬件設備的OPC服務器,負責獲取硬件設備生產的數據并暫存;OPC客戶端,即支持OPC接口的系統軟件就可以通過連接OPC服務器來讀寫之前獲取到的數據。OPC連接模式如下圖所示。

OPC服務器支持兩種類型的數據訪問接口:自動化接口(Automation interface);定制接口(Custom interface)。兩種接口定義了OPC客戶端和OPC服務器之間進行通訊的方法。用戶可以自己編寫OPC客戶端程序,在客戶端程序中調用OPC服務器對象接口及對應的方法來訪問OPC服務器讀寫數據。

一個OPC數據訪問服務器中包含3類對象模型,OPC服務器(Server)、OPC組(Group)、OPC項(Item)。它們之間的聯系是Server對象維護有關服務器的信息并作為Group對象的容器,而Group對象維護有關其自身的信息,提供包容Item對象的機制,并管理Item對象[2-3]。

2 OPC客戶端程序的設計開發

這里采用了Java語言編寫的開源項目J-Interop和Utgard實現OPC客戶端[4]。

2.1 Utgard

Utgard屬于Openscada開源項目,基于J-Interop做的,純Java語言編寫,具有跨平臺的特點,用于和OPC Server進行通訊。Openscada可以很好的實現與OPC服務器的連接以及讀寫數據的功能,并且可以隨時獲取和修改OPC的Server和Item的屬性狀態信息等。而J-Intgard是純Java封裝的用于COM/DCOM通訊的開源項目。需要注意的是,在使用Utgard之前需要配置好服務器端的DCOM組件。

2.2 使用Utgard訪問OPC server

開發步驟及相應代碼大致為:

(1)導入關鍵jar包。

(2)編寫配置文件,設置連接服務器的主機用戶密碼等信息。

(3)遍歷當前所連接的服務器上所有支持OPC DA2.0規范的OPC服務器應用。

(4)創建ConnectionInformation類。

final ConnectionInformation ci = new ConnectionInformation();

ci.setHost(host);

ci.setClsid(serverList.getClsIdFromProgId ("Matrikon.OPC.Simulation"));

ci.setUser(user);

ci.setPassword(password);

其中通過Clsid的方式查找OPC Server更快,但如果事先不知道clsid,也可以通過ServerList類的getClsIdFromProgId方法來查詢相應OPC

Server名稱的Clsid。

(5)創建Server類并連接:ScheduledExecutorService exec = Executors.newSingleThreadScheduledExecutor();

Server server = new Server(ci, exec);

server.connect();

(6)Utgard有兩種數據訪問方式——直接通過item的read/write方法或者使用AccessBase(讀取數據)。需要注意的是,不管采用哪一種方式,返回結果都是通過ItemState類來獲取,通過調用ItemState的getValue方法可以獲得訪問結果,返回結果是JIVarant類型的,里面包含了OPC訪問時的各種類型及處理方法。

按照上述方法步驟,使用Utgard連接至OPC服務器,然后使用Async20Access類隔時間段地進行異步讀取數據。客戶端程序在Windows下和Linux下均能成功連接OPC Server,并獲取到數據。

3 結語

本文給出了利用OPC技術實現DCS數據獲取的方法,基于Java語言成功開發出OPC客戶端并實現跨平臺連接OPC服務器。這一構建方法為工業領域上層應用系統的開發提供了一種有效途徑[5]。

參考文獻:

[1]胡強,趙英凱.OPC技術在DCS與工廠管理網數據通訊中的應用[J].工業儀表與自動化裝置,2002(03):25-28.

[2]王燕,王健.OPC接口技術在DCS數據交換中的應用[J].微計算機信息,2010,26(31):48-49+37.

[3]晏明軍.基于Java的OPC客戶端的實現[J].電子技術,2010,47(07):56-57.

[4]孫亮清.用Java實現OPC客戶端[J].上海船舶運輸科學研究所學報,2011,34(01):34-37.

[5]謝鵬華,牛昱光.DCS遠程監控實驗教學系統的OPC技術實現方法[J].太原理工大學學報,2011,42(02):149-154.

主站蜘蛛池模板: 日本手机在线视频| 国产高清又黄又嫩的免费视频网站| 囯产av无码片毛片一级| 欧美激情第一区| 亚洲成a∧人片在线观看无码| 91精品啪在线观看国产60岁| 国产不卡网| 欧美成人精品一级在线观看| 色综合天天操| 91精品国产一区自在线拍| 久久国产精品国产自线拍| 蜜桃臀无码内射一区二区三区| 国产裸舞福利在线视频合集| 97se亚洲综合在线韩国专区福利| 欧洲成人在线观看| 亚洲高清中文字幕| 超清人妻系列无码专区| 精品人妻系列无码专区久久| 欧美日韩国产在线播放| 国产精品免费电影| 免费毛片网站在线观看| 欧美自拍另类欧美综合图区| a级毛片一区二区免费视频| 亚洲不卡网| 欧美成在线视频| 亚洲人成影院在线观看| 国产一区自拍视频| 日本精品αv中文字幕| 中文字幕无码av专区久久| 日韩国产高清无码| 精品三级在线| 欧美 亚洲 日韩 国产| 麻豆AV网站免费进入| 蝌蚪国产精品视频第一页| 九色在线观看视频| 在线无码私拍| 91成人在线免费视频| 香蕉久人久人青草青草| 亚洲第一精品福利| 国产特一级毛片| 在线视频亚洲色图| 天堂网亚洲系列亚洲系列| julia中文字幕久久亚洲| 午夜精品福利影院| 高清国产va日韩亚洲免费午夜电影| 国产成人永久免费视频| 99久久国产综合精品2020| 尤物午夜福利视频| 毛片免费高清免费| a毛片基地免费大全| 日韩毛片免费观看| 日本一区二区不卡视频| 国产国产人免费视频成18| 免费中文字幕在在线不卡| 中文字幕佐山爱一区二区免费| 亚洲第一综合天堂另类专| 亚洲av日韩av制服丝袜| 国产精品污污在线观看网站| 国产视频大全| 成人在线视频一区| 国产精品尹人在线观看| 欧美国产视频| 欧美一级在线播放| 国产第八页| 久久精品娱乐亚洲领先| 91精品专区| 精品久久蜜桃| 国产日韩欧美中文| 亚洲中文字幕无码mv| 一本大道香蕉中文日本不卡高清二区| 在线看片中文字幕| 亚洲男人的天堂在线观看| 国产成人久久综合777777麻豆| 91精品视频网站| 国产SUV精品一区二区| 中文纯内无码H| 全免费a级毛片免费看不卡| 亚洲国产日韩欧美在线| 亚洲一区二区三区麻豆| 成人精品午夜福利在线播放| 国产成人精品午夜视频'| 激情成人综合网|