本文主要是介绍基于MODBUS-RTU下KC01-70T本安型人机交互界面外屏开发,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
一、MODBUS常见的寄存器
二、整体实现效果下图所示
三、问题?
四、MODBUS RTU Master
1.modbus All Fuction 驱动说明文档
2.优化PS
五、 通讯格式
该项目具体实现思路
基于莫迪康ModbusRTU,MODBUS通讯协议,触摸屏作为主站,负责与子设备进行通信,采用虚拟交叉互联的串口进行模拟的主从站收发来监视整车基础信息的操作。Modbus Slave 模拟从站,(Slave里面的数据发生改动,触摸屏就会显示出来,Slave功能码选03 04都可以)
一、MODBUS常见的寄存器
功能码01 | 线圈状态coil status | DO |
功能码02 | 离散输入input status | DI |
功能码03 | 保持寄存器Holding Register | HR |
功能码04 | 输入寄存器input Register | AR |
以Modbus Slave里面的报文(这里相当于从站上报的甲烷浓度等信息)为例:
主站请求(相当于slave RX): 01 04 00 00 00 04 F1 C9
01 04(从站地址 功能码) 00 00 (寄存器起始地址)00 04(寄存器个数) F1 C9
从站回复 slave TX(相当于主站接收):01 04 08 00 6F 00 70 00 71 00 72 2A FE
01 04 (从站地址 功能码)08(字节计数) 00 6F 00 70 00 71 00 72(这里是4个寄存器的数据) 2A FE(校验码)
例如:
第一组
TX:010400000004F1C9
[2023-12-20 04:02:41.290]
RX:01 04 08 00 59 00 00 00 05 00 00 FD 09
第二组
[2023-12-20 04:54:02.714] 功能码04
TX:010400000004F1C9
01 04 08 00 59 00 00 00 03 00 35 DD 1F
[2023-12-20 04:54:48.731]
TX:0103000000044409 功能码03
[2023-12-20 04:54:48.760]
RX:01 03 08 00 59 00 00 00 03 00 35 6C C5
二、整体实现效果下图所示
01 04 08 00 57 00 04 00 06 00 08 12 CF 这个com2发送出去没有响应
预设地址/站号: HMI默认为0,电脑默认为1
MODBUS RTU Slave(All Function):HMI主动发送数据给设备,设备是master被动的发送数据,协议地址从0开始,并且包含所有功能码
三、问题?
- 整车信息怎么给我
- KC01-70T超时列表怎么去掉
四、MODBUS RTU Master
MODBUS RTU Master:此协议是等待设备的主动发送,收到数据正确后才会回应给设备(设备是主动发送数据)
1.modbus All Fuction 驱动说明文档
注:modbus 协议还增加了字中取位的功能,可以访问像地址如 100.1 等格式的地址,不过发出去的功能码跟字读写的是一样的!
串口RX:02 04 00 00 00 04 F1 FA (触摸屏组作为从站发送数据)
[2023-12-21 11:09:00.593]
RX:02 04 00 00 00 04 F1 FA 02 04 00 00 00 04 F1 FA
[2023-12-21 11:16:21.026]
RX:02 03 00 00 00 04 44 3A 02 03 00 00 00 04 44 3A
[2023-12-21 12:00:09.187]
TX:020408001100220033004422730D0A
[2023-12-21 12:00:42.447]
TX:0203080004000300020001FB530D0A
按理来说:主站(电脑)请求数据02 04 00 00 00 04 F1 FA(TX),从站(触摸屏)负责接收数据(020408001100220033004422730D0A) com2在这代表主站(电脑)
实际上:从站(触摸屏)请求数据,主站(电脑)负责发送数据 ,com2在这代表从站(电脑)
总结:该触摸屏与协议正好相反,WLL项目应该让触摸屏做从站
实例如下:
01 03 08 00 70 00 02 00 05 00 05 4D D2
01 04 08 00 80 00 22 00 33 00 44 AD FE
通过触摸屏与设备的地址进行绑定,主从机设置相同的波特率,校验位,停止码,延时响应等信息作为通信基础条件,在KC01-70T上编写相应的函数,进行界面轮转和请求响应,完成对收发报文的解析。
2.优化PS
在此触摸屏和设备进行通信操作,要是还有一个上位机也要对设备进行控制和操作,有2种方案可以选择
1:上位机在和设备进行通信
2:让触摸屏做MODBUS TCP/IP数据转发
整车运行模式 :自动驾驶模式之间的切换
子状态展示这块应该怎么做?
触摸屏作为从站:
(COM2)
RX:01 04 00 00 00 01 31 CA
TX:01 04 02 00 00 38 F1
触摸屏作为主站:这样的话寄存器类型只能选4
五、 通讯格式
这篇关于基于MODBUS-RTU下KC01-70T本安型人机交互界面外屏开发的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!