久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

OPC協(xié)議解析-OPC客戶端與服務(wù)器通訊解析

 行者花雕 2020-09-07

1      OPC服務(wù)器

OPC服務(wù)器, 是指按照OPC基金組織規(guī)定的OPC規(guī)范群開發(fā)的軟件驅(qū)動(dòng),。OPC服務(wù)器作為中間媒介負(fù)責(zé)從數(shù)據(jù)源讀取數(shù)據(jù)再跟另外一端的客戶端通信,。在 OPC客戶端/服務(wù)器 的結(jié)構(gòu)圖中, 通信的發(fā)起端是, 也只能是OPC客戶端,??蛻舳撕头?wù)器的對(duì)話是雙向的, 也就是說, 客戶端既可以從服務(wù)器讀出也可以向服務(wù)器寫入。

TOPC基金會(huì)定義了四種不同類型的OPC服務(wù)器,。他們分別是:

  • OPC數(shù)據(jù)訪問服務(wù)器(OPC DA) – 它基于 OPC數(shù)據(jù)訪問規(guī)范, 是一種為實(shí)時(shí)數(shù)據(jù)通訊特別定義的服務(wù)器類別,。
  • OPC歷史數(shù)據(jù)訪問服務(wù)器(OPC HDA) – 它基于OPC歷史數(shù)據(jù)訪問規(guī)范, 是用來給支持OPC歷史數(shù)據(jù)訪問規(guī)范的客戶端供給歷史數(shù)據(jù)的服務(wù)器。
  • OPC報(bào)警與事件服務(wù)器 (OPC AE) – 它基于OPC報(bào)警與事件訪問規(guī)范, 為支持OPC報(bào)警與事件規(guī)范的客戶端傳送報(bào)警與時(shí)間信息,。
  • OPC UA服務(wù)器 - 它基于OPC基金總會(huì)最新并且最先進(jìn)的UA規(guī)范,使得OPC服務(wù)器可以與任何數(shù)據(jù)形式兼容,。

總體來說, 前面三種是存在時(shí)間比較長(zhǎng)久且比較經(jīng)典的服務(wù)器類型, 但最后一款OPC UA服務(wù)器會(huì)隨著時(shí)間的推移成為今后OPC服務(wù)器的中流砥柱。

 

1)OPC客戶端與OPC服務(wù)器(OPC數(shù)據(jù)訪問服務(wù)器,、OPC歷史數(shù)據(jù)訪問服務(wù)器或OPC報(bào)警與事件服務(wù)器)的通信

OPC服務(wù)器是利用Microsoft Windows的 COM/DCOM技術(shù)作為數(shù)據(jù)交換的方式,。這就是說OPC服務(wù)器必須安裝在支持Microsoft Windows操作系統(tǒng)的PC上。一個(gè)OPC服務(wù)器可以同時(shí)跟多于一個(gè)的 OPC客戶端 通訊,。

2)OPC服務(wù)器 – 數(shù)據(jù)傳譯器

OPC服務(wù)器的一個(gè)關(guān)鍵作用就是將以數(shù)據(jù)源輸出形式傳送的數(shù)據(jù), 翻譯成支持之前提到的某一或多于一種的OPC數(shù)據(jù)訪問規(guī)范形式?。?!(比如說, OPC實(shí)時(shí)數(shù)據(jù)訪問規(guī)范),。OPC數(shù)據(jù)規(guī)范群只是定義了OPC服務(wù)器的OPC通訊模塊, 所以數(shù)據(jù)形式翻譯模塊的準(zhǔn)確性和高效性就完全取決于OPC服務(wù)器供應(yīng)商的開發(fā)方式。

3)OPC服務(wù)器與數(shù)據(jù)源的通信

OPC服務(wù)器和數(shù)據(jù)源用數(shù)據(jù)源支持的數(shù)據(jù)形式通信,。數(shù)據(jù)源可以是某個(gè)硬件設(shè)備, 某個(gè)控制器或者是某個(gè)應(yīng)用程序,。因?yàn)閿?shù)據(jù)源可以各種各樣, 而每一個(gè)不同形式的數(shù)據(jù)源又都用自己的通訊協(xié)議或者API可以通過多個(gè)物理通信方式(串行RS485, RS232, 以太網(wǎng), 無線通訊等)通信, 所以OPC數(shù)據(jù)規(guī)范群并沒有定義OPC服務(wù)器和數(shù)據(jù)源之間的交流法則,。 兩個(gè)關(guān)于OPC服務(wù)器和數(shù)據(jù)源通訊的最普遍的例子就是:

通過為一個(gè)為某數(shù)據(jù)源特別編寫的服務(wù)器的API;

通過一個(gè)可以是專屬于某一個(gè)數(shù)據(jù)源(請(qǐng)參見MatrikonOPC 霍尼韋爾TPS服務(wù)器),, 也可也是開放式(請(qǐng)參見MatrikonOPC Modbus服務(wù)器)的通信協(xié)議,。

 

2      實(shí)現(xiàn)與SIMATIC NET OPC DA通訊

