工控课堂

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

工控课堂 首页 工控文库 变频器学习 查看内容

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

2021-2-15 12:12| 发布者: gkket| 查看: 12| 评论: 2|原作者: gkket

摘要: 来源:工控人(头条)在前几篇文章中我们说到了MODBUS的ASCII码数据模式通讯去控制变频器,以及RTU模式的CRC校验码的PLC计算程序,今天就说下采用RTU数据模式控制变频器,包括变频器的调频、正转、反转、停止命令的 ...
来源:工控人(头条)
在前几篇文章中我们说到了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编程时候需要注意。


15255736884614a9050fb9e.jpg

路过

雷人

握手

鲜花

鸡蛋

相关阅读

发表评论

最新评论

大太阳 2021-2-15 18:47
看到这帖子真是高兴!
jzjjzjok 2021-2-15 19:04
论坛有你更精彩!

查看全部评论(2)

热门文章

QQ|免责声明|本站介绍|工控课堂 ( 沪ICP备20008691号-1 || 沪公网安备 31010602005455号 )|网站地图

GMT+8, 2021-3-7 17:10 , Processed in 0.058199 second(s), 45 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

返回顶部