1.C#跨平臺物聯網通信框架ServerSuperIO(SSIO)介紹html
《連載 | 物聯網框架ServerSuperIO教程》1.4種通信模式機制。git
《連載 | 物聯網框架ServerSuperIO教程》2.服務實例的配置參數說明github
《連載 | 物聯網框架ServerSuperIO教程》- 3.設備驅動介紹數據庫
《連載 | 物聯網框架ServerSuperIO教程》-4.如開發一套設備驅動,同時支持串口和網絡通信。安全
《連載 | 物聯網框架ServerSuperIO教程》- 5.輪詢通信模式開發及注意事項。網絡
《連載 | 物聯網框架ServerSuperIO教程》- 6.併發通信模式開發及注意事項併發
《連載 | 物聯網框架ServerSuperIO教程》- 7.自控通信模式開發及注意事項app
《連載 | 物聯網框架ServerSuperIO教程》- 8.單例通信模式開發及注意事項框架
《連載 | 物聯網框架ServerSuperIO教程》- 9. 協議過濾器,解決一包多發、粘包、冗餘數據ide
《連載 | 物聯網框架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
實時數據庫系統是開發實時控制系統、數據採集系統等的後臺支撐軟件。大量使用實時數據庫系統進行控制系統監控,系統先進控制和優化控制,併爲企業的生產管理和調度、數據分析、決策支持及遠程在線瀏覽提供實時數據服務和多種數據管理功能。實時數據庫已經成爲企業信息化的基礎數據平臺,可直接實時採集、獲取企業運行過程當中的各類數據,並將其轉化爲對各種業務有效的公共信息,知足企業生產管理、企業過程監控、企業經營管理之間對實時信息完整性、一致性、安全共享的需求,可爲企業自動化系統與管理信息系統間創建起信息溝通的橋樑。
實時數據庫的一個重要特性就是實時性,包括數據實時性和事務實時性。數據實時性是現場IO數據的更新週期,不能不考慮數據的實時性。通常數據的實時性主要受現場設備的制約,特別是對於一些比較老的系統而言,狀況更是這樣。事務實時性是指數據庫對其事務處理的速度。它能夠是事件觸發方式或定時觸發方式。事件觸發是該事件一旦發生能夠馬上得到調度,這類事件能夠獲得當即處理,可是比較消耗系統資源;定時觸發是在必定時間範圍內得到調度權。
系統框架示意以下圖:
ServerSuperIO做爲物聯網通信框架,是系統體系化建設的關鍵節點,同時也須要後臺持久化服務的支持。實時採集傳感器的點數據,用實時數據庫對採集點數據進行時序存儲是最理想的。
經過持久化接口進行存儲操做,接口示意以下圖:
結構示意以下圖:
使用過程比較簡單,在二次開發設備驅動過程當中,繼承動態接口實現自定義屬性保存實時數據;經過配製工做把設備驅動實現自定義的屬性映射成Tag標籤,而後設置持久化器;設備通信後設備驅動會把實時數據更新到實時數據庫中。
在設備驅動中實現臨時保存數據的動態接口,能夠把流量或信號之類的數據定義成相應的屬性名稱,每次採集到數據後更新相應的屬性。
代碼以下:
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();
}
固然,設備驅動的開發不單單包括這些,具體請參見之前的教程。
運行「ServerSuperIO.Tool.exe」工具,單擊【基本配置】菜單。把開發好的設備驅動程序集在配置工具中進行信息配置,證實當前的設備驅動在平臺上能夠運行,以下圖:
上面配置的是程序集的基本信息,可供多個設備驅動實例使用。設備驅動在平臺下運行,還須要進行實例化(具體的通信實例),那麼就要掛載設備驅動。掛載過程:建立服務實例,在服務實例下掛載可運行的設備實例。以下圖:
運行「ServerSuperIO.Tool.exe」工具,單擊【標籤配置】菜單,把剛設備掛載的可運行設備驅動的動態數據接口的屬性映射成Tag標籤。以下圖:
下載「實時數據庫安裝包及二次開發包.rar」(下載地址)並進行安裝,安裝以後有服務管理器和企業管理器,以下圖:。
運行「ServerSuperIO.Tool.exe」工具,單擊【基本配置】菜單,啓動OPC Server服務。以下圖:
能夠運行「ServerSuperIO.Host.exe」或「ServerSuperIO.UI.exe」的宿主程序,也能夠運行自已二次開發的主程序。
ServerSuperIO服務實例的名稱就是實時數據庫的點表名稱,在配置服務實例名稱的時候儘可能使用字符和數字。
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