1.概况


注:ServerSuperIO Designer IDE 同行业网友随便使用,不涉及到软件使用限制的问题。

从2015年到现在的将近两年的时间,一直在开发、完善ServerSuperIO(SSIO)的基础框架,包括:多通讯机制、稳定性、扩展性等,没有太多时间把工作放在UI的设计与开发上,从二次开发者角度来讲易用性是短板。为了增补短板,在SSIO核心框架的基础上开发ServerSuperIO Designer IDE工具,希望能够帮助二次开发者快速上手。另外,从框架的健壮性和扩展性来讲,在Designer IDE的基础上开发HMI交互也是很容易的事,但是后期不会以这个方案开发C/S结构的人机对话组态界面,取而代之的是SSIO与SuperView的Web组态无缝对接。

对于物联网体系建设,通讯始终是核心部分,涉及到多种设备、多种协议、多种通讯机制、多种数据,加之5G标准的实施,通讯层需要进行改造与完善。有的组态或scada的相关产品已经不能适应日益变化的市场需求、场景需求,例如:把IO通讯的读写操作放到设备驱动或插件内部,一是本身框架的执行效率受到影响,二是不能支持多种通讯场景以及高并发的要求,三是不能进行多设备复用同一IO资源,四是底层通讯层的扩展性受到制约。SSIO充分考虑到应用场景,进行顶层框架设计,实现接口的解耦而达到整体融合,目标是实现物联网通讯层的大脑。

我们谈物联网、大数据、云平台等,首先就是实现节点之间互联以及解决数据的实时流通,在每个节点上逐步加入业务功能,从而实现整个系统有续扩展。流通的数据好比身体流淌的血液,业务功能好比身体的肌肉。

2.ServerSuperIO及Designer IDE的特点


  • 轻型高性能通信框架,适用多种应用场:轮询模式、自控模式、并发模式和单例模式。
  • 支持协议驱动器,可以按规范写标准协议和自定义协议。
  • 支持发送数据缓存器,支持命令缓存重发和按优先级别发送。
  • 支持协议过滤器,按规则筛选数据,并且可以承继接口,自定义过滤方式。
  • 支持接收数据缓存器,可以缓存不符合过滤器的数据,和下次接收数据进行拼接。
  • 支持按设备命令优先级别进行调度设备,保证有高级别命令的驱动及时发送。
  • 支持一个设备驱动,同时适配串口和网络两种通讯方式,可以监视IO通道数据。
  • 支持一个设备驱动,在网络通讯时适配TCP Server和TCP Client两种工作模式。
  • 支持WebSocket,进行数据采集与转发。
  • 支持多设备共享同一个IO通道进行通讯。
  • 支持定时清理超时的网络IO通道。
  • 支持显示视图接口,满足不同人机对话的需求。
  • 支持服务组件接口,例如:4-20mA输出、LED大屏显示、短信服务、以及多功能网关服务。
  • 设备驱动与设备驱动,设备驱动与服务器(云端)可以实时双向交互,上传数据和指令下发。
  • 支持OPC Server和OPC Client。
  • 支持创建多服务实例,完成不同业务的拆分。
  • 支持跨平台部署,可以运行在Linux和Windows系统。
  • 支持SuperRTDB、eDna和CoreRT实时数据库。
  • 支持mysql、oracle、sqlserver和sqlite数据库。

Designer IDE是在ServerSuperIO基础开发的,支持挂载设备驱动和服务驱动、OPC Server/Client、数据转发客户端/服务端、支持标准的Modbus协议驱动等。Designer IDE使整个框架操作更简单、易用。基于ServerSuperIO开发的设备驱动或服务驱动,可以挂载到IDE下运行。

3.软件部署


ServerSuperIO 4.0以前版本采用文件方式存储配置信息,ServerSuperIO 4.0及以后版本采用mysql存储数据,以后开发Web管理系统方便行进在线管理。部署说明,如下:

(1)在mysql中创建数据库实例,例如数据库名称为:ServerSuperIO

(2) 在数据库实例中运行“数据库脚本\serversuperio 4.0.sql”,初始化数据表。

(3) 在“ServerSuperIO Designer IDE 4.0\ServerSuperIO\ SourceConfig.cfg”配置mysql的数据库实例信息。

(4) 运行“ServerSuperIO.Designer.exe“应用程序即可。

4.管理设备驱动和服务驱动


基于SSIO 4.0版本开发的设备驱动和服务驱动,可以在IDE下进行管理和运行。

设备驱动源代码:

https://github.com/wxzz/ServerSuperIO.Driver

服务驱动源代码:

