【纸飞机串口调试工具】多窗口绘图(ModbusRTU协议)

纸飞机串口工具介绍

纸飞机一款性能强劲且专业的串口/网络/HID调试助手,具有多窗口绘图、关键字高亮、数据分窗和数据过滤等众多功能,可以极大的方便嵌入式开发人员的调试过程。本文介绍多窗口绘图下的ModbusRTU协议。

软件下载和视频教程

下载链接:https://io.comassistant.cn
绘图教程:https://www.bilibili.com/video/BV1E3411E7vu
功能演示:https://www.bilibili.com/video/BV1df4y1k71h

适用场合

ModbusRTU属于业界标准,支持CRC校验、且是十六进制传输。因此适用于对端已经支持ModbusRTU、或者要求数据能够可靠高效传输和存储,并且不在意数据可阅读性的场合。

协议介绍

纸飞机也支持符合业界标准的ModbusRTU协议,但是只支持功能码03应答帧的协议格式。大多情况,对端设备可能需要收到请求帧,才会返回应答帧给纸飞机,所以这里将请求帧和应答帧的格式都列举出来。

请求帧协议格式如下:

功能定义地址码功能码起始地址数据长度校验低位校验高位
数据长度1字节1字节2字节2字节1字节1字节

应答帧协议格式如下:

功能定义地址码功能码数据长度数据内容校验低位校验高位
数据长度1字节1字节1字节n字节1字节1字节

注意:

  1. 纸飞机只是按照协议格式进行解析,并不限制功能码和地址码具体是多少,因此这两个字段你可以从0x00~0xFF里任意选择,只要你的对端设备能够支持。
  2. 数据内容中的n字节数据就是要绘制曲线的数据,可以有多个数据代表多个曲线,但是同一时间只能有同一个数据类型。比如
    1. 数据长度 = 数据类型所占用字节 x 数据个数
    2. 不支持诸如1条int8类型+1条float类型的数据组合,因为不是同一个数据类型
  3. 数据转换为十六进制数据流发送时,是有大小端(字节序)的概念,低位数据先发送还是高位数据先发送一定要搞清楚,并在软件上选择好,否则解析一定出问题

绘图演示

首先我们要确保软件选择了正确的协议,打开数据可视化,并打开串口
在这里插入图片描述

假设,下位机发来了2个int16类型的数据要绘图,数据部分是大端发送的,地址码为0x01,功能码为0x03。那么我们应该按照这些信息设置好纸飞机的参数
在这里插入图片描述

如果数据内容部分的第一个数据是300(0x012C),第二个数据是500(0x01f4),那么字节流应该如下:

功能定义地址码功能码数据长度数据内容校验低位校验高位
数据长度1字节1字节1字节n字节1字节1字节
数据举例0x010x030x040x01 0x2c 0x01 0xf40x3A0x11

绘图结果应该如下:
在这里插入图片描述

多窗口绘图

上一个节(最后一个图片)我们已经看到,纸飞机在解析出曲线后会自动的创建一个“ADDR:01 FUNC:03”的绘图窗口,这里分别对应的是地址码和功能码,所以我们只需要使用不同的地址码或者功能码,就可以让纸飞机自动的完成多窗口绘图的功能。这里不再演示。

如何计算CRC

如何在纸飞机上计算CRC

纸飞机提供了CRC校验工具可供用户快速验证CRC结果,打开功能——工具箱——数据校验工具即可。
在这里插入图片描述
打开数据校验工具后,选择对应的计算模型即可,纸飞机支持MD5、SHA、CRC、SUM、ADD、XOR等数十种计算模型,这里我们选择CRC16-MODBUS即可。随后输入要计算的数据即可自动算出对应的CRC。
在这里插入图片描述

如何在下位机上计算CRC

在我们提供的软件压缩包里,自带了计算CRC-MODBUS的源代码,仅1个头文件,将其添加进你的工程即可,非常简单,此处不再展开,目录结构如下:

  • ComAssistant_MSVC.zip
    • 绘图教程
      • 绘图示例数据
        • 部分协议的C语言示例代码.zip
          • 部分协议的C语言示例代码
            • protocol_demo_code
              • 1.非文本协议(十六进制数据)
                • ModbusRTU
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值