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

  • SSIO的更新

      在SSIO上增长了UDP通信方式,能够到Github上下载源代码。在原来的项目中,远端的设备与中心站的数据交互并无使用过UDP方式。这种短链接的通信链路,不容易维护,主要体如今:(1)持续的数据交互能力。(2)对现场设备进行长时间的维护和校准。(3)SSIO要协调设备、IO和控制方式之间的运做关系,没法即时反应设备的IO状态。等等。html

      可是,对于一个平台来说,UDP的通信方式是应该具备的,根据现场状况选择是否应用。例如:远端的设备定时发送设备状态信息等,可使用UDP的通信方式,在SSIO里单独创建一个状态服务实例。git

  • SIO和SSIO应用方案

      SIO和SSIO的设计思想是类似的,可是仍是有必定的区别,请参见《C#跨平台物联网通信框架ServerSuperIO(SSIO)》。github

      根据应用场景,SIO和SSIO能够相互配合部署到不一样的地方。SIO能够部署在工业现场或工做站点,采集区域范围的硬件设备或传感器的数据,而后打包上传数据;SSIO能够部署在服务器端,接收上传的数据,并与现场进行数据或命令交互。结合图以下:服务器

 

     SIO自己就是一个WinForm应用程序,只须要继承MainForm就可以很快的构建本身的图形化的通信平台,把开发好的设备驱动、图形显示、服务等以插件的方式挂载到平台,就能够运行了,能够参见二次开发手册。通常现场工控机都是Windows操做系统,尽管SIO不支持跨平台(开发SIO的时候,尚未Mono呢),可是支持Windows XP sp3全部以上版本的操做系统。网络

SSIO自己是一个支持多服务实例的命令行程序,更适合部署在服务器端,负责与SIO或现场设备、传感器进行数据交互。而且SSIO的各方面的性能更优于SIO,以及支持4种控制模式的应用场景,轮询模式、自控模式、并发模式和单例模式。并发

     使用SIO和SSIO二次形式发时不须要关心对设备、IO和控制方式的调度,只须要继承接口开发设备驱动和设置相应的参数就能够了。另外,SIO和SSIO能够做为组态软件的核心通信组件。框架

  • 嵌入式智能设备

    SSIO能够支持跨平台运行,若是智能设备内嵌裁剪后的Linux操做系统,SSIO能够跑在智能设备中,惟一的缺点就是缺乏强大的Web监控服务,如今ASP.NET Core支持跨平台部署了,到是一个发展的方向。性能

SSIO也能够做为嵌入式智能网关服务,对采集的数据进行协议转换、打包、转发。spa

  • 其余说明

     SIO和SSIO的设备驱动,当网络通信时,都支持Tcp Client工做模式。由于现场环境比较复杂,又是防火墙、路由之类的。有时候作项目,找个熟悉环境的人都困难,因此当前找了一个最简单的解决方法,就是反向链接,也一直延续至今。操作系统

 

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

QQ:504547114

QQ群:54256083

相关文章
相关标签/搜索