更新内容:
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 視訊示範
1.
[連載]《C#通訊(序列槽和網絡)架構的設計與實作》2.[
開源]C#跨平台物聯網通訊架構ServerSuperIO(SSIO)介紹2.
應用SuperIO(SIO)和開源跨平台物聯網架構ServerSuperIO(SSIO)建構系統的整體方案3.
C#工業物聯網和內建系統解決方案的技術路線(資料源、資料采集、資料上傳與接收、ActiveMQ、Mongodb、WebApi、手機App)5.ServerSuperIO開源位址:
https://github.com/wxzz/ServerSuperIO物聯網&內建技術(.NET) QQ群:54256083
下載下傳位址:
http://www.bmpj.net/thread-14-1-1.html