《連載 | 物聯網框架ServerSuperIO教程》- 17.集成Golden實時數據庫,高並發保存測點數據。附:3.4 發布與版本更新說明。


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     視頻演示


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

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM