加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

【教程】迪文串口屏ModBus开发流程

07/19 11:20
2386
阅读需 6 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

这里接前一章节,继续迪文屏的开发,前章主要讲解基础开发流程,此章节开始讲解迪文ModBus协议栈的使用方法。

前文指路:《迪文串口屏基础GUI开发流程》

协议栈获取,首先在迪文官方论坛上获取ModBus协议栈的OS程序,官方提供了众多不同的例程,是通过组合不同的串口及波特率等组合方式配合协议栈完成的,此处选择的是基于UART5-485/115200波特率的示例程序。

将其下载下来后,解压目录包含如下文件:

文件作用解析如下:

我们需要用到的仅有两个bin文件,将DWINOS-xx.bin和22_xx.bin放入SD卡中的DWIN_SET目录下,屏幕断电,插入SD卡后再上电,即可看到屏幕开始更新SD卡中的内容。

22文件内有两条默认的指令用于测试,使用能够查看BIN文件的工具,官方有推荐其他工具,各位也可以选择自己熟悉的工具,只要能够编辑bin文件即可。这里笔者选择已经安装好的J-Flash软件打开,将22_Master_Poll.bin 拖入J-Flash软件,在顶部将其定位到0X1C000位置处可以看到如下数据:

刚开始可能看不懂代表的具体意思,迪文论坛上有人自制了22文件的图形化编辑工具,有需要.net环境版本的,也有不需要环境直接运行的,区别就是用.net环境的会比不需要环境的压缩包更小,为了省掉不必要的麻烦,在这里选了不依赖.net环境的下载,下载后内容如下:

双击DwinModBus.exe即可正常打开,打开后选择从22文件导入数据即可看到每条指令分别代表什么意思。

这里按屏幕提示正常按需求添加ModBus指令即可,但需要注意的是,部分功能码对GUI界面的变量地址做出了要求,例如使用05码控制单个线圈,官方在手册中对位定义做出了要求,变量地址必须在0X0110到0X011F之间,每个变量分为16bit,最多256个bit位。对其他的部分功能码也有相关的限制,需要查手册或论坛以及询问技术支持。

按要求,需要读取ModBus从机数据并将其显示到页面上,假设从机ModBus地址为1,数据位于输入寄存器2000号地址,浮点型,两个寄存器数据表示一个浮点数,将其读取出来后显示到GUI的1000变量地址上,则在图形化22配置工具上应输入如下指令:

启用标记:在命令的开头必须是0X5A代表本条ModBus指令被启用,其余数据代表不起用

从机ID:从机ModBus地址

命令:ModBus功能码

本条指令长度:要从目标寄存器开始读取多少个寄存器数量

接收超时时间:主机发出消息后等待从机的响应时间,从解释来看,是16进制,单位是ms

执行方式:可以选择附加条件的执行,具体可以查看软件上的注释,这里选择00即是无条件执行

附加限制:指的是在开启附加条件时根据此条件进行发送

DGUS变量地址:指的是GUI上用户设置的用于显示数据的变量地址,也就是前文中设置的数据显示地址

寄存器地址:读取从机的起始寄存器地址

当配置完成后,点击生成ModBus指令按钮即可导出设置的ModBus命令集,但注意,这个软件有bug,生成的指令对齐格式不对,无法直接使用,可以看到在默认的22文件中,两条指令之间即5A开头之间是相差了16个字节的,但使用这个软件进行多指令生成时可以看到是不一致的。

咨询了官方,图形配置工具已经在制作了,预计还要一段时间,建议各位使用这个工具时还是用来熟悉指令格式,自己手动修改bin文件。虽然软件生成有问题,但加载是正常的,可以用来验证手改bin的效果是否达到。

指令添加完成后,使用串口工具进行下载,即可在串口5上使用485转换器接收到主机发出的ModBus指令。

此时使用< ModBus Slave>模拟从机设备,建立如下寄存器:

点击上方的connect选择好对应的串口参数,即可查看到主机与模拟器的交互过程。

此时,屏幕上的指定变量应当会显示模拟器中的数据。

参考资料:

【分享】免配置22文件生成MODBUS主机参数工具 - Modbus通信开发 - 迪文科技论坛 - Powered by Discuz! (dwin.com.cn)

【开发资料】T5, T5L 系列MODBUS_RTU 协议通讯 os源码-升级版 - Modbus通信开发 - 迪文科技论坛 - Powered by Discuz! (dwin.com.cn)

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
LAN8720AI-CP-TR 1 SMSC Ethernet Transceiver, 1-Trnsvr, CMOS, 4 X 4 MM, 0.85 MM HEIGHT, ROHS COMPLIANT, QFN-24
$1.74 查看
KSZ9897RTXI-TR 1 Microchip Technology Inc IC ETHERNET SWITCH 7PORT 128TQFP

ECAD模型

下载ECAD模型
$12.98 查看
CC3100MODR11MAMOBT 1 Texas Instruments SimpleLink&trade; Wi-Fi CERTIFIED&trade; network processor module for Internet-of-Things with 2 TLS/SSL 63-QFM -20 to 70
$17.55 查看

相关推荐

电子产业图谱