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

使用C#開發OPCClient的研究和應用

2013-01-01 00:00:00張曉科
科技資訊 2013年2期

摘 要:本文詳細介紹了OPC的各種特性,和使用c#開發OPC Client的具體過程以及在實際工程中的應用。

關鍵詞:OPC c# DCOM

中圖分類號:TP3 文獻標識碼:A 文章編號:1672-3791(2013)01(b)-0033-02

1 OPC和C#概述

1.1 OPC概述

OPC(OLE for Process Control)是一種利用微軟的 COM/DCOM 技術來達成自動化控制的協議,根據 OPC Specification 的定義,OPC is "a standard mechanism for communicating to numerous data sources, either devices on the factory floor, or a database in a control room."

現代化企業中自動化程度越來越高,數據量也在成倍增長,為了能夠充分利用這些數據,發展出了ERP/MES等信息化系統,這些系統架構大體如圖1。

OPC協議做為一種通訊轉換協議,介于下層控制系統與上層軟件之間;它隱藏下層系統的不同,為上層的數據應用提供一個統一的接口,使得上層軟件在數據集成時,無需考慮下層控制系統的協議和實現方式,只要符合OPC客戶端的接口規范即可,這大大節省了上層軟件在數據集成方面的工作。

OPC發展至今已有1.0、2.0、3.0等幾個版本,在目前工業自動化中以2.0使用最為廣泛。

1.2 C#概述

C#(念法:C Sharp,音標[∫a:p])是微軟公司在2000年6月發布的一種新的編程語言,并在微軟職業開發者論壇(PDC)上登臺亮相。C#是微軟公司研究員Anders Hejlsberg的研究成果。C#看起來與Java有著驚人的相似;但是C#與Java也有著明顯的不同,它借鑒了Delphi的一個特點,與COM(組件對象模型)是直接集成的,而且它是微軟公司.NET windows網絡框架的主角。

C#旨在設計成為一種“簡單、現代、通用”,以及面向對象的程序設計語言。此種語言的實現,應提供對于以下軟件工程要素的支持:強類型檢查、數組維度檢查、未初始化的變量引用檢測、自動垃圾收集(Garbage Collection,指一種自動內存釋放技術)。軟件必須做到強大、持久,并具有較強的編程生產力。

C#適合為獨立和嵌入式的系統編寫程序,從使用復雜操作系統的大型系統到特定應用的小型系統均適用。

2 使用C#開發OPC Client

2.1 OPC工作原理

OPC技術是基于微軟的COM/DCOM技術的,COM是一種發展軟件組件的方法,所謂組件,是指一個可以提供給其它組件或程序服務的二進制可執行程序。每一個開發好的COM組件就像一塊積木,在開發應用程序時,你可以選擇合適的組件來組成你的應用程序,而不需要從頭開發所有的源代碼。為使用組件的功能,每個COM組件都提供了一系列的接口,使用者通過這些接口,傳遞相應的參數,即可實現相應的功能。

OPC基于COM技術,在OPC的規格中定義了使用所需要的接口;OPC客戶端通過這些接口,連接到OPC Server以采取數據。這就是OPC Server/Client的運行方式。(如圖2)

OPC Server透過一組一組的接口提供服務,在實際應用中,OPC Server共分為三層:分別是OPCServer,OPCGroup,和OPCItem。

OPCItem即對應自動化控制系統中的一個點,包括外部點或系統內部點,可以是模擬量也可以是開關量;OPCGroup是OPCItem的一個集合,這個集合中一般包含了同一類型的OPCItem;而OPCServer則是OPCGroup的集合,它包含一個或多個OPCGroup。

2.2 實現過程

首先,需要在c#中添加對OPC自動化接口OPCAutomation的引用,該文件是OPC基金會提供的OPC自動化接口標準文件。只有在引用該文件后,方可在c#中對OPC接口進行訪問。

在定義完這些對象后,下面就需要進行連接OPC Server了。要連接到OPC Server,需要首先查看要連接的OPC Server所在計算機的IP地址以及在該計算機上注冊的名稱;OPCServer注冊名稱的查看方法是在運行中輸入“DCOMCNFG”—“組件服務”—“計算機”—“我的電腦”—“DCOM配置”下查找,也可以通過OPCServer的供應商找到。例如西門子WinCC中的OPCServer的注冊名稱是OPCServer.WinCC;和利時MACSV系統的OPCServer的注冊名稱是Hollysys.MacsOPCSvr.1。

