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

简介: 1.概况       注:ServerSuperIO Designer IDE 同行业网友随便使用,不涉及到软件使用限制的问题。      从2015年到现在的将近两年的时间,一直在开发、完善ServerSuperIO(SSIO)的基础框架,包括:多通讯机制、稳定性、扩展性等,没有太多时间把工作放在UI的设计与开发上,从二次开发者角度来讲易用性是短板。

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.Service

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

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
6月前
|
存储 传感器 物联网
新技术驱动未来:区块链、物联网、虚拟现实的蓬勃发展与创新应用
随着科技的迅猛发展,新兴技术如区块链、物联网、虚拟现实等正成为当今社会关注的焦点。本文将探讨这些新技术的发展趋势和广泛应用场景,展示它们在不同领域中的潜力与创新价值。
|
2月前
|
传感器 物联网 5G
5G技术:物联网与实时通讯的融合
【9月更文挑战第27天】第五代移动通信技术(5G)与物联网(IoT)的融合正引领我们进入智能化新时代。5G凭借高速率、低时延和大连接等特点,为物联网的广泛应用奠定了基础。本文深入探讨5G技术特点及与物联网融合带来的革命性变革,涵盖智能家居、工业自动化、智慧城市和医疗健康等多个领域。尽管面临数据安全、网络建设和设备互操作性等挑战,但5G与物联网的融合将推动各行各业实现前所未有的变革和机遇,助力实现更加智能、互联的新时代。
|
2月前
|
物联网 C# C语言
物联网开发中C、C++和C#哪个更好用
在物联网(IoT)开发中,C、C++和C#各有优缺点,适用场景不同。C语言性能高、资源占用低,适合内存和计算能力有限的嵌入式系统,但开发复杂度高,易出错。C++支持面向对象编程,性能优秀,适用于复杂应用,但学习曲线陡峭,编译时间长。C#易于学习,与.NET框架结合紧密,适合快速开发Windows应用,但性能略低,平台支持有限。选择语言需根据具体项目需求、复杂性和团队技术栈综合考虑。
|
3月前
|
编译器 C# Windows
C#基础:手动编译一个.cs源代码文件并生成.exe可执行文件
通过上述步骤,应该能够高效准确地编译C#源代码并生成相应的可执行文件。此外,这一过程强调了对命令行编译器的理解,这在调试和自动化编译流程中是非常重要的。
282 2
|
4月前
|
存储 边缘计算 人工智能
云上物联网:连接万物,驱动智能未来
标准化与互操作性:随着物联网设备的不断增多和应用场景的日益广泛,标准化和互操作性将成为云上物联网发展的重要趋势。通过制定统一的标准和规范,实现不同品牌、不同型号物联网设备之间的互联互通和互操作,将大大提升云上物联网的灵活性和可扩展性。 边缘计算与云端协同:未来的云上物联网将更加注重
162 7
|
5月前
|
消息中间件 物联网 Linux
Linux怎么安装czmq(物联网消息通讯轻量级消息队列)
Linux怎么安装czmq(物联网消息通讯轻量级消息队列)
55 8
|
5月前
|
传感器 供应链 物联网
新兴科技驱动下的未来:区块链、物联网与虚拟现实的发展与应用探析
随着科技的迅猛发展,区块链、物联网和虚拟现实等新兴技术正成为未来的关键驱动力。本文将深入探讨这些技术的发展趋势与广泛应用场景,揭示它们在不同领域中的革新潜力和实际应用价值。
41 1
|
5月前
|
人工智能 缓存 Java
技术经验解读:【转】详细解析用C#写的小游戏《彩色连珠》(附源代码)
技术经验解读:【转】详细解析用C#写的小游戏《彩色连珠》(附源代码)
25 0
|
6月前
|
物联网 区块链 vr&ar
新兴科技驱动未来发展:区块链、物联网和虚拟现实的趋势与应用探讨
随着科技的不断进步,新兴技术如区块链、物联网和虚拟现实正日益成为各行业关注的焦点。本文将就这些新兴技术的发展趋势和应用场景展开探讨,从而揭示它们在未来社会发展中的重要作用。
45 3
|
6月前
|
物联网 定位技术
【技术探讨】一种多节点5Km(1.2M bps速率)实时Sub-G无线通信的物联网通讯解决方案
针对在高速公路上货车行驶过程中收集5公里范围内的GPS定位数据,上报云服务器端,最终实时显示每一辆货车的运行轨迹,用户的项目需求如下:200辆货车(无线从站节点),要求很高的实时性,每秒发5包,每个GPS定位数据报文30个字节,这样200辆车同时上报每秒需要发送30K的字节(200 x 5 x 3 0 =30K字节),30K字节 x 8bit=240 k bps速率。

相关产品

  • 物联网平台