OPC是Object Linking and Embedding(OLE)forProcess Control的縮寫,它是微軟公司的對(duì)象鏈接和嵌入技術(shù)在過程控制方面的應(yīng)用,。OPC以O(shè)LE/COM/DCOM技術(shù)為基礎(chǔ),,采用客戶/服務(wù)器模式,為工業(yè)自動(dòng)化軟件面向?qū)ο蟮拈_發(fā)提供了統(tǒng)一的標(biāo)準(zhǔn),,這個(gè)標(biāo)準(zhǔn)定義了應(yīng)用Microsoft操作系統(tǒng)在基于PC的客戶機(jī)之間交換自動(dòng)化實(shí)時(shí)數(shù)據(jù)的方法,,采用這項(xiàng)標(biāo)準(zhǔn)后,硬件開發(fā)商將取代軟件開發(fā)商為自己的硬件產(chǎn)品開發(fā)統(tǒng)一的OPC接口程序,,而軟件開發(fā)者可免除開發(fā)驅(qū)動(dòng)程序的工作,,充分發(fā)揮自己的特長(zhǎng),把更多的精力投入到其核心產(chǎn)品的開發(fā)上,。

 SimaticNet是西門子全集成自動(dòng)化系統(tǒng)中的一個(gè)重要組成部分,,它為完善的工業(yè)自動(dòng)化控制系統(tǒng)的通訊提供部件和網(wǎng)絡(luò),同時(shí)提供多個(gè)OPCServer,,為數(shù)據(jù)的外部訪問提供接口,,本文主要以O(shè)PC.SimaticNET為例說明。

90年代OPC基金會(huì)開發(fā)了一系列的通訊接口比如 Data Access (DA), Alarm & Events (A&E), Historical Data Access (HDA) and Data eXchange (DX),,統(tǒng)稱傳統(tǒng)OPC,。今天主要使用的OPC DA通訊方式,這個(gè)在1995年左右還是很流行的方法,,最近幾年OPC Foundation又開發(fā)了新的 OPC Unified Architecture (UA) 標(biāo)準(zhǔn),,更好的適應(yīng)了工業(yè)4.0。關(guān)于傳統(tǒng)OPC和OPC UA的區(qū)別,,后面會(huì)單獨(dú)來說,。

許多OPC服務(wù)器,包括OPC.SimaticNet,,是在COM平臺(tái)開發(fā)的,,從而對(duì)于基于.NET框架下的C#語言,作為客戶端程序語言訪問OPCServer,,需要解決兩個(gè)平臺(tái)間無縫遷移的問題,。OPC基金會(huì)對(duì)會(huì)員提供了OpcRcw動(dòng)態(tài)鏈接庫,OPC NET COM 包裝器和OPC NET API,,將OPC復(fù)雜的規(guī)范封狀成簡(jiǎn)單易用的C#類 ,,可以比較容易地實(shí)現(xiàn)數(shù)據(jù)訪問。

OPC主要包含兩種接口:CUSTOM標(biāo)準(zhǔn)接口和OLE自動(dòng)化標(biāo)準(zhǔn)接口,,自定義接口是服務(wù)商必須提供的,,而自動(dòng)化接口則是可選的,。

自定義接口是一組COM接口,主要用于采用C++語言的應(yīng)用程序開發(fā),;

自動(dòng)化接口是一組OLE接口,,主要用于采用VB,DELPHI,,Excel等基于腳本編程語言的應(yīng)用程序開發(fā),。本文是使用C#通過自動(dòng)化接口來實(shí)現(xiàn)的,也是最簡(jiǎn)單的方式,。

首先必須了解的是OPC服務(wù)器的對(duì)象模型:

 

程序中涉及到的重要方法和屬性比較多,,解釋下幾個(gè)容易搞混的:

OPCItem 對(duì)象的屬性ServerHandle,只讀屬性,,服務(wù)器提供給Item的句柄,,通過此句柄,Client可以定位到此Item,,來對(duì)此Item進(jìn)行后續(xù)的操作,,比如移動(dòng)刪除,;

OPCItem 對(duì)象的屬性ClientHandle,,可讀可寫屬性,客戶端分配給Item的句柄,,這個(gè)句柄可以手動(dòng)設(shè)置,,也可由.NET隨機(jī)選取的,不需要我們來設(shè)置,,并且每次運(yùn)行時(shí),,這

個(gè)句柄都不同,類似于TCP scoket通訊中的Client端分配的端口號(hào),。Server端必須指定端口號(hào),,Client端隨機(jī)生成,每次都不一樣,。

OPCGroup 對(duì)象的屬性的IsSubscribed,,可讀可寫屬性,Group的IsSubscribed為True,,此Group才能開始接受服務(wù)器的數(shù)據(jù)屬性,,此Group才能被訂閱。

OPCGroup 對(duì)象的事件DataChange (TransactionID As Long, NumItems As Long, ClientHandles() As Long,ItemValues() As Variant, Qualities() As Long, TimeStamps() As Date)需要注意的是NumItems參數(shù)是每次事件觸發(fā)時(shí)Group中實(shí)際發(fā)生數(shù)據(jù)變化的Item的數(shù)量,,而不是整個(gè)Group里的Items.

OPCGroup 對(duì)象的屬性UpdateRate,,可讀可寫屬性,規(guī)定了數(shù)據(jù)刷新的周期,,單位milliseconds.注意的是,,不是設(shè)定多少ms,,實(shí)際就是多少,比如給定53ms,OPC server會(huì)就近選擇50ms.有區(qū)間劃分的,。

從整體上說下OPC DA的協(xié)議規(guī)范,,OPC DA是在WINDOWS的COM/DOM技術(shù)上定義的接口定義,在TCP IP七層模型的最高層應(yīng)用層,,決定了它必須運(yùn)行在WINDOWS平臺(tái),,不能夠跨平臺(tái),靈活性和安全性不如OPC UA,,因?yàn)镺PC DA的會(huì)話層和表示層用戶是有權(quán)利來使用的,。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多