https://github.com/wxzz/ServerSuperIO.Servie

Modbus 操作类库源代码:

https://github.com/wxzz/ServerSuperIO.Modbus

测试驱动源代码:

https://github.com/wxzz/TestDeviceDriver

模拟终端源代码:

https://github.com/wxzz/TestDevice

操作界面,如下图:

服务驱动加载类型分为GlobalServer(全局服务)和InternalServer(内部服务),全局服务面向所有服务实例的设备驱动,以及之间进行数据交互;内部服务只面向同一服务实例内部的服务,以及之间进行数据交互。

5.服务实例


服务实例相当于容器,可以在一个服务实例中运行串口设备驱动、网络设备驱动、服务驱动以及视图驱动(IDE还没有集成视图部分)。并且在一个服务实例中支持四大通讯机制:(1)轮询模式,队列方式向设备发送请求数据命令,并且等待设备返回数据;(2)自控模式,驱动可以周期定时向设备发送请求数据命令,也可以不主动请求,被动接收数据;(3)并发模式,集中异步向所有设备发送请求数据命令,异步等待所有设备返回的数据。(4)单例模式,一个设备驱动对应所有物理设备,相当于一个单纯的通讯框架。增加服务实例,如下图:

6.增加设备驱动


在一个服务实例中可以增加N个串口设备驱动和网络设备驱动,SSIO负责整体管理与调度,以保证在通讯IO和通讯机制方面稳定运行。控制分组,当网络通讯模式下,每个设备驱动设置不同的分组,相当于每个设备驱动在独立的容器中运行,以到达到高效运行。增加设备驱动,如下图:

7.增加设备驱动的数据监测点


每个设备驱动可以增加N个监测点标签(Tag),支持Modbus RTU/ASCII/TCP协议,以保证监测数据在SSIO框架内的流程与交互,后期会增加对监测点的管理工具。增加标签,如下图:

8.OPC客户端


OPC客户端仅支持DA模式,可以读取远程OPC Server的数据信息,并保存到本地以及现次通过数据转发服务传递给其他节点。如下图:

 

9.OPC服务端


把设备驱动或OPC Client读上来的数据,通过OPC Server为其他系统提供可访问的接口,可以选择输出数据的设备点表或OPC Client点表。如下图:

 

10.数据转发(客户端)


可以增加转发任务,主动连接其他服务器端,并且根据设备点表和OPC Client点表配置要转发的数据,可以实现物联网建设的级联以及直接连接云端。可以填写“站点编号”,把本机当作站点,方便云端进行管理。如下图:

11.数据转发(服务端)


支持远程客户端主动连接ServerSuperIO,并针对已经连接的终端设备(PC机、手机、Web(Socket)业务系统等)转发设备点表和OPC Client点表的数据,实现数据向终端的分发。如下图:

12.展望


下一篇文章已经写好《助力中小企业级连云端,促进工业互联网平台蓬勃发展,全套解决方案》,将来一体化智能网关、ServerSuperIO 4.0、实时数据库、Web组态整体进行方案介绍,实现基础技术体系化应用。

物联网&集成技术(.NET) QQ群:54256083

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

