在Q系列PLC中用串口模块QJ71C24N-R4走modbus协议与三菱变频器的通讯读写数据。
通过串口模块可以控制三菱变频器正反转,参数设置,读取当前运行负载,当前设置的参数等。
这里用到的硬件:
1、串口模块QJ71C24N-R4
2、三菱变频器E700(其他系列也是一样的设置)
两者之间的接线:
PU接口跟我们常见的网口是一样的接口,但不是说明我们接根网线就可以来跟他通讯,他实际上是走rs-485的通讯接口来通讯的。如图片所标的RDA,SDB,SDA,RDB。
终端电阻选110欧姆,串口模块的SDA接变频器的RDB,SDB接变频器的RDA,RDA接变频器的SDB,RDB接变频器的SDA。变频器之间的RDB,RDA,SDB,SDA都串联起来就可以了。最后的那个变频器需要并终端电阻。
接下来设置参数:
变频器的参数设置:
P79 模式选择设置 0 (所有的变频器设置都一样)
P117 通讯站号设置 1 (如果共有10个变频器就从1号站设置直到设置到10号站)
P118 通讯速率设置 96(所有的变频器设置都一样)
P120 通讯485奇偶设置 2(所有的变频器设置都一样)
P122 通讯校验时间间隔设置 9999(所有的变频器设置都一样)
P549 协议选择设置 1(所有的变频器设置都一样)
P340 通讯启动模式选择设置 10(所有的变频器设置都一样)
只有站号不一致,其他的设置都一样。
串口模块QJ71C24N-R4的参数设置:
打开智能功能模块选择QJ71C24N-R4开关设置
设置数据位8,有奇偶校验,1个停止位,无校验代码,通讯速度9600波特率,通信协议。
打开各种控制设置指定设置以字节为单位。
打开通讯模块设置通讯包
打开之后新建一个通讯协议,制造商为schneider electric,型号选modbus,协议选03:RD Holding registers。就是读的数据包。
再添加写的数据包,制造商为schneider electric,型号选modbus,协议选06:WR Single register,这是写的数据包。
添加完后这样
在协议名中右击选择更改为可编辑协议,删除掉一些你没用到的数据包。这里我删除的是错误代码的反馈包。不删除也是可以的,但你要给他分配地址,我这只是省用些地址,因为我用不到错误代码的反馈。
删除完为这样
接下分配地址,点开变量设置
1、03:RD Holding registers,我从地址D100开始分配的。该数据包使用的地址范围D100到D102。
2、NOR/03:RD Holding Registers 该数据包使用的地址范围D103到D114。
3、06:WR Single Register 该数据包使用的地址范围D120到D122。
4、NOR/06:WR Single Register 该数据包使用的地址范围D123到D125。
设置完后写入串口模块
参数设置部分就已经设置完了,接下来写程序部分。
在这我用专用指令来与变频器通讯,首先要了解专用指令G.CPRTCL
该说明书可以在官网下载e-Manual Viewer软件查看这说明书。
Un表示:该串口模块放置的启始IO地址,比如我放在插槽0,启始IO从00开始,那么就写U0。如过启始IO是从40开始,就写U4。
n1表示:进行通讯的通道,如果里面的值等于1就表示与通道1(CH1)通讯,等于2就是与通道2(CH2)通讯。
n2表示:协议的连续执行数(1~8)。
S表示:存储控制数据软元件的启始编号。
D表示:执行完成ON一次扫描周期位软元件编号。
控制数据
(S)+0表示:执行结果代码,数值为0时执行正常。0以外查看出错代码以16进制查看。
(S)+1表示:存储协议的执行数。
(S)+2表示:对第1个执行的协议编号或特殊协议编号进行设置,要执行的协议编号。
~
(S)+9表示:对第8个执行的协议编号或特殊协议编号进行设置。
(S)+10表示:第1个执行的协议的通信类型为“仅接收”、“发送&接收”的情况下,存储校验一致的接收数据包编号。通信类型为“仅发送”的情况下,将存储“0”。第1个执行的协议中发生了出错的情况下,将存储“0”。执行了特殊协议的情况下,将存储“0”。
~
(S)+17表示:第8个执行的协议的通信类型为“仅接收”、“发送&接收”的情况下,存储校验一致的接收数据包编号。通信类型为“仅发送”的情况下,将存储“0”。第8个执行的协议中发生了出错的情况下,将存储“0”。执行的协议数不足8个的情况下,将存储“0”。执行了特殊协议的情况下,将存储“0”。
程序编写
此处有错误特别注意:MOV K1 D102需要改为D82
此处有错误特别注意:MOV K1 D102需要改为D82。
该程序能实现的功能:
变频器的正反转,停止,频率的监视。
写完程序后,写入PLC程序,同时记住勾选上智能模块写入参数,要不然串口模块无法通讯上。如果读取或发送可以看到串口模块的RD或SD灯闪烁,没有报警,表明参数设置好了啦。看看有没数据,发送的数据正不正确可以打开串口线路追踪查看数据。
1、首先选择要监视的串口模块 2、要监视的通道 3、跟踪开始,在程序上发送一下数据
4、跟踪停止 5、就可以看到刚发送的数据,在发送包与接收包里可以监视看到。
如果发现发送接收的数据少或多了,那就可能你设置的要发送接收数据数少或多了。在下面的参数设置
好了以上就是串口模块QJ71C24N-R4与三菱变频器的通讯设置了。
下面介绍一下三菱变频器modbus地址怎么设置,比如我要读取变频器的高速,那么modbus的地址应该是:
(04(参数的编号)+41000(modbus寄存器的启始地址))-40001=1003。
|