1. 程式人生 > >《連載 | 物聯網框架ServerSuperIO教程》- 18.整合OPC Client,及使用步驟。附:3.5 釋出與更新說明。

《連載 | 物聯網框架ServerSuperIO教程》- 18.整合OPC Client,及使用步驟。附:3.5 釋出與更新說明。

更新內容:
1.增加OPC Client功能模組。以及增加OPC Client的服務介面。
2.優化實時資料庫介面,支援批量寫入資料,以及提高執行效率。
3.優化ServerSuperIO的核心程式碼。
4.完善配置工具。
5.增加OPC Server測試工具,在ServerSuperIO 3.5版本的“OPC工具和元件”目錄下。

目       錄

18.整合OPC Client,及使用步驟... 2

18.1        概述... 2

18.2        ServerSuperIO的OPC Client使用過程... 2

18.2.1       OPC服務端測試工具,並建立測點... 2

18.2.2       使用配置工具,配置基本資訊和讀取的測點... 3

18.2.3       開啟實時資料庫服務... 5

18.2.4       執行UI程式或控制檯程式... 5

18.3        注意事項... 6

18.4        應用擴充套件... 7

18.5        視訊演示... 7

18.整合OPC Client,及使用步驟

18.1     概述

     OPC是以C/S結構存在且廣泛應用在工業領域的協議,在《16.整合OPC Server,及使用步驟》簡要的介紹了OPC的基本情況。一般OPC Server端向外提供可讀資料資訊的介面,例如:ServerSuperIO的裝置驅動讀取上來的測點資料可以直接寫到OPC Server中;OPC Client端主動連線OPC Server,並且通過同步、非同步、資料變化的事件等方式讀取服務端的資料資訊。OPC Server與OPC Client是多對多的關係,OPC Server可以為多個OPC Client提供資料來源,OPC Client也可以讀取多個OPC Server的資料資訊。

     OPC Client作為採集資料資訊的一種方式,所以ServerSuperIO集成了此項服務,它是以服務的形式存在,有別於裝置驅動採集硬體資料的方式。整合OPC Client服務只涉及到使用過程,不涉及到程式碼開發的問題,只需要配置就可以把讀取過來的資料直接儲存到實時資料庫中。

18.2     ServerSuperIO的OPC Client使用過程

   18.2.1 OPC服務端測試工具,並建立測點

    在ServerSuperIO v3.5版本的“OPC工具和元件\OPC Server測試工具”目錄中可以找到OPC Server的測試工具,開啟工具可以建立OPC測點及動態生成資料。如下圖:

 

   18.2.2 使用配置工具,配置基本資訊和讀取的測點

     需要對【基本配置】選單的內容進行設定,主要引數包括:(1)寫入實時資料庫的表名稱,可以填寫已經存在的表名稱。(2)設定讀取資料的間隔時間,適用於同步和非同步讀取資料的方式。(3)設定讀取資料的方式,當服務端資料發生變化時自動觸發讀資料事件、同步讀取資料和非同步讀取資料三種方式。(4)設定是否把讀取過來的資料儲存到實時資料庫,如果需要儲存,那麼就要對實時資料庫的配置資訊進行正確設定。(5)是否開啟OPC Client服務,如果開啟的話,那麼基於ServerSuperIO二次開發的宿主程式會具備此項服務,二次開發套件同樣具備這專案服務。


 

     開啟【OPC Client配置】選單,把OPC Server提供的測點資料按服務、組別和標籤的層次關係讀取過來,並對當前的配置資訊進行儲存,ServerSuperIO主程式啟動後會自動讀取資料資訊。如下圖:

 

18.2.3 開啟實時資料庫服務

     下載“實時資料庫安裝包及二次開發包.rar”(下載地址)並進行安裝,安裝之後有服務管理器和企業管理器,如下圖:

18.2.4 執行UI程式或控制檯程式

      “ServerSuperIO.UI.exe”和“ServerSuperIO.Host.exe”是二次開發套件中的兩個主程式,啟動任意一個程式都會自動完成整個流程的設定功能。如下圖:

 

主程式

實時資料庫

18.3     注意事項

      如果OPC Server端建立的測點名稱為“Random.Tag1”,那麼儲存到實時資料庫的名稱變為“RandomTag1”,把“.”點去掉了,主要考慮到各元件之間的相容性的問題。

18.4     應用擴充套件

     OPC Client本身是一個獨立的服務元件,那麼一個獨立的服務元件是如何與ServerSuperIO進行整合呢?框架本身提供ServerSuperIO.Service. IService服務介面,把OPC Client元件整合到IService介面的實體類中,ServerSuperIO框架會自動例項化IService介面物件。

    類似其他的服務也可以這樣搞,例如:從其他資料來源讀取資料、模擬量的輸出、LED顯示的輸出等等。IService介面的定義如下:

public interface IService : IServiceConnector,IPlugin
{
        /// <summary>
        ///     服務Key,要求唯一
        /// </summary>
        string ServiceKey { get; }
 
        /// <summary>
        ///     服務名稱
        /// </summary>
        string ServiceName { get;}
        ……
}

18.5     視訊演示

物聯網&整合技術(.NET) QQ群54256083