软件简介

ServerSuperIO 简称 SSIO ,是一个 C# 跨平台物联网通讯框架。

一.SSIO的特点

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

  2. 设备驱动、IO通道、控制模式场景协调统一。

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

  4. 框架平台支持按设备命令优先级别进行调度,保证高级别命令及时发送。

  5. 一个设备驱动同时支持串口和网络两种通讯方式,可以监视IO通道数据。

  6. 一个设备驱动,在网络通讯时可以支持TCP Server和TCP Client两种工作模式。

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

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

  9. 可以创建多服务实例,完成不同业务的拆分。

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

二.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)软件各版本、以及软件与硬件之间的兼容性很差,管理起来错综复杂。在框架平台稳定的情况下,只需要更新设备驱动。

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

三.控制模式

(1)轮询模式:当串口和网络通讯时都可以使用这种控制模式。当有多个设备 连接到通讯平台时,通讯平台会轮询调度设备进行通讯任务。某一时刻只能有一个设备发送请求命令、等待接收返回数据,这个设备完成发送、接收(如果遇到超时 情况,则自动返回)后,下一个设备才进行通讯任务,依次轮询设备。如下图:

 

(2)并发模式:只有网络通讯时可以使用这种控制模式。并发通讯模式是集中 发送所有设备的请求指令,框架是采用循环同步方式发送请求命令。还有进一步提高的机会,采用并行异步方式集中发送请求命令。硬件设备接收到指令后进行校 验,校验成功后返回对应指令的数据,通讯平台异步监听到数据信息后,进行接收操作,然后再进行数据的分发、处理等。如下图:

 

(3)自控模式:只有网络通讯时可以使用这种控制模式。自控通讯模式与并发 通讯模式类似,区别在于发送指令操作交给设备驱动本身进行控制,或者说交给二次开发者,二次开发者可以通过时钟定时用事件驱动的方式发送指令数据。硬件设 备接收到指令后进行校验,校验成功后返回对应指令的数据,通讯平台异步监听到数据信息后,进行接收操作,然后再进行数据的分发、处理等。

   自控通讯模式可以为二次开发者提供精确的定时请求实时数据机制,使通讯机制更灵活、自主,如果多个设备驱动使用同一个IO通道的话,时间控制会有偏差。如下图:

 

(4)单例模式:只有网络通讯时可以使用这种控制模式。在一个服务实例内只 能有一个设备驱动,相当于一个设备驱动对应着N多个硬件设备终端。更适合通讯的数据协议有固定的标准,以命令关键字处理不同的数据。适用于高并发的硬件终 端设备主动上传数据,服务器端根据数据信息进行处理和返回相应的数据。如下图:

 

 

四.跨平台Windows和Linux

(1)Windows运行效果

 

(2)Linux运行效果

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (11)

加载中
wxzz软件作者
请到http://www.ineuos.net 工业互联网操作系统。
05/21 14:01
回复
举报
已經不開源了
2019/09/06 09:19
回复
举报
666
2017/09/29 09:03
回复
举报
收藏
2017/05/16 14:26
回复
举报
打分: 力荐
不错,希望能改进一些更好,支持
2017/02/05 08:56
回复
举报
2016/03/25 08:30
回复
举报
linux上是mono? #ServerSuperIO#
2016/03/25 09:02
回复
举报
先收藏,但没看清楚和supersocker这类有何区别? #ServerSuperIO#
2016/03/25 15:34
回复
举报
怒马。 #ServerSuperIO#
2016/03/30 14:55
回复
举报
2016/07/15 08:07
回复
举报
更多评论
发表了资讯
2017/05/12 16:26

ServerSuperIO v3.6.4 发布,支持 mysql 等的持久化

概述: ServerSuperIO支持设备驱动和OPC Client采集的数据信息按标签集合写入mysql、oracle、sqlserver和sqlite数据库。现在还支持写入实时数据库,例如:edna、golden和corert等。同时支持实时数据库和关系数据库主要考虑项目环境和支撑的能力。 本质上还是统一继承IDataPersistence接口,然后扩展完成的操作。如果其他...