ServerSuperIO Designer IDE 发布,打造物联网通讯大脑,随心而联。附:C#驱动源代码。的更多相关文章

  1. 《ServerSuperIO Designer IDE使用教程》-1.标准Modbus和非标准协议的使用、测试以及驱动开发。附:v4.2发布

    ServerSuperIO Designer IDE v4.2版本更新内容: 增加ServerSuperIO.Host运行程序,可以使用IDE进行测试,Host为运行环境. 针对设备驱动增加导入监测点 ...

  2. 《ServerSuperIO Designer IDE使用教程》- 6.增加与阿里云物联网(IOT)对接服务,实现数据交互。发布:v4.2.4 版本

    v4.2.4 更新内容:1.增加了对接阿里物联网平台的服务.下载地址:官方下载   6. 增加与阿里云物联网(IOT)对接服务,实现数据交互  6.1    概述 为了满足业务系统数据上云的要求,Se ...

  3. 《ServerSuperIO Designer IDE使用教程》- 7.增加机器学习算法,通讯采集数据与算法相结合。发布:4.2.5 版本

    v4.2.5更新内容:1.修复服务实例设置ClearSocketSession参数时,可能出现资源无法释放而造成异常的情况.2.修复关闭宿主程序后进程仍然无法退出的问题.2.增加机器学习框架.3.优化 ...

  4. 《ServerSuperIO Designer IDE使用教程》- 5.树形结构管理设备驱动,小版本更新。发布:v4.2.3.1版本

    v4.2.3.1 更新内容:1.选择和管理设备驱动,增加树状结构显示.2.优化ide代码,核心代码没有改动.下载地址:官方下载 5. 树形结构管理设备驱动,小版本更新 5.1    概述 此次升级主要 ...

  5. 《ServerSuperIO Designer IDE使用教程》-4.增加台达PLC驱动及使用教程,从0到1的改变。发布:v4.2.3版本

    v4.2.3 更新内容:1.优化数据存储部分,提高效率.2.修复数据库服务停止造成程序异常退出的现象.3.修复本机没有串口造成无法增加设备驱动的情况.4.增加编辑设备和监测点配置信息功能.5.增加台达 ...

  6. 《ServerSuperIO Designer IDE使用教程》-3.Modbus协议,读取多个寄存器,实现多种数据类型解析。发布:v4.2.2版本

    更新内容,v4.2.2版本:1.增加Modbus协议读取多个寄存器,并且按多种数据类型解析数据.2.Modbus Serial和Modbus TCP两个驱动合并成一个驱动.3.修改数据库结构,保存配置 ...

  7. 《ServerSuperIO Designer IDE使用教程》-2.与硬件网关数据交互,并进行数据级联转发,直到云端。发布:v4.2.1版本

    v4.2.1 更新内容:1.重新定义数据转发文本协议,使网关与ServerSuperIO以及之间能够相关交互数据.2.扩展ServerSuperIO动态数据类的方法,更灵活.3.修复Designer增 ...

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

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

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

    [连载]<C#通讯(串口和网络)框架的设计与实现>-1.通讯框架介绍 [连载]<C#通讯(串口和网络)框架的设计与实现>-2.框架的总体设计 目       录 C#跨平台物联 ...

随机推荐

  1. python视频教程全集

    由于Python语言的简洁.易读以及可扩展性,在国外用Python做科学计算的研究机构日益增多,一些知名大学已经用它来教授程序设计课程.如果你想找python视频教程全集,来这就对了!这是链接: py ...

  2. 将传统项目改造为SSM框架的项目

    首先 第一步改变传统dao层 先要再resource文件夹下创建一个applicationContext.xml  内容如下 关键代码     <!--        使spring扫描包下的所 ...

  3. 开源项目 easydownload

    一个用于下载的 android library库,   源码 支持多线程断点下载, 支持消息通知. 支持优先级下载. 支持暂停,继续,删除下载列表 支持多服务器下载. 使用方式 compile 'co ...

  4. 简述Handler机制

    我会对android的消息处理有三个核心类逐步介绍,他们分别是:Looper,Handler和Message.其实还有一Message Queue(消息队列),知道它是队列即可,就像我们所熟知的数组, ...

  5. 关于苹果APP的上架整理

    由于苹果的机制,在非越狱机器上安装应用必须通过官方的App Store,开发者开发好应用后上传App Store,也需要通过审核等环节.AppCan作为一个跨主流平台的一个开发平台,也对ipa包上传A ...

  6. 人体姿态的相似性评价基于OpenCV实现最近邻分类KNN K-Nearest Neighbors

    最近学习了人体姿态的相似性评价.需要用到KNN来统计与当前姿态相似的k个姿态信息. 假设我们已经有了矩阵W和给定的测试样本姿态Xi,需要寻找与Xi相似的几个姿态,来估计当前Xi的姿态标签. //knn ...

  7. linux centos ubentu安装IPython四种方法

    IPython是Python的交互式Shell,提供了代码自动补完,自动缩进,高亮显示,执行Shell命令等非常有用的特性.特别是它的代码补完功能,例如:在输入zlib.之后按下Tab键,IPytho ...

  8. 本地git部署web连接azure的git存储库

    ​​​本地git部署web 创建本地存储仓库 输入以下命令创建git本地仓库(会在当前目录下生产一个.git的目录) git init 然后提交内容 在git仓库所在的目录下存放好需要的网页文件 将文 ...

  9. [smartMenu.js] 一个基于jquery的实用的右键拓展菜单栏插件

    正在为电子书阅读器添加精准易用的标记功能,其中一个方案是扩展阅读器界面的右键菜单栏,使得用户右键点击某个词.子句.段落的时候可以进行扩展操作. 右键菜单栏有很多基于jQuery的插件,其中灵活性比较强 ...

  10. 爱立信开始大规模mesh网络测试

    mesh网络可谓是物联网之关键,相较于传统有线技术,无线连接的mesh网络实施成本较低,而且更具有适应性和可扩展性,让高通信量的应用更加可靠. 虽然Thread和ZigBee等细分技术也能提供标准化的 ...