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