《ServerSuperIO Designer IDE使用教程》-3.Modbus协议,读取多个寄存器,实现多种数据类型解析。发布:v4.2.2版本
更新内容,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年的工作经验,算是真正的自主安全可控。哈哈……。
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版本的更多相关文章
- 《ServerSuperIO Designer IDE使用教程》- 5.树形结构管理设备驱动,小版本更新。发布:v4.2.3.1版本
v4.2.3.1 更新内容:1.选择和管理设备驱动,增加树状结构显示.2.优化ide代码,核心代码没有改动.下载地址:官方下载 5. 树形结构管理设备驱动,小版本更新 5.1 概述 此次升级主要 ...
- 《ServerSuperIO Designer IDE使用教程》-1.标准Modbus和非标准协议的使用、测试以及驱动开发。附:v4.2发布
ServerSuperIO Designer IDE v4.2版本更新内容: 增加ServerSuperIO.Host运行程序,可以使用IDE进行测试,Host为运行环境. 针对设备驱动增加导入监测点 ...
- 《ServerSuperIO Designer IDE使用教程》-2.与硬件网关数据交互,并进行数据级联转发,直到云端。发布:v4.2.1版本
v4.2.1 更新内容:1.重新定义数据转发文本协议,使网关与ServerSuperIO以及之间能够相关交互数据.2.扩展ServerSuperIO动态数据类的方法,更灵活.3.修复Designer增 ...
- 《ServerSuperIO Designer IDE使用教程》-4.增加台达PLC驱动及使用教程,从0到1的改变。发布:v4.2.3版本
v4.2.3 更新内容:1.优化数据存储部分,提高效率.2.修复数据库服务停止造成程序异常退出的现象.3.修复本机没有串口造成无法增加设备驱动的情况.4.增加编辑设备和监测点配置信息功能.5.增加台达 ...
- 《ServerSuperIO Designer IDE使用教程》- 6.增加与阿里云物联网(IOT)对接服务,实现数据交互。发布:v4.2.4 版本
v4.2.4 更新内容:1.增加了对接阿里物联网平台的服务.下载地址:官方下载 6. 增加与阿里云物联网(IOT)对接服务,实现数据交互 6.1 概述 为了满足业务系统数据上云的要求,Se ...
- 《ServerSuperIO Designer IDE使用教程》- 7.增加机器学习算法,通讯采集数据与算法相结合。发布:4.2.5 版本
v4.2.5更新内容:1.修复服务实例设置ClearSocketSession参数时,可能出现资源无法释放而造成异常的情况.2.修复关闭宿主程序后进程仍然无法退出的问题.2.增加机器学习框架.3.优化 ...
- ServerSuperIO Designer IDE 发布,打造物联网通讯大脑,随心而联。附:C#驱动源代码。
1.概况 注:ServerSuperIO Designer IDE 同行业网友随便使用,不涉及到软件使用限制的问题. 从2015年到现在的将近两年的时间,一直在开发.完善ServerSuperIO(S ...
- 利用Modbus协议读取电能表的数据
1.电脑要有485转232的转换器2.你要看懂DLT_645—1997规约的通讯协议,现在大多电能表厂都会遵行这个通讯协议,DLT_645—1997规约不是最新的通讯协议.就看电表的使用什么通讯协议. ...
- RS485通信和Modbus协议(转)
转自:http://www.51hei.com/bbs/dpj-23230-1.html 在工业控制.电力通讯.智能仪表等领域,通常情况下是采用串口通信的方式进行数据交换.最初采用的方式是RS232接 ...
随机推荐
- 关于gcd的四道题
T1:bzoj2705 题目描述: 给定一个n求\(\sum\limits_{i=1}^ngcd(i,n)\) 因为n太大,所以O(n)的做法肯定不行,然后就去想根号的方法. \[\sum\limit ...
- spring的DI.IoC是什么
最近要搞spring的单元测试,不得已啊啊啊啊啊啊啊啊啊又要开始搞spring…… 日目晶…… 搞这几个概念,先甩一部分代码: UserDao 接口 package com.itheima.ioc; ...
- MongoDB用户权限认证
关于用户的认证及权限 用户是跟着库创建的,在哪个库创建的什么权限的什么用户,只对此库有相应权限(除超级管理员以外). 官网文档:https://docs.mongodb.com/master/refe ...
- finalize()与PhantomReference学习笔记
众所周知,Java语言提供了自动垃圾回收机制,使得程序员不用考虑自己释放不再使用的内存.既然回收内存的活都让Java自己干了,程序员在这方面能干的事情就不多了.尽管如此,Java也提供了一些让程序员对 ...
- 关于 Duplicate detection rules 自动 unpublish 的问题
最近发现自己建立的 Duplicate detection rules 在 publish 之后,会不定时地变成 unpublish 的状态,经过几次测试后,发现是每次将开发中版本更新到测试的 sit ...
- linux下的/dev/shm/ 以及与swap目录的区别【转】
/dev/shm 概念 首先可以看出来/dev/shm是一个设备文件, 可以把/dev/shm看作是系统内存的入口, 可以把它看做是一块物理存储设备,一个tmp filesystem, 你可以通过这个 ...
- docker部署archery
一.centos7部署docker 1 通过 uname -r 命令查看你当前的内核版本 uname -r 2 确保 yum 包更新到最新. yum update 3 卸载旧版本 yum remov ...
- 【SQL学习笔记】一、select语句
SQL有别于其他的编程语言的一点在于首先处理的并不是写在第一行的语句(select),而是from字句. 为了更详细的了解select语句的每个部分,举例如下: 该语句返回的结果是下订单超过4次的女顾 ...
- 《.NET手札》
第一记 .net是一个平台,即.NET Framework平台 c#是基于.net平台的开发语言 .net的两种交互模式: B/S : 即浏览器(Browser)/服务器模式(Server) ...
- hibernate之事务处理
四个方面:事务的性质,事物的隔离级别,hibernate配置事务的隔离级别,使用事务小案例 1. 事务的性质: 四种性质:原子性,一致性,隔离性,持久性. 原子性:原子,不可再分.一个操作不能分为更小 ...