• 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. 多线程同步工具——Lock

    本文原创,转载请注明出处. 参考文章: <"JUC锁"03之 公平锁(一)> <"JUC锁"03之 公平锁(二)> 锁分独占锁与共享锁, ...

  2. SAP CRM 性能小技巧

    导言 本页面打算收集SAP CRM实施中可以用于避免性能问题的注意事项,重要的事项会由图标标识. 如果你有其他的技巧想要说出来,别犹豫! 性能注意事项 通用 缓存读取类访问,特别是在性能关键的地方,比 ...

  3. git添加GitHub远程库

    已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作 首先,登陆GitHub, ...

  4. 端盘子的服务生到月薪一万五的IT精英,你能相信吗

    一直以来,我都觉得自己不是一个有故事的人. 以前的我,是个乖宝宝,对父母言听计从,特别内向,甚至一度感觉到自卑.不上学之后,我干过送货员,去工地除泥搬砖,当过油漆工,去过工厂,还去饭店当过端盘子的服务 ...

  5. Ognl表达式基本原理和使用方法

    Ognl表达式基本原理和使用方法 1.Ognl表达式语言 1.1.概述 OGNL表达式 OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,他是一个 ...

  6. caffe的python接口学习(7):绘制loss和accuracy曲线

    使用python接口来运行caffe程序,主要的原因是python非常容易可视化.所以不推荐大家在命令行下面运行python程序.如果非要在命令行下面运行,还不如直接用 c++算了. 推荐使用jupy ...

  7. mono for android学习过程系列教程(5)

    这一讲主要需要了解的安卓UI元素是Spinner.这个元素类似我们 winform和webform里面的下拉选项. 首先我们先建立一个新的项目,命名为SpinnerExample. 然后在Layout ...

  8. webpack解惑:require的五种用法

    我之前在 <前端搭环境之从入门到放弃>这篇文章中吐槽过,webpack中可以写commonjs格式的require同步语法,可以写AMD格式的require回调语法,还有一个require ...

  9. DOM对象模型接口规范中的四个基本接口

    DOM对象模型的四个基本接口 在DOM对象模型接口规范中,有四个基本的接口:Document,Node,NodeList以及NamedNodeMap.在这四个基本接口中,Document接口是对文档进 ...

  10. [Solr] (源) Solr与MongoDB集成,实时增量索引

    一. 概述 大量的数据存储在MongoDB上,需要快速搜索出目标内容,于是搭建Solr服务. 另外一点,用Solr索引数据后,可以把数据用在不同的项目当中,直接向Solr服务发送请求,返回xml.js ...