在明確了要連接的OPCServer的注冊名稱及所在的計算機的IP地址后,我們就可以使用。

當OPCServer端的Item的數值產生變化時,將會以Group1_DataChange()事件來通知Client,同時將發生變化的Item的個數、變化的數值、時間標簽、客戶端句柄等信息發回,用戶可在該事件中對變化的數值進行處理。

這是稱之為異步讀的方式,還有一種同步讀取數據的方式,如以下代碼所示: Group1.OPCItems.Item(i).Read(1, out Value, out Quality, out TimeStamp)

這句代碼就是以同步讀取方式的方式將Item(i)的值、數據質量和事件標簽從OPCServer端讀取出來。

2.3 DCOM配置

因為OPC是基于微軟的COM技術,如果OPC Server和Client不在同一個計算機時,就需要對Server和Client所在的兩臺計算機分別做DCOM設置,才能實現數據互通,否則Client將不能正常訪問到Server。

配置DCOM,依據系統的不同需要做不同的配置。但是通用的原則是在Server和Client所在的兩臺計算機上首先需要保證能夠互相訪問到共享文件夾,然后在各自的計算機上增加一個密碼不為空,并且用戶名和密碼都相同的用戶。另外需要在DCOM配置屬性中添加上everyone的訪問權限,以實現Client的連接。同時需要注意的是,如果已啟用防火墻軟件,則需要在所有的防火墻中添加例外,防止防火墻對OPC的阻塞。

3 結語

使用c#開發OPC Client相比其它工具而言,比較方便而且快捷,而且在穩定性和數據讀取的速度上,也有不小的優勢。我們開發的這個Client,通過在實際項目中的應用,已經完全證實了其可靠性,并且實現了一個Client同時讀取四個不同的OPCServer,總點數大概5000點的項目。

OPC依靠它自身的功能和簡便,使其迅速發展壯大,并占據了主流的位置,今后對于OPC的應用,將會越來越多,越來越普遍。

主站蜘蛛池模板: 成年人国产网站| 美女无遮挡免费网站| 欧美午夜久久| 精品人妻一区无码视频| 亚洲综合狠狠| 三上悠亚一区二区| 国产鲁鲁视频在线观看| 国产成人亚洲精品无码电影| 一级片一区| 国产精品自在线天天看片| 免费一级毛片在线播放傲雪网| 欧美激情网址| 亚洲天堂区| 制服丝袜国产精品| 色综合久久久久8天国| 亚洲综合欧美在线一区在线播放| 欧美午夜一区| 国产网站黄| 久久这里只有精品8| 成年女人a毛片免费视频| 亚洲av综合网| 国产精品一线天| 久久99热66这里只有精品一| 国产青青草视频| 国产麻豆福利av在线播放| 色欲国产一区二区日韩欧美| 日韩精品高清自在线| 免费高清毛片| 91视频国产高清| 再看日本中文字幕在线观看| 国产乱子伦视频在线播放| 久久精品无码一区二区日韩免费| 午夜福利网址| 欧美国产视频| 婷婷六月在线| 精品国产女同疯狂摩擦2| 99视频有精品视频免费观看| a在线观看免费| 亚洲天堂视频在线观看免费| 四虎免费视频网站| 亚洲精品国产综合99| 国产白浆在线观看| 成年人午夜免费视频| 国产一级精品毛片基地| 国产小视频免费观看| 国产在线观看人成激情视频| 超清无码熟妇人妻AV在线绿巨人| 国产日韩久久久久无码精品| 伊人色在线视频| 午夜a视频| 国产一在线观看| 精品久久香蕉国产线看观看gif | 中文成人无码国产亚洲| 亚洲第一精品福利| 狂欢视频在线观看不卡| 91探花在线观看国产最新| 日韩无码视频网站| 亚洲日韩国产精品综合在线观看| 国产jizzjizz视频| 久草中文网| 国产在线观看成人91| 久久人与动人物A级毛片| 午夜日b视频| 精品久久久久成人码免费动漫| 亚洲狠狠婷婷综合久久久久| 欧美人人干| 国内精品自在欧美一区| 日韩黄色大片免费看| 欧美日一级片| 免费国产高清视频| 日韩久久精品无码aV| swag国产精品| 久久性妇女精品免费| 精品欧美日韩国产日漫一区不卡| 亚洲国产亚综合在线区| 免费人成在线观看成人片| 在线a网站| 亚洲av无码牛牛影视在线二区| 日韩123欧美字幕| 不卡网亚洲无码| 91小视频在线观看| 91成人在线观看|