modbus tcp通信协议在数据通讯上采用主从应答的方式进行。只能由主机通过唯一从机地址发起请求,从机根据主机请求进行响应,即半双工通讯。该协议只允许主机发起请求,从机进行被动响应。
一、格式形式
modbus rtu报文格式由地址码、功能码、寄存器地址、寄存器数量、crc校验码组成。
1)读取时的格式
2)写入时的格式
地址码: 表示从站地址
功能码: 选择报文的功能
寄存器地址: 设置读取或写入的寄存器起始地址
寄存器个数: 设置需要读取或写入寄存器的个数
写入数据字节数: 根据需要设置写入的数据字节个数
写入数据: 字节占用根据设置的写入数据字节数的变化而变化
crc校验码: 根据报文内容计算得出,不同报文的crc校验码不相同
二、软件配置
1)添加虚拟串口
虚拟串口工具的作用是模拟真实的串口设备,使得在没有实际设备的情况下对串口通信进行仿真。
a)设置串口号
进入虚拟串口软件后在添加端口栏中分别设置端口一和端口二的端口号,设置完成后单击“添加端口”按钮完成设置(在设置端口号时要避免与电脑实际的端口号冲突,可以将端口号设置的大一点)。
b)验证
右键单击系统开始图标进入设备管理器,在端口栏中可以显示添加的虚拟端口表示创建成功。
2)配置串口调试助手
打开串口调试助手后,按照下图设置参数。
3)配置modbus slave连接
依次单击菜单栏“connection”——“connect...”弹出连接配置窗口。
三、指令运用
由于modbus rtu通信协议的报文格式与modbus tcp的报文格式基本相同,所以此处只演示读线圈的操作,并介绍如何利用工具计算crc校验码。
1)项目要求
读取1号从站起始地址为00的连续8个线圈的状态。
2)设置modbus slave参数
将modbus slave中的从站地址设置为:01,寄存器线圈类型设置为:01 coil status(0x)。设置完成后单击“ok”连接主站,并修改线圈的状态。
3)计算crc校验码
a)进入“modbus调试器”界面
连接串口调试助手后,依次单击“左上角图标”选择“工具”——“modbus调试器”进入调试界面。
b)生成报文
先设置协议类型为:modbus rtu;然后,根据项目要求设置地址码、功能码、寄存器地址、线圈数量。
设置完成后单击“更新”按钮会自动生成带有crc校验码的报文。
主站发送报文解析如下图。
3)发送报文
在modbus调试界面单击“发送”按钮,将自动生成的报文发送给从站,并接收从站回复的报文。
从站回复报文解析如下图。
一文解读ADAS的市场现状及技术趋势
3大超好用视频类型,助你抖音快速上热门
ARM硬盘接口应用知识
集成电路封装测试等7个产业项目落地遂宁经开区
CMOS 相机成为嵌入式设备的重要组成部分分析
Modbus RTU通信报文解析
LiFi技术的优势特点、应用和市场发展趋势分析
【奖励来也】室内空气质量传感器点兵点将:让谁来守护你的呼吸健康?
linux中命令无法使用怎么办
TD无线固话设计思路的技术思考
MSP430常用的3V-5V转换电路选用指南
国外提出垂直农场的概念 矿井就是现成的温室
希捷科技发布首款18TB希捷酷鹰人工智能硬盘
WCDMA R6无线网络的流量特性和流量模型
一种数控DC电流源的设计与实现
江西鑫金晖智能科技受邀参加中国(吉安)电子信息融通对接活动
iphone8什么时候上市?iphone真机照曝光,或许这才是最新的iphone8
赛灵思的机器视觉的解决方案和优势
逃离无人驾驶公司
UVLED固化机使用时要注意哪些事项