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

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

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

3.C#工业物联网和集成系统解决方案的技术路线(数据源、数据采集、数据上传与接收、ActiveMQ、Mongodb、WebApi、手机App)github

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

 

1.SSIO更新内容:网络

    增长数据分发模式(DeliveryMode),在网络通信异步通信时,接收到数据后,能够按设备IP或设备地址把数据分发给该设备,从而驱动设备运行。架构

    原来只能按设备IP进行数据分发,可是考虑到设备终端有多是GPRS模块等,IP自己不固定,因此增长了按设备地址把数据分发给设备。并发

    /// <summary>
    /// 分发数据模式
    /// </summary>
    public enum DeliveryMode
    {
        [EnumDescription("设备IP分发数据")]
        DeviceIP,
        [EnumDescription("设备地址分发数据")]
        DeviceAddress
    }

 

 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/RS42二、RJ4五、3G/4G等通信方式,因此对于一个设备要对应多种通信方式(串口和网络),也给咱们的开发形成很大的障碍。

(5)设备驱动、IO通道和实际的现场硬件终端之间链路复杂,有可能:一个设备驱动对应一个IO通道、一个设备驱动对应多个IO通道、多个设备驱动对应一个IO通道等状况。

(6)既然设备与服务端进行数据交互,那么就应该对设备的通信状态、IO状态、以及设备自己的状态进行监控,这样设备才处于可维护状态。

(7)软件各版本、以及软件与硬件之间的兼容性不好,管理起来错综复杂。在框架平台稳定的状况下,只须要更新设备驱动。

   为了解决以上诸多问题,开发一个软件框架,支持二次开发。在不对软件框架改动的状况下,可以很方便的接入设备、维护设备、集成设备、处理设备业务数据等。软件框架相对稳定,把容易变化的部分进行灵活设计。

 

相关文章
相关标签/搜索