1.C#跨平台物聯網通訊框架ServerSuperIO(SSIO)介紹
《連載 | 物聯網框架ServerSuperIO教程》1.4種通訊模式機制。
《連載 | 物聯網框架ServerSuperIO教程》2.服務實例的配置參數說明
《連載 | 物聯網框架ServerSuperIO教程》- 3.設備驅動介紹
《連載 | 物聯網框架ServerSuperIO教程》-4.如開發一套設備驅動,同時支持串口和網絡通訊。
《連載 | 物聯網框架ServerSuperIO教程》- 5.輪詢通訊模式開發及注意事項。
《連載 | 物聯網框架ServerSuperIO教程》- 6.並發通訊模式開發及注意事項
《連載 | 物聯網框架ServerSuperIO教程》- 7.自控通訊模式開發及注意事項
《連載 | 物聯網框架ServerSuperIO教程》- 8.單例通訊模式開發及注意事項
《連載 | 物聯網框架ServerSuperIO教程》- 9. 協議過濾器,解決一包多發、粘包、冗余數據
《連載 | 物聯網框架ServerSuperIO教程》- 10.持續傳輸大塊數據流的兩種方式(如:文件)
《連載 | 物聯網框架ServerSuperIO教程》- 11.實現設備(驅動)與設備(驅動)交互和級聯控制。
《連載 | 物聯網框架ServerSuperIO教程》- 12.服務接口的開發,以及與雲端雙向交互
《連載 | 物聯網框架ServerSuperIO教程》- 13.自定義視圖顯示接口開發,滿足不同的顯示需求
《連載 | 物聯網框架ServerSuperIO教程》- 14.配制工具介紹,以及設備驅動、視圖驅動、服務實例的掛載
《連載 | 物聯網框架ServerSuperIO教程》- 15.數據持久化接口的使用
《連載 | 物聯網框架ServerSuperIO教程》- 16.OPC Server的使用步驟
目 錄
17.支持實時數據庫,高並發保存測點數據... 2
17.1 概述... 2
17.2 ServerSuperIO與實時數據庫對接... 4
17.2.1 繼承動態接口,並設置持久化器... 4
17.2.2 增加設備驅動... 5
17.2.3 配制標簽屬性... 6
17.2.4 安裝實時數據庫... 7
17.2.5 配置實時數據庫參數... 7
17.2.6 運行程序... 8
17.3 注意事項... 8
17.4 視頻演示... 8
17.支持實時數據庫,高並發保存測點數據
17.1 概述
實時數據庫系統是開發實時控制系統、數據采集系統等的后台支撐軟件。大量使用實時數據庫系統進行控制系統監控,系統先進控制和優化控制,並為企業的生產管理和調度、數據分析、決策支持及遠程在線瀏覽提供實時數據服務和多種數據管理功能。實時數據庫已經成為企業信息化的基礎數據平台,可直接實時采集、獲取企業運行過程中的各種數據,並將其轉化為對各類業務有效的公共信息,滿足企業生產管理、企業過程監控、企業經營管理之間對實時信息完整性、一致性、安全共享的需求,可為企業自動化系統與管理信息系統間建立起信息溝通的橋梁。
實時數據庫的一個重要特性就是實時性,包括數據實時性和事務實時性。數據實時性是現場IO數據的更新周期,不能不考慮數據的實時性。一般數據的實時性主要受現場設備的制約,特別是對於一些比較老的系統而言,情況更是這樣。事務實時性是指數據庫對其事務處理的速度。它可以是事件觸發方式或定時觸發方式。事件觸發是該事件一旦發生可以立刻獲得調度,這類事件可以得到立即處理,但是比較消耗系統資源;定時觸發是在一定時間范圍內獲得調度權。
系統框架示意如下圖:
ServerSuperIO作為物聯網通訊框架,是系統體系化建設的關鍵節點,同時也需要后台持久化服務的支持。實時采集傳感器的點數據,用實時數據庫對采集點數據進行時序存儲是最理想的。
通過持久化接口進行存儲操作,接口示意如下圖:
結構示意如下圖:
17.2 ServerSuperIO與實時數據庫對接
使用過程比較簡單,在二次開發設備驅動過程中,繼承動態接口實現自定義屬性保存實時數據;通過配制工作把設備驅動實現自定義的屬性映射成Tag標簽,然后設置持久化器;設備通訊后設備驅動會把實時數據更新到實時數據庫中。
17.2.1繼承動態接口,並設置持久化器
在設備驅動中實現臨時保存數據的動態接口,可以把流量或信號之類的數據定義成相應的屬性名稱,每次采集到數據后更新相應的屬性。
代碼如下:
public class DeviceDyn:DeviceDynamic { public DeviceDyn() : base() { } public override string GetAlertState() { throw new NotImplementedException("無報警信息"); } private float Flow {set;get;} private float Signal {set;get;} }
開發好動態數據屬性后,在設備驅動的初始化中設置該類持久化器,代碼如下:
public DeviceDriver() : base()
{
_devicePara = new DevicePara();
_deviceDyn = new DeviceDyn();
//用實時數據庫持久化動態數據
_deviceDyn.InitDataPersistence(new RDBPersistence());
_protocol = new DeviceProtocol();
_contextMenuComponent=new ContextMenuComponent();
}
當然,設備驅動的開發不僅僅包括這些,具體請參見以前的教程。
17.2.2增加設備驅動
運行“ServerSuperIO.Tool.exe”工具,單擊【基本配置】菜單。把開發好的設備驅動程序集在配置工具中進行信息配置,證明當前的設備驅動在平台上可以運行,如下圖:
上面配置的是程序集的基本信息,可供多個設備驅動實例使用。設備驅動在平台下運行,還需要進行實例化(具體的通訊實例),那么就要掛載設備驅動。掛載過程:創建服務實例,在服務實例下掛載可運行的設備實例。如下圖:
17.2.3配制標簽屬性
運行“ServerSuperIO.Tool.exe”工具,單擊【標簽配置】菜單,把剛設備掛載的可運行設備驅動的動態數據接口的屬性映射成Tag標簽。如下圖:
17.2.4安裝實時數據庫
下載“實時數據庫安裝包及二次開發包.rar”(下載地址)並進行安裝,安裝之后有服務管理器和企業管理器,如下圖:。
17.2.5配置實時數據庫參數
運行“ServerSuperIO.Tool.exe”工具,單擊【基本配置】菜單,啟動OPC Server服務。如下圖:
17.2.6運行程序
可以運行“ServerSuperIO.Host.exe”或“ServerSuperIO.UI.exe”的宿主程序,也可以運行自已二次開發的主程序。
17.3 注意事項
ServerSuperIO服務實例的名稱就是實時數據庫的點表名稱,在配置服務實例名稱的時候盡量使用字符和數字。
17.4 視頻演示
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