快速弄懂RS485通信报文(Modbus协议简要说明)
Modbus协议作为一种广泛应用的工业自动化通信协议,通过串行通信线路(如RS-485)或以太网实现电子设备之间的数据交换。本文将重点对基于RS-485通信的Modbus协议报文进行简要说明。
Modbus协议作为一种广泛应用的工业自动化通信协议,通过串行通信线路(如RS-485)或以太网实现电子设备之间的数据交换。本文将重点对基于RS-485通信的Modbus协议报文进行简要说明。
适用于本司 STM-M系列一体化步进伺服电机 、 BLM系列一体无刷电机 、 PMM(P)系列一体伺服电机 。
一、常见功能码说明
|
| 功能码 | 名称 | 备注 |
16比特访问 | 输入存储器 | 0x04 | 读输入寄存器 | IO系统提供这类数据 |
内部存储器或物理输出存储器 | 0X03 | 读保持寄存器 | 通过应用程序改变这类数据 | |
0X06 | 写单个寄存器 |
| ||
0X10 | 写多个寄存器 |
|
二、读取功能码0X04的格式
遵循规则:高位在前,低位在后
读1号电机输入电压H0x01F7的值:
地址位 | 功能码 | 寄存器地址 | 寄存器数量 | CRC校验码 | |||
高位 | 低位 | 高位 | 低位 | 高位 | 低位 | ||
01 | 04 | 01 | F7 | 00 | 01 | 略 | |
返回报文:
地址位 | 功能码 | 字节数 | 寄存器值 | CRC校验码 | ||
高位 | 低位 | 高位 | 低位 | |||
01 | 04 | 02 | 00 | E7 | 略 | |
三、写单个寄存器功能码0X06的格式
写1号电机波特率H0x0231=5的值:出厂默认波特率是115200
地址位 | 功能码 | 寄存器地址 | 寄存器值 | CRC校验码 | |||
高位 | 低位 | 高位 | 低位 | 高位 | 低位 | ||
01 | 06 | 02 | 31 | 00 | 05 | 略 | |
返回报文:原指令返回
地址位 | 功能码 | 寄存器地址 | 寄存器值 | CRC校验码 | |||
高位 | 低位 | 高位 | 低位 | 高位 | 低位 | ||
01 | 06 | 02 | 31 | 00 | 05 | 略 | |
设置值及与波特率的对应表:
十六进制 | 波特率 |
0 | 9.6Kbps |
1 | 9.6Kbps |
2 | 19.2Kbps |
3 | 38.4Kbps |
4 | 57.6Kbps |
5 | 115.2Kbps |
6 | 256Kbps |
7 | 500Kbps |
四、写多个寄存器功能码0X10的格式
写1号电机寄存器地址H0230=2; H0x0231=1的值:
地址位 | 功能码 | 寄存器地址 | 寄存器数量 | 字节数 | 寄存器值 | CRC校验码 | ||||
高位 | 低位 | 高位 | 低位 | 高位 | 低位 | 高位 | 低位 | |||
01 | 10 | 02 | 30 | 00 | 02 | 04 | 00 01 00 02 | 略 | ||
返回报文:
地址位 | 功能码 | 寄存器地址 | 寄存器数量 | CRC校验码 | |||
高位 | 低位 | 高位 | 低位 | 高位 | 低位 | ||
01 | 06 | 02 | 30 | 00 | 02 | 略 | |
五、指令速查表
项目 | 指令 | |
读参数(保持寄存器) | 01 03 XX XX 00 0Z(CRC略) | |
读参数(输入寄存器) | 01 04 XX XX 00 0Z(CRC略) | |
写参数 | 参数大小:1个寄存器 | (CRC略)或 01 10 XX XX 00 01 02 yy yy(CRC略) |
写参数 | 参数大小:2个寄存器 | 01 10 XX XX 00 02 04 yy yy yy yy(CRC略) |
轮廓位置模式下的相对运动 | 切换到位置控制模式(1-PP模式) | 01 10 03 C2 00 01 02 00 01 (CRC略) 若电机处于位置模式下可省略 |
写目标位置 | 01 10 03 E7 00 02 04 yy yy yy yy (CRC略) 电机的正反转取决于给定位置的正负值 | |
写运动速度 | 01 10 03 F8 00 02 04 yy yy yy yy (CRC略) | |
启动电机 | 01 10 03 80 00 01 00 06 (CRC略) | |
电机准备状态 | 01 10 03 80 00 01 02 00 07 (CRC略) | |
发控制字4F(电机使能,抱轴) | 01 10 03 80 00 01 02 00 4F (CRC略) | |
发控制字5F | 01 10 03 80 00 01 02 00 5F (CRC略)(4F-5F电机运动) | |
继续运动 | 修改目标位置(如果需要的话),先后发控制字4F→5F; | |
轮廓位置模式下的绝对运动 | 切换到位置控制模式(1-PP模式) | 01 10 03 C2 00 01 02 00 01(CRC略) 若电机处于位置模式下可省略 |
写目标位置 | 01 10 03 E7 00 02 04 yy yy yy yy (CRC略) 电机的正反转取决于给定位置的正负值 | |
写运动速度 | 01 10 03 F8 00 02 04 yy yy yy yy (CRC略) | |
启动电机 | 01 10 03 80 00 01 02 00 06 (CRC略) | |
电机准备状态 | 01 10 03 80 00 01 02 00 07 (CRC略) | |
发控制字0F(电机使能) | 01 10 03 80 00 01 02 00 0F (CRC略) | |
发控制字1F | 01 10 03 80 00 01 02 00 1F (CRC略) | |
继续运动 | 修改目标位置(如果需要的话),先后发控制字F→1F; | |
轮廓速度模式下运行 | 切换到轮廓速度模式(3-PV模式) | 01 10 03 C2 00 01 02 00 03(CRC略) 若电机处于轮廓速度模式下可省略 |
设置运动方向 | 01 10 03 F3 00 01 02 00 00(CRC略) 或 01 10 03 F3 00 01 02 00 40(CRC略) | |
写目标速度 | 01 10 04 48 00 02 04 yy yy yy yy (CRC略) | |
启动电机 | 01 10 03 80 00 01 02 00 06 (CRC略) | |
电机准备状态 | 01 10 03 80 00 01 02 00 07 (CRC略) | |
发控制字0F | 01 10 03 80 00 01 02 00 0F (CRC略) | |
修改运行速度 | 修改运行速度(如果需要的话),改完发0F | |
原点回归模式下运行 | 切换到原点回归模式(6-HM模式) | 01 10 03 C2 00 01 02 00 06(CRC略) 若电机处于原点回归模式下可省略 |
原点回归方式(方式:17-32) | 01 10 04 16 00 01 02 yy yy (CRC略) | |
启动电机 | 01 10 03 80 00 01 02 00 06 (CRC略) | |
电机准备状态 | 01 10 03 80 00 01 02 00 07 (CRC略) | |
发控制字0F | 01 10 03 80 00 01 02 00 0F (CRC略) | |
发控制字1F | 01 10 03 80 00 01 02 00 1F (CRC略) | |
电机运动状态切换 | 电机急停 | 01 10 03 80 00 01 02 01 02 (CRC略) 发控制字02进行紧急停止,运行需先发06-07 |
电机停止(脱机) | 01 10 03 80 00 01 02 00 07 (CRC略) 电机自由停机 | |
电机暂停(使能抱轴) | 01 10 03 80 00 01 02 01 1F (CRC略) 发控制字11F进行暂停(电机有使能),发0F运行 | |
保存参数H1010:01(H0026) | 01 10 00 26 00 02 04 65 76 61 73 (CRC略) | |
恢复参数H1011:01(H003C) | 01 10 00 3C 00 02 04 64 61 6F 6C (CRC略) | |
故障复位 | 01 10 03 80 00 01 02 00 80 (CRC略) 故障源清除后,控制字发80可解除设备故障状态 | |
以上即是今天分享的全部内容,如果有任何问题,请及时联系我们。
.webp)
或拨打全国统一服务热线:010-60213882,或发送邮件至:nimotion@ nimotion.com,我们将竭诚为您服务。
˜ 本文章全部内容或部分内容禁止擅自转载、拷贝。
.webp)

















