[更新]跨平台物联网通讯框架 ServerSuperIO v1.2(SSIO),增加数量分发控制模式

1.【开源】C#跨平台物联网通讯框架ServerSuperIO(SSIO)

 22.1   概述及设解决之题材

2.采取SuperIO(SIO)和开源跨平台物联网框架ServerSuperIO(SSIO)构建系统的总体方案

     
设备驱动有DeviceDynamic接口,可以继承并加新的实时数据性,每次通讯完成后更新这些属性数据。原来是经过DeviceDynamic接口实体类反射的法子得到新型的实时数据,并出口及关系数据库、实时数据库与OPC
Server等接口。

3.C#工业物联网与集成系统解决方案的技能途径(数据源、数据搜集、数据上传与接收、ActiveMQ、Mongodb、WebApi、手机App)

    
但是这种操作方法是个别单问题:1.透过反射的不二法门,效率不赛。2.若是一个传感器,那么定义之实时数据性不多;如果是一个站点(可以知晓啊养单位要网关层)上传的数量,可能发生不少监测点,那么非可能于持续DeviceDynamic接口的子类中定义这么多性。原来的操作办法如下图:

4.开端源地址:https://github.com/wxzz/ServerSuperIO

图片 1

 

    
为了缓解上述问题,在DeviceDynamic接口中定义了DynamicCache属性缓存接口,以KeyValue的不二法门囤监测数据。也就是说要设备驱动接收一批监测数据,可以循环放到DynamicCache缓存中,再出口到关系数据库、实时数据库与OPC
Server等接口。新的操作方式如下图:

1.SSIO更新内容:

图片 2

   
增加数据分发模式(DeliveryMode),在网络通讯异步通讯时,接收至多少后,可以按照设备IP或配备地址将数据分发给该装置,从而使装置运转。

   
下面介绍下过程被注意的老三单地方,设备驱动、配置输出监测点和布置参数等。

   
原来只能依照设备IP进行数据分发,但是考虑到设备终端有或是GPRS模块等,IP本身不定点,所以多了按照设备地址将数量分发给设备。

22.2  设备驱动

    
可能部分网友都写好装备驱动了,需要以这的底蕴及,把数据信息放到DynamicCache缓存中。如下代码:

if (cr == CommandArray.RealTimeData)
{
    Dyn dyn = (Dyn)obj;
    _deviceDyn.DynamicCache.AddOrUpdate("flow",dyn.Flow);
    _deviceDyn.DynamicCache.AddOrUpdate("signal",dyn.Signal);
}
    /// <summary>
    /// 分发数据模式
    /// </summary>
    public enum DeliveryMode
    {
        [EnumDescription("设备IP分发数据")]
        DeviceIP,
        [EnumDescription("设备地址分发数据")]
        DeviceAddress
    }

22.3     配置输出监测点

    在干净目录下打开“ServerSuperIO.Tool.exe”工具,在【标签配置】里把装备驱动里DynamicCache缓存中怀念使出口到关系数据库、实时数据库及OPC
Server等接口对应之正规号增加到布置起中。例如:flow和signal。如下图:

图片 3

 

22.4     配置参数

   
同样打开“ServerSuperIO.Tool.exe”工具,打开【基本配置】。

    如果想使管多少输出及OPC
Server接口,先安装相应的机件,在“OPC工具及零部件”目录中,最后安排如下参数:

图片 4

   
如果想只要拿数量输出到关系数据库或实时数据库,配置如下参数:

图片 5


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

 

 2.SSIO特点:

1)  
轻型高性能通信框架,适用于多应用场,轮询模式、自控模式、并发模式及单例模式。

2)   设备驱动、IO通道、控制模式场景协调联合。

3)   设备驱动内轩命令驱动器、命令缓存器、自定义参数与实时数据元素。

4)   框架平台支撑以设备命令优先级别进行调度,保证高级别命令就发送。

5)   一个配备驱动同时支持串口和网有限种植简报方式,可以监视IO通道数据。

6)   一个装置驱动,在网络通讯时好支撑TCP Server和TCP
Client两种工作模式。

7)   内置显示视图接口,满足不同显示需求。

8)  
内置服务组件接口,可以打定义完成OPC服务、4-20mA输出、LED大屏显示、短信服务、以及多效益网关服务。

9)   可以创建多服务实例,完成不同工作的拆分。

10) 支持过平台部署,可以运行在Linux和Windows系统。

 

3.SSIO概述

   
SSIO通信框架的规划思想是在SuperIO(SIO)基础及更上一层楼而来,并没有惊天动地上的技巧,主要是办事经历的聚积,适合吃不同采取场景的物联网的数额
采集与相互。SSIO和SIO并无是粗略的对准IO高性能的操作,而是设备驱动、IO通道、控制模式和实在硬件装备中的协调机制,各地方之间无缝过渡和运
行,也是以解决实际工作同采取场景的部分痛点。

  软硬件中的多寡交互,并且面临着千丝万缕的当场条件:

(1)复杂的、多样底报导协议。有正统的协商,例如:Modbus等,也发广大基于标准协议修改的情商格式、以及从定义协商格式,并且距离。对于不好的软件架构,疲于应对,增加设备或者协议而指向全软件进行梳理,往往在此过程中冒出新的问题要么BUG。

(2)针对不同用户指向软件界面或效益的要求发生深死异,使之满足不同用户的来得要求,可以由定义数据展示界面。那么就是需提供展示视图接口,与装备驱动进行交互。

(3)既然现场配备的数让采集上,那么尽管用针对其开展拍卖,不仅仅是保留、查询、报表等,还有:数据转发、数据输出(OPC、模拟量、大屏等)等。那么就算需提供服务性的接口,与设备驱动进行互动。

(4)通讯链路的多种性,对于跟一个装置可能只要支持RS232/RS485/RS422、RJ45、3G/4G等通讯方式,所以对于一个设施要针对性诺多通讯方式(串口和网络),也深受我们的支付造成非常非常之障碍。

(5)设备驱动、IO通道和实在的当场硬件终端中链路复杂,有或:一个配备驱动对应一个IO通道、一个装备驱动对承诺多单IO通道、多单设备驱动对应一个IO通道等情事。

(6)既然设备和劳动端进行多少交互,那么即便相应本着装备的简报状态、IO状态、以及配备本身的状态进行监察,这样设备才处于可保障状态。

(7)软件各版、以及软件和硬件之间的兼容性好不同,管理起复杂。在框架平台稳定的景象下,只需要创新装备驱动。

  
为了缓解以上多问题,开发一个软件框架,支持二次开发。在未针对软件框架改动的状下,能够生有益于之联网设备、维护设备、集成设备、处理装置业务数据等。软件框架相对稳定性,把容易生成的部分开展灵活设计。

 

图片 6