1
13
发表了资讯
2017/05/03 13:08

ServerSuperIO v3.6.3 发布,集成 eDNA 实时库

ServerSuperIO v3.6.3 发布了。更新内容: 修复销毁网络连接资源没有移除事件的问题。 修复网络和串口销毁资源,多次触发的问题。 优化TCP侦听,避免OperationAborted异常情况。 对TcpSession进行优化,并增加当前状态信息。 增加对eDNA实时数据库的支持。 官方介绍:框架介绍 视频演示:...

0
7
发表了资讯
2017/04/20 20:44

ServerSuperIO v3.6.2 发布,集成实时库、功能完善

物联网框架ServerSuperIO v3.6.2发布了。更新内容如下: 设备驱动与实时库对接的Tag配置与OPC Client读取数据的配置统一用一个配置文件。 设备驱动继承DeviceDynamic接口的子类支持存储数据可配置,支持XML、Golden实时数据库、CoreRT实时数据库,不需要在代码中写代码进行设置 。实时库介绍:Golden实时数据库、CoreRT实...

4
10
发表了资讯
2017/04/10 22:26

ServerSuperIO v3.5 发布,体系结构及未来规划

一.特点 1.轻型高性能通信框架,适用于多种应用场,轮询模式、自控模式、并发模式和单例模式。 2.不仅是通讯框架,是设备驱动、IO通道、控制模式场景的协调机制。 3.支持协议驱动器,可以按规范写标准协议和自定义协议。 4.支持发送数据缓存器,支持命令缓存重发和按优先级别发送。 5.支持协议过滤器,按规则筛选数据,并...

4
27
发表了资讯
2016/12/01 07:04

ServerSuperIO v3.0 发布, 跨平台物联网框架

物联网框架 ServerSuperIO v3.0 发布了。更新如下: 3.0 版本主要更新内容: 增加跨平台能力:Win&Win10 Iot&Ubuntu&Ubuntu Mate 统一设备驱动接口:可以一套设备驱动,跨平台挂载运行,降低人力成本,提高开发效率。 增加二次开发套件:支持控制台和UI界面两种方式。 增加配置工具:参数配置、设备驱动挂载、视图挂载、...

3
35
发表了资讯
2016/09/19 00:00

ServerSuperIO 2.4(SSIO)发布,物联网通讯框架

一、更新内容 1.修改*Server类,以及承继关系。 2.增加IRunDevice的IServerProvider接口继承。 3.修复增加COM设备驱动可能造成的异常。 4.修复网络发送数据可能引发的异常。 5.完善协议驱动器。 6.修改协议驱动接口。 7.修改协议命令接口。 8.修复协议命令,抽象基类情况下的异常BUG。 9.增加协议接口GetPackageLength,...

0
35
发表了资讯
2016/08/23 00:00

ServerSuperIO 2.1(SSIO)发布,物联网通讯框架

物联网框架: SSIO 2.1 版本: 1.修改IRunDevice接口,把void Send(io,bytes)改成int Send(io,bytes)。 2.修改网络控制器,发送数据不直接使用IO实例,改为使用IRunDevice接口的int Send(io,bytes)函数。 在自控模式、并发模式和单例模式下可以int Send(io,bytes)函数,进行多次发送数据。 开源地址:http://git.oschin...

4
33
发表了资讯
2016/08/17 00:00

ServerSuperIO 2.0(SSIO)发布,跨平台物联网通讯框架

更新具体细节参见:更新设计】跨平台物联网通讯框架ServerSuperIO 2.0 ,功能、BUG、细节说明,以及升级思考过程! 1.SSIO特点 轻型高性能通信框架,适用于多种应用场,轮询模式、自控模式、并发模式和单例模式。 不光是通讯框架,是设备驱动、IO通道、控制模式场景的协调机制。 支持协议驱动器,可以按规范写标准协议和...

1
47
发表了资讯
2016/04/28 00:00

ServerSuperIO v1.2(SSIO)发布,跨平台物联网通讯框架

