22.1 概述及要解决的问题html
设备驱动有DeviceDynamic接口,能够继承并增长新的实时数据属性,每次通信完成后更新这些属性数据。原来是经过DeviceDynamic接口实体类反射的方式得到最新的实时数据,并输出到关系数据库、实时数据库和OPC Server等接口。git
可是这种操做方式存在两个问题:1.经过反射的方式,效率不高。2.若是是一个传感器,那么定义的实时数据属性很少;若是是一个站点(能够理解为生产单位或网关层)上传的数据,可能有成千上万监测点,那么不可能在继承DeviceDynamic接口的子类中定义这么多属性。原来的操做方式以下图:github
为了解决上述问题,在DeviceDynamic接口中定义了DynamicCache属性缓存接口,以KeyValue的方式存储监测数据。也就是说若是设备驱动接收一批监测数据,能够循环放到DynamicCache缓存中,再输出到关系数据库、实时数据库和OPC Server等接口。新的操做方式以下图:数据库
下面介绍使用过程当中注意的三个地方,设备驱动、配置输出监测点和配置参数等。缓存
可能有的网友已经写好设备驱动了,须要在此的基础上,把数据信息放到DynamicCache缓存中。以下代码:网络
if (cr == CommandArray.RealTimeData) { Dyn dyn = (Dyn)obj; _deviceDyn.DynamicCache.AddOrUpdate("flow",dyn.Flow); _deviceDyn.DynamicCache.AddOrUpdate("signal",dyn.Signal); }
在根目录下打开“ServerSuperIO.Tool.exe”工具,在【标签配置】里把设备驱动里DynamicCache缓存中想要输出到关系数据库、实时数据库和OPC Server等接口对应的标准名称增长到配置项中。例如:flow和signal。以下图:框架
一样打开“ServerSuperIO.Tool.exe”工具,打开【基本配置】。工具
若是想要把数据输出到OPC Server接口,先安装相应的组件,在“OPC工具和组件”目录中,最后配置以下参数:post
若是想要把数据输出到关系数据库或实时数据库,配置以下参数:spa
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