• SSIO的更新

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

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

  • SIO和SSIO应用方案

SIO和SSIO的设计思想是相似的,但是还是有一定的区别,请参见《C#跨平台物联网通讯框架ServerSuperIO(SSIO)》。

根据应用场景,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也可以作为嵌入式智能网关服务,对采集的数据进行协议转换、打包、转发。

  • 其他说明

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

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

QQ:504547114

QQ群:54256083

应用SuperIO(SIO)和开源跨平台物联网框架ServerSuperIO(SSIO)构建系统的整体方案的更多相关文章

  1. 开源物联网框架ServerSuperIO 3.0正式发布(C#),跨平台:Win&Win10 Iot&Ubuntu&Ubuntu Mate,一套设备驱动跨平台挂载,附:开发套件和教程。

    3.0版本主要更新内容: 1.增加跨平台能力:Win&Win10 Iot&Ubuntu&Ubuntu Mate 2.统一设备驱动接口:可以一套设备驱动,跨平台挂载运行,降低人力 ...

  2. 【重大更新】开源跨平台物联网通讯框架ServerSuperIO 2.0(SSIO)下载

    更新具体细节参见:[更新设计]跨平台物联网通讯框架ServerSuperIO 2.0 ,功能.BUG.细节说明,以及升级思考过程! 声明:公司在建设工业大数据平台,SSIO正好能派上用场,所以抓紧时间 ...

  3. 开源物联网框架ServerSuperIO(SSIO),项目中实践应用介绍

    一.项目背景 我们是传统行业,但是我们有一颗不传统的心.企业用户遍布国内和国外,面对行业,要建设行业级的(大)数据平台.一提到大数据平台,大家往往想到Hadoop.Spark.Nosql.分布式等等, ...

  4. 物联网框架ServerSuperIO在.NetCore实现跨平台的实践路线

    正所谓天下大势,不跟风不行.你不跨平台,很low嘛.java说:你们能跨嘛,跨给我看看.C#说:不要强人所难嘛.java说:能部署在云上吗?docker?微服务?C#说:不要强人所难嘛.java说:你 ...

  5. 物联网框架ServerSuperIO.Core(.netcore)跨平台,一套设备驱动通吃嵌入式、上位机、云服务

    1.      概述... 2 2.      ServerSuperIO.Core跨平台开发环境... 2 3.      ServerSuperIO.Core特点... 2 4.      Ser ...

  6. 《连载 | 物联网框架ServerSuperIO教程》1.4种通讯模式机制。附小文:招.NET开发,结果他转JAVA了,一切都是为了生活

    参考文章: 1.SuperIO通讯框架介绍,含通信本质 2.C#跨平台物联网通讯框架ServerSuperIO(SSIO) 一.感慨 上大学的时候,没有学过C#,花了5块钱在地坛书市买了一本教程,也就 ...

  7. 《连载 | 物联网框架ServerSuperIO教程》2.服务实例的配置参数说明

    1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍  <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制 一.综述 SuperIO(SIO)定位 ...

  8. 《连载 | 物联网框架ServerSuperIO教程》- 3.设备驱动介绍

    1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...

  9. 《连载 | 物联网框架ServerSuperIO教程》-4.如开发一套设备驱动,同时支持串口和网络通讯。附:将来支持Windows 10 IOT

    1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...

随机推荐

  1. addTwoNumbers

    大神的代码好短,自己写的120多行=_= 各种判断 ListNode *f(ListNode *l1, ListNode *l2) { ListNode *p1 = l1; ListNode *p2 ...

  2. 项目持续集成环境(jenkins + SVN + maven + tomcat)

    整体流程 每次SVN上代码有变动,触发自动构建动作,并部署到服务器的tomcat上,具体流程: 1.SVN上提交代码修改 2.maven执行Goals 3.将web工程打成war包 4.关闭服务器的t ...

  3. oracle常用函数及示例

    学习oracle也有一段时间了,发现oracle中的函数好多,对于做后台的程序猿来说,大把大把的时间还要学习很多其他的新东西,再把这些函数也都记住是不太现实的,所以总结了一下oracle中的一些常用函 ...

  4. DevExpress第三方控件使用实例之ASPxPopupControl弹出子窗体

    弹出页面控件:ASPxPopupControl, <dxpc:ASPxPopupControl ID="popubCtr" runat="server" ...

  5. 机器指令翻译成 JavaScript —— No.7 过渡语言

    上一篇,我们决定使用 LLVM 来优化程序,并打算用 C 作为输入语言.现在我们来研究一下,将 6502 指令转换成 C 的可行性. 跳转支持 翻译成 C 语言,可比 JS 容易多了.因为 C 支持 ...

  6. 浅谈命令查询职责分离(CQRS)模式

    在常用的三层架构中,通常都是通过数据访问层来修改或者查询数据,一般修改和查询使用的是相同的实体.在一些业务逻辑简单的系统中可能没有什么问题,但是随着系统逻辑变得复杂,用户增多,这种设计就会出现一些性能 ...

  7. Redux初见

    说到redux可能我们都先知道了react,但我发现,关于react相关的学习资料很多,也有各种各样的种类,但是关于redux简单易懂的资料却比较少. 这里记录一下自己的学习理解,希望可以简洁易懂,入 ...

  8. ABP(现代ASP.NET样板开发框架)系列之12、ABP领域层——工作单元(Unit Of work)

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之12.ABP领域层——工作单元(Unit Of work) ABP是“ASP.NET Boilerplate Pr ...

  9. es6 新特性2

    es6其他几个非常有用的新特性. import export 这两个家伙对应的就是es6自己的module功能. 我们之前写的Javascript一直都没有模块化的体系,无法将一个庞大的js工程拆分成 ...

  10. JavaScript权威设计--JavaScript对象(简要学习笔记八)

    1.属性的特性 一个属性包含一个名字和4个特性.4个特性:值,可写性,可枚举性,可配置性   2.对象的三个属性 一:原型属性 要想检测一个对象是否是另一个对象的原型,使用isPrototypeOf( ...