完成两种数据类型解析,测量检验以至驱动开拓

ServerSuperIO Designer IDE
v4.2版本更新内容:

  • style=”font-size: 16px;”>增加ServerSuperIO.Host运行程序,可以使用IDE进行测试,Host为运行环境。
  • style=”font-size: 16px;”>针对设备驱动增加导入监测点功能。
  • style=”font-size: 16px;”>修复OPC客户端配置后关闭窗体慢的情况。
  • 修改保存Tag值为object对象。
  • 优化其他代码。

更新内容,v4.2.2版本:
style=”font-size: 16px;”>1.增加Modbus协议读取多个寄存器,并且按多种数据类型解析数据。
2.Modbus Serial和Modbus
TCP两个驱动合并成一个驱动。
style=”font-size: 16px;”>3.修改数据库结构,保存配置信息。
style=”font-size: 16px;”>4.优化ServerSuperIO核心代码,应用过程中的潜在问题。

v4.2.2
下载地址:官方下载



 目       录

 目       录

1.标准Modbus和非标准协议的使用、测试以及驱动开发…
2

3.
Modbus协议,读取多个寄存器,实现多种数据类型解析… 2

1.1           概述… 2

3.1           概述… 2

1.2           标准Modbus的使用和测试…
2

3.2           Modbus基础知识… 2

1.3           非标准协议的使用和测试…
2

3.3          
读取多个寄存器,多种数据类型解析… 4

1.4           设备驱动的开发… 2

3.4           实现效果展示… 6


3.5           未来驱动的规划… 7

 1.1    概述

 

       Designer
IDE完全是在ServerSuperIO基础上进行开发,当然二次开发者也可以开发自己的IDE环境,应用到公司的产品和项目中。以前开发过一个IDE环境,但是离产品化还比较远。Designer
IDE的框架相对比较成熟,并且扩展性比较好,可以使用Designer
IDE进行系统开发和配置,使用ServerSuperIO.Host正式部署运行。

2.1    概述

     
在发布《标准Modbus和非标准协议的使用、测试以及驱动开发》之后,有些网友反馈在Modbus协议驱动方面是否可以实现读多个寄存器和按多种数据类型解析数据。一是平时工作比较忙,二是有些犯懒。在传感器及仪器仪表行业用到Modbus协议的情况比较多,但是大部分使用都比较简单,可能往往只需要一个命令读取数据,对返回数据进行解析。我认为针对这种情况开发一个简单的驱动非常简单,加之网友的水平参差不齐,也没有针对网友的反馈进行积极的回应。但是从一个产品的角度考虑,确实应该进行完善,也确实有市场方面的需求,有很多公司是借鉴Modbus协议形式进行自定义协议,情况比较复杂。所以,利用出差的这段时间,针对Modbus驱动实现读取多个寄存器和按多种数据类型解析数据,以满足不同应用现场的需求。

      
以后还会与Web组态对接,用于图形化建模,从底层传感器到云端监测快速实现“即接即显示”,通讯和图形建模充分解耦,是将来高速网络(例如5G)环境建设的发展趋势。同时,为中小企业售前设计、项目部署和实施提供全方位的解决方案。整体的应用,希望对于公司和人个都会有实质的提升。

2.2    Modbus基础知识

     
Modbus采用的通讯机制为呼叫应答方式,或叫主从方式(master/slave)。主机发送请求命令,从机接到命令后进行校验数据的完整性,以及确定是否发给自己的命令,校验成功后,返回指定的数据信息,完成一次完整的通讯。呼叫应答通讯机制如下图:

图片 1

      
Modbus协议依靠网络传输层定义了一个简单的数据传输协议,串口通讯(Modbus
Serial)的RTU和ASCII模式以及网络通讯(Modbus
TCP)模式在协议编码和操作方面有所区别。基本协议格式如下图:

图片 2

      下位机地址和功能码,示意图:

图片 3

 

      
白皮书介绍:下载地址。

       ServerSuperIO Designer IDE 4.2
