找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3643|回复: 12

变频器的MODBUS-RTU模式通讯控制,采用RS指令发送命令内容...

 火.. [复制链接]
  • 打卡等级:即来则安
  • 打卡总天数:28
  • 打卡月天数:7
  • 打卡总奖励:7961
  • 最近打卡:2025-12-22 17:16:30

3317

主题

285

回帖

2万

积分

管理员

积分
24106
发表于 2021-4-3 11:43:59 | 显示全部楼层 |阅读模式
在前几篇文章中我们说到了MODBUS的ASCII码数据模式通讯去控制变频器,以及RTU模式的CRC校验码的PLC计算程序,今天就说下采用RTU数据模式控制变频器,包括变频器的调频、正转、反转、停止命令的写入及运行频率的读取。
先了解下RTU帧的结构:
帧头 3.5个字节的通讯时间
从机地址: 通讯地址0~247, 0代表广播
功能码: 01H、02H、03H等
数据: 2*N个字节的数据,为通讯的主要内容,包括数据地址、数据内容等。
CRC 低位: CRC校验码
CRC 高位: CRC校验码
帧尾: 3.5个字节的通讯时间
在变频器的控制器,功能码主要用到两个03H和06H。
03H表示主机向变频器读取数据,要读取多少个数据由命令中“数据个数”而定,最多可以读取 16 个数据。读取的参数地址必须是连续的。每个数据占用的字节长度为 2 字节,也即一个字(word)。以下命令格式均以 16 进制表示(数字后跟一个“H”表示 16 进制数字),一个 16 进制占用一个字节,主要作用是读取变频器的参数及工作状态,比如变频器的频率、电压电流以及运行状态(正转、反转、停机、故障状态的监视等)
06H的命令表示主机向变频器写数据,一条命令只能写一个数据,不能写多个数据。它的作用是改变变
频器的参数及工作方式,比如控制变频器正反转、停机,设定频率、转矩、加减速时间等。
我们从主机往从机发送命令后,如果发送成功,从机会返回一个回应信息,从这个返回信息中可以看出我们想要得到的东西,这里说下发送写命令06H,它的返回信息与发送命令是一样的,所以我们只有在读命令03H才用到返回信息。下面我们举个例子说明发送信息与返回信息。
03H,从通讯地址为01的变频器,以地址0004H开始,连续读取两个数据内容就是去读0004H和0005H地址的内容。

03H

从上表看出主机向从机发送命令需要知道从机的地址、功能码(命令)、数据地址、数据个数、CRC校验码,以上例子中我们知道从机的地址是01H,功能码是读03H,地址是0004H,拆分成高低位,数据个数是俩个0002H,同样拆分,最后的CRC校验码是根据以上数据计算出来的,数据发送到从机后,从机也根据信息计算一个CRC校验码,如果与主机计算的校验码一致,则通讯成功,会向从机发送一组返回信号,我们就知道了从变频器中读取的信号,例如0004H和0005H地址的数据是5000,0, 那么返回信息除了地址与命令码不变, 后面的数据就变成了字节个数、 数据内容了,5000的16进制是1388H, 因此数据内容是高位13H, 低位88H。
接下来我们举例子说下英威腾变频器的相关控制(电机正反转停止、频率设定、频率读取)
我们知道正反转停止、频率设定是写指令06H,频率读取是读指令03H,这大家应该清楚。
由变频器手册知道通讯控制的地址为2000H, 正转数据位0001H, 反转是0002H, 停机是0005H。
通讯频率设定值的地址是2001H, 变频器运行频率地址是3000H。
设置变频器的站号是01H。
1、 正转指令,01 06 20 00 00 01 67 90
2、 反转指令,01 06 20 00 00 02 81 A7
3、 停机指令,01 06 20 00 00 02 C0 65
4、 设定频率,01 06 20 01 0B B8 56 E4 (设置变频器30.00Hz运行)
5、 运行频率,01 03 30 00 00 01 8B 0A (返回信息,01 03 02 0B B8 BF 06)
以上指令是否明白?
那么上面的清楚后, 如何在PLC发送这些指令呢, 这里我们采用RS指令完成。
RS指令在以前的MODBUS-ASCII码通讯文章也说过, 指令格式是RS S m D n, 发送以S为开始的m个数据, 接受以D为开始的n个数据。 比如发送正转指令,RS D0 K8 D20 K8,D0 D1 D2 D3 D4 D5 D6 D7是发送数据,D20 D21 D22 D23 D24 D25 D26 D27是接受数据,D0的内容是01,D1是06 , 依此论推下去,接受信息与发送数据一致。
下面看下实际例子:

系统连接

正转指令

反转指

停止指令

频率读取指令

从以上的图中看出, 写入指令的发送和接受都是一样的, 读取指令的接受数据就不一样了, 就比如频率读取指令返回的信息中就没有地址数据, 它的返回数据就是字节个数2, 数据内容07 D0, 转换成十进制就是2000, 也就是20.00Hz, 这在PLC编程时候需要注意。

工控课堂 www.gkket.com

0

主题

101

回帖

266

积分

注册会员

积分
266
发表于 2021-4-4 02:34:26 | 显示全部楼层
感恩无私的分享与奉献
工控课堂 www.gkket.com

0

主题

516

回帖

2233

积分

高级会员

积分
2233
发表于 2021-4-4 19:29:55 | 显示全部楼层
好东西一定要看看!
工控课堂 www.gkket.com

0

主题

74

回帖

117

积分

新手上路

积分
117
发表于 2025-11-21 13:59:40 | 显示全部楼层
笑不活了,评论区比正文还精彩
已转发给朋友,一起快乐一下
工控课堂 www.gkket.com

0

主题

531

回帖

2056

积分

高级会员

积分
2056
发表于 2025-11-21 14:03:06 | 显示全部楼层
路过打卡,为优质内容疯狂打 call
工控课堂 www.gkket.com

1

主题

117

回帖

501

积分

中级会员

积分
501
发表于 2025-11-21 14:03:41 | 显示全部楼层
说得对!狠狠赞同,没毛病~
工控课堂 www.gkket.com

0

主题

92

回帖

148

积分

新手上路

积分
148
发表于 2025-11-21 14:05:56 | 显示全部楼层
这评论区卧虎藏龙,个个都是人才!
工控课堂 www.gkket.com

0

主题

102

回帖

157

积分

新手上路

积分
157
发表于 2025-11-21 14:06:00 | 显示全部楼层
赞同 + 10086,完全说出了我的想法!
工控课堂 www.gkket.com

0

主题

467

回帖

2566

积分

高级会员

积分
2566
发表于 2025-11-21 14:06:02 | 显示全部楼层
被戳中笑点 / 泪点,太真实了!
工控课堂 www.gkket.com

0

主题

90

回帖

136

积分

新手上路

积分
136
发表于 2025-11-21 14:07:02 | 显示全部楼层
楼主太会说了,字字句句都在理
工控课堂 www.gkket.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|手机版|免责声明|本站介绍|工控课堂 ( 沪ICP备20008691号-1 )

GMT+8, 2025-12-22 20:19 , Processed in 0.301097 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表