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

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


目       录

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

3.1           概述... 2

3.2           Modbus基础知识... 2

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

3.4           实现效果展示... 6

3.5           未来驱动的规划... 7

2.1    概述

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

2.2    Modbus基础知识

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

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

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

    白皮书介绍:下载地址

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

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

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

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

2.4    实现效果展示

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

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地址:https://github.com/wxzz/ServerSuperIO

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    1.概况 注:ServerSuperIO Designer IDE 同行业网友随便使用,不涉及到软件使用限制的问题. 从2015年到现在的将近两年的时间,一直在开发.完善ServerSuperIO(S ...

  8. 利用Modbus协议读取电能表的数据

    1.电脑要有485转232的转换器2.你要看懂DLT_645—1997规约的通讯协议,现在大多电能表厂都会遵行这个通讯协议,DLT_645—1997规约不是最新的通讯协议.就看电表的使用什么通讯协议. ...

  9. RS485通信和Modbus协议(转)

    转自:http://www.51hei.com/bbs/dpj-23230-1.html 在工业控制.电力通讯.智能仪表等领域,通常情况下是采用串口通信的方式进行数据交换.最初采用的方式是RS232接 ...

随机推荐

  1. Redis的删除机制、持久化 主从

    转: Redis的删除机制.持久化 主从 Redis的使用分两点: 性能如下图所示,我们在碰到需要执行耗时特别久,且结果不频繁变动的SQL,就特别适合将运行结果放入缓存.这样,后面的请求就去缓存中读取 ...

  2. easyui Datagrid 表格高度计算及自适应页面的实现

    因为页面上既要计算表格的高度,又要自适应浏览器大小,之前都都采用固定表格高度,这样就会导致不同的分辨率电脑上看起来表格高矮不一, 所以采用了计算网页高度和其他div 的高度之差作为表格的初始高度: H ...

  3. 复选框checkbox——用背景图片替换样式

    input { border : none; display : inline-block; width : 25px; height : 25px; -webkit-apearance : none ...

  4. netty的简单的应用例子

    一.简单的聊天室程序 public class ChatClient { public static void main(String[] args) throws InterruptedExcept ...

  5. 002 网上看的unity学习路线

  6. SpringCloud笔记七:Zuul

    目录 什么是Zull 为什么需要Zuul 新建Zuul项目 运行Zuul Zuul的基本配置 忽略微服务的真实名称 设置统一公共前缀 总结 什么是Zull Zuul就是一个网关,实现的功能:代理.路由 ...

  7. .NET技术-2.0. 操作数据库-EF

    .NET技术-2.0. 操作数据库-EF 项目参见: EF安装配置 参见: https://www.cnblogs.com/1285026182YUAN/p/10772330.html https:/ ...

  8. Linux工具安装和常用配置

    1 常用开发工具安装 1 安装Mysql ①基本安装 wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm: s ...

  9. idea创建springboot Web项目

    一.File —— New —— Project 二.next 三.选择你要的骨架,然后 next.个人觉的这些不用选,因为就是帮你建了几个文件夹,导入了几个jar包依赖而已. 四.Finish 五. ...

  10. EF Core系列

    一. 二. 三. 系列章节 第一节:EF Core简介和CodeFirst和DBFirst两种映射模式(以SQLite和SQLServer为例) 第X节:XXXXXXXXXXXXXXXXXXXXXXX ...