ServerSuperIO v1.2(SSIO)发布了。 1.C#跨平台物联网通讯框架 ServerSuperIO 2.跨平台物联网通讯框架 ServerSuperIO v1.1(SSIO) 3.C#工业物联网和集成系统解决方案的技术路线(数据源、数据采集、数据上传与接收、ActiveMQ、Mongodb、WebApi、手机App) 开源地址:http://git.oschina.net/wxzz/ServerSuperIO 1.SSI...

7
51
发表了资讯
2016/04/07 00:00

跨平台物联网通讯框架 ServerSuperIO v1.1(SSIO)

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

4
91
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表于硬件 & IoT专区
2017/04/20 20:48

ServerSuperIO 3.5版本的体系结构,以及未来规划的几点思考

一.特点 1.轻型高性能通信框架,适用于多种应用场,轮询模式、自控模式、并发模式和单例模式。 2.不仅是通讯框架,是设备驱动、IO通道、控制模式场景的协调机制。 3.支持协议驱动器,可以按规范写标准协议和自定义...

0
0
发表于程序人生专区
2017/03/22 20:00

[开源]跨平台物联网通讯框架-ServerSuperIO(SSIO)

1.自我介绍 本人已经工作10年,一直在工业领域。在一线干过实施,下过矿井;干过项目,带过团队;干过软件研发,出过产品;干过项目群管理,售前和市场也接触过;期间在纯软件公司也干过将...

0
0
发表于程序人生专区
2017/03/22 20:00

[开源]跨平台物联网通讯框架-ServerSuperIO(SSIO)

1.自我介绍 本人已经工作10年,一直在工业领域。在一线干过实施,下过矿井;干过项目,带过团队;干过软件研发,出过产品;干过项目群管理,售前和市场也接触过;期间在纯软件公司也干过将...

0
0
发表了博客
2018/03/08 21:44

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

正所谓天下大势,不跟风不行。你不跨平台,很low嘛。java说:你们能跨嘛,跨给我看看。C#说:不要强人所难嘛。java说:能部署在云上吗?docker?微服务?C#说:不要强人所难嘛。java说:你能干啥?C#说:能干啥有必要和你说嘛,我只自己玩。Php说:就服你两装B的样子。哈哈! 噢java改名了,叫Jakarta。 1.跨平台实践环...

0
1
发表于程序人生专区
2017/03/22 20:00

[开源]跨平台物联网通讯框架-ServerSuperIO(SSIO)

1.自我介绍 本人已经工作10年,一直在工业领域。在一线干过实施,下过矿井;干过项目,带过团队;干过软件研发,出过产品;干过项目群管理,售前和市场也接触过;期间在纯软件公司也干过将...

0
0
发表于软件架构专区
04/16 22:05

C#跨平台物联网通讯框架ServerSuperIO(SSIO)

一.SSIO的特点 轻型高性能通信框架,适用于多种应用场,轮询模式、自控模式、并发模式和单例模式。 设备驱动、IO通道、控制模式场景协调统一。 设备驱动内轩命令驱动器、命令缓存器、自定义参数和实时数据元素。 ...

0
0
发表于硬件 & IoT专区
2016/09/19 12:06

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

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

0
0
发表于程序人生专区
2016/03/24 22:23

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

目 录 C#跨平台物联网通讯框架ServerSuperIO(SSIO)正式开源... 1 1. SSIO的特点 2. SSIO概述 3. SSIO与SIO的区别 4. 控制模式 5. 跨平台Windo...

0
0
发表于程序人生专区
2016/11/27 20:45

《连载 | 物联网框架ServerSuperIO教程》- 6.并发通讯模式开发及注意事项

1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 《连载 | 物联网框架ServerSuperIO教程》1.4种通讯模式机制。 《连载 | 物联网框架ServerSuperIO教程》2.服务实例的配置参数说明 《连载 | 物联网框架ServerS...

0
0
发表于硬件 & IoT专区
2016/10/20 20:42

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

1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 《连载 | 物联网框架ServerSuperIO教程》1.4种通讯模式机制 一、综述 SuperIO(SIO)定位在PC终端(上位机)应用,它只有一个服务实例,配置参数...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
11 评论
489 收藏
分享
返回顶部
顶部