博客專欄

        EEPW首頁 > 博客 > 工業通信OPC協議的內容術語介紹和使用

        工業通信OPC協議的內容術語介紹和使用

        發布人:vfbox301 時間:2023-12-28 來源:工程師 發布文章


        1          Opc協議說明

        OPC是一種利用微軟的COM/DCOM技術來達成自動化控制的協定,

        采用典型的C/S模式,

        針對硬件設備的驅動程序由硬件廠商完成,提供統一OPC接口標準的Server程序,

        軟件廠商只需按照OPC標準接口編寫Client程序就訪問Server程序進行讀寫,即可實現與硬件設備的通信。

        OPC協定包括:

        DA(Data Access)規范:訪問數據主要采用該規范

        A&E(Alarm and Event)規范:基于事件,提供Client端訂閱,事件觸發后Server端主動提交回數據的數據訪問方式。

        HDA(History data access)規范

        OPC XML-DA規范

        2          OPC UA

        OPC UA(Unified Architecture):OPC協定的新版,

        不再拘束于COM/DCOM技術,意味著不再像傳統的(Classic)OPC協定那樣僅支持在Windows等平臺上使用,具有跨平臺性,同時OPC UA也使用了可靠的通信機制,接口簡單一致。

        比如:對傳統的三種不同類型OPC服務器的訪問 - 數據訪問(DA)、報警和事件(AE)、歷史數據訪問(HDA),

        要獲得一個溫度傳感器的當前值、一個高溫度事件和溫度的歷史平均值,要依次使用不同的命令執行;

        而使用OPC UA,僅用一個組件就非常容易地完成了。配置和工程的時間也因此可以大大縮短。

         

        3          OPC邏輯對象模型

        包括3類對象:OPC server對象、OPC group對象、OPC item對象,每類對象都包括一系列接口。

        OPC Server對象:

        主要功能:

        創建和管理OPC Group對象;

        管理服務器內部的狀態信息。

        OPC Group對象:

        主要功能:

        管理OPC Group對象的內部狀態信息;

        創建和管理Items對象;

        OPC服務器內部的實時數據存取服務(同步與異步方式)。

        屬性:

        name:組的名字,由客戶端自己定義。

        active:組的激活狀態,如果為false則組內全部Item將不再從數據源取數據,在客戶端中的表現是讀取不到數據,同時寫數據也影響不到服務器端。

        update rate:服務器向客戶端提交變化數據的更新速率(這個數值應比服務器設定的最小值大)。

        Percent Dead band:數據死區,即能引起數據變化的最小數值百分比。

        OPC Item對象:

        主要功能:

        用來描述實時數據,代表了與服務器數據源的連接,而不是數據源。

        一個項不能被OPC客戶端訪問,因此在OPC規范中沒有對應于項的COM接口,所有對項的訪問都需要通過OPC Group對象來實現。

        屬性:

        name:項的名稱,在服務器對應于Item ID。

        active:項的激活狀態。

        value:項的數據值。

        quality:項的品質,代表數值的可信度。

        Timestamp:時間戳,代表數據的存取時間。

        注:

        1.Item的存儲類型————VARIANT(編寫程序時使用的主要也是它)

        2.Item的數據類型(VARTYPE):

        圖片.png

        3.Item的Alias:項的別名,由服務器設置,避免了項名稱過長所帶來的麻煩。

        4.Group類型:公共組和私有組。公共組由多個客戶共享,私有組只屬于某一OPC客戶。公共組對連接到服務器的所有客戶都有效,而私有組只能對建立它的客戶程序有效。(大多服務器未實現有公共組)

        5.Item在服務器端定義,對應于硬件實際地址,客戶端連接服務器端后創建并添加OPC Group,并創建一系列OPC Item(連接到服務器端定義的Item),將邏輯上等價的一組OPC Item添加到OPC Group中才能通過組對象來對數據進行存取操作。

         

        4          OPC通信:

        同步通信:OPC客戶端對OPC服務端進行讀取操作時,OPC客戶端必須等到OPC服務器端完成對應操作后才能返回,在此期間OPC客戶端處于一直等待的狀態。

         

        異步通信:OPC客戶端對OPC服務器端進行讀取操作時,OPC客戶端發送請求后立即返回,不用等待服務器端,當OPC服務器端完成操作后再通知客戶端程序。

         

        訂閱:需要服務器端支持OPC A&E規范,由客戶端設定數據的變化限度,如果數據源的實時數據變化超過了該限度,服務器則通過回調返回數據給客戶端。

        5          OPC客戶端開發大致步驟

        COM組件初始化;

        創建服務器Server對象;

        創建組Group對象;

        創建項Item對象;

        添加Item到Group中;

        添加Group到Server對象中;

        連接服務器(這里的順序與具體實現有關),完成相應操作;

        COM組件關閉

         

        6          使用VFbox網關把opc轉換modbus協議的方案

        在實際的工程項目中,經常會遇到需要把OPC UA DA的協議轉換成其他協議,比如modbus,profinet等。有時也需要把modbus轉成OPC UA DA接入到OPC UA DA系統,這時候就需要使用協議轉換網關進行轉換。如下圖所示,使用vfbox網關,把modbus協議轉換成OPC UA DA協議。

         圖片.png


         

         


        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: OPC UA DA 協議

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 武山县| 屯昌县| 兰坪| 滨海县| 铁岭市| 南开区| 台山市| 大荔县| 霍州市| 南昌市| 娄底市| 蓬安县| 澄江县| 庄浪县| 安平县| 呼伦贝尔市| 怀安县| 普洱| 德江县| 景洪市| 马关县| 东至县| 花莲县| 获嘉县| 朝阳县| 景洪市| 华安县| 新宾| 义马市| 漾濞| 怀远县| 西吉县| 鹤壁市| 建水县| 孟连| 左云县| 建平县| 宁乡县| 华容县| 湘阴县| 正阳县|