下载:。

2.3    读取多个寄存器,多种数据类型解析

      
主要针对【寄存器个数】和【解析数据方式】两个选择进行升级,在设备驱动中增加监测点的时候,可以选择这两项内容。如下图:

图片 4

       
1个寄存器个数代码2个字节,转换成字节数的公式为:读取数据字节数=寄存器个数*2,根据实际情况设置。

       
解析数据方式为24种,主要针对short、ushort、int、uint、float和double数据类型进行解析,由于传感器与电脑的高低位排序有所差异,所以针对同一种数据类型分不同的解析方式。解析数据方式,如下图:

图片 5

1.2    标准Modbus的使用和测试

2.4    实现效果展示

       使用Modbus TCP进行演示,连接Modbus
Slave,127.0.0.1:502,读取1个数据点,按“short,2字节,顺序:先高后低”解析数据,如下图:

图片 6

      
有很多设备或传感器号称是Modbus协议,但是实际中对标准的Modbus协议进行修改,这种情况很多,本质上自定义协议。

2.5    未来驱动的规划

      
ServerSuperIO相当于系统建设中数据交互的中枢,将来对下连接各种PLC及传感器,也在积极规划开发基于各种PLC的驱动;对上连接WEB组态以及管理系统。所有都通过配置完成,为中小企业提供一站式的项目解决方案,降低成本、提高效率。

       最近国产自主安全可控的redcore
browser浏览器融资2.5个亿,实际上使用是的Google的开源内核,假设有“创新”的成分,估计也只是皮毛。尽管ServerSuperIO算不上高大上,但是也算是积累了10年的工作经验,算是真正的自主安全可控。哈哈……。


 1.[连载]《C#通讯(串口和网络)框架的设计与实现》

 2.[开源]C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍

 2.应用SuperIO(SIO)和开源跨平台物联网框架ServerSuperIO(SSIO)构建系统的整体方案

 3.C#工业物联网和集成系统解决方案的技术路线(数据源、数据采集、数据上传与接收、ActiveMQ、Mongodb、WebApi、手机App)

 5.github地址:

 6.助力中小企业级连云端,促进工业互联网平台蓬勃发展,全套解决方案。

 物联网&集成技术 QQ群:54256083 

(1)下载Modbus
Slave,并进行设置

    
自行百度下载,主要用于模拟使用Modbus协议的终端设备和传感器。不明白Modbus协议的朋友们,先补补课。实现运行效果,如下图:

图片 7

     步骤一:接下来对Modbus
Slave进行设置,选择【Setup】->【Slave Definition】,
对从机地址、功能码、寄存器开始地址和数量进行设置,如下图:

图片 8

     步骤二:下载Virtual Serial Port
Driver虚拟串口软件,实现COM1与COM2的虚拟连接。如下图:

图片 9

    
步骤三:选择【Connection】->【Connect】,对通讯的关键参数进行设置,如下图:

图片 10

          
至此,模拟数据源终端设置完毕。

(2)部署Designer
IDE,并进行设置,实现与Modbus Slave通讯

      步骤一:部署Designer
IDE,最新版本是v4.2,下载地址:,具体部署请参见:《部署手册.docx》。运行ServerSuperIO.Designer.exe主界面,如下图:

图片 11

    
步骤二:右键单击【服务实例】->【增加服务实例】,对服务的基本参数进行设置,其他参数可以保持不变,如果有场景需要高级参数设置,那么需要视情况而定。一个服务实例可以挂载多个设备驱动、服务插件等。如下图:

图片 12

    
步骤三:在刚才创建的服务实例,右键单击选择【设备驱动管理】,可以看到右边的区域有设备管理和相应设备的监测点管理。如下图:

图片 13

    
步骤四:选择【增加设备驱动】,以设备基本参数和通讯参数进行设置,如下图:

图片 14

发表评论

电子邮件地址不会被公开。 必填项已用*标注