更新内容,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. anacodna/python 安装 tensorflow

    study from : https://www.cnblogs.com/HongjianChen/p/8385547.html 执行1-6 7 安装jupyter 每次使用tensorflow,都要 ...

  2. python入门篇

    第一篇:python入门 第二篇:数据类型.字符编码.文件处理 第三篇:函数 第四篇:模块与包 第五篇:常用模块 第六篇:面向对象 第七篇:面向对象高级 第八篇:异常处理 第九篇:网络编程 第十篇:并 ...

  3. centos7安装与配置nginx1.11,开机启动

    1.官网下载安装包 http://nginx.org/en/download.html,选择适合Linux的版本,这里选择最新的版本,下载到本地后上传到服务器或者centos下直接wget命令下载. ...

  4. rsync + sersync 实现实时数据同步

    一.环境: 主机1:youzhuan-bak     centos 7.2 主机2:youzhuan-online   centos 7.2 二.部署过程: youzhuan-bak : [root@ ...

  5. Luogu P1082 同余方程(NOIP 2012) 题解报告

    题目传送门 [题目大意] 求关于x的同余方程 ax≡1(mod b)的最小整数解. [思路分析] 由同余方程的有关知识可得,ax≡1(mod b)可以化为ax+by=1,此方程有解当且仅当gcd(a, ...

  6. mysql linux utf-8 下中文乱码

    SET character_set_client='utf8'; SET character_set_connection='utf8'; SET character_set_results='utf ...

  7. 在windows下安装php redis扩展

    我在本地是phpstudy集成环境,但是没有redis扩展,需要自己安装 1.先看清楚自己的php配置,在安装对应的 php_redis.dll 和 php_igbinary.dll php_redi ...

  8. 使用nc传输文件和目录【转】

    方法1,传输文件演示(先启动接收命令) 使用nc传输文件还是比较方便的,因为不用scp和rsync那种输入密码的操作了 把A机器上的一个rpm文件发送到B机器上 需注意操作次序,receiver先侦听 ...

  9. day17——其他内置函数

    zip函数: print(list(zip(('a','b','c'),(1,2,3)))) p={'name':'alex','age':18,'gender':'none'} print(list ...

  10. Allowed memory size of 134217728 bytes exhausted

    错误信息: Allowed memory size of 134217728 bytes exhausted (tried to allocate 65015808 bytes) 由于报错信息和数据库 ...