- 在工业自动化控制系统中最为常见的是PLC和变频器的组合应用,并且产生了多种多样的PLC控制变频器的方法,其中采用RS-485通讯方式实施控制的方案得到广泛的应用。因为它抗干扰能力强、传输速率高、传输距离远且造价低廉等被广大用户所采用。其中工控行业里,基于485的通讯一般分为两种,其一是自由口,二是Modubs。其中Modbus用的最为广泛。本文通过一个本人做的一个真实的小项目来简单讲解一下三菱PLC与变频器的Modbus通讯实例。
- Modbus是Modicon公司为其PLC与主机之间的通讯而发明的串行通讯协议。其物理层采用RS232、485等异步串行标准。由于其开放性而被大量的PLC及RTU厂家采用。Modbus通讯方式采用主从方式的查询机制,只有主站发出查询时,从站才能给出响应,从站不能主动发送数据。主站可以向某一个从站发出查询,也可以向所有从站广播信息。从站只响应单独发给它的查询,而不响应广播消息。MODBUS通讯协议有两种传送方式:RTU方式和ASCII方式。本文案例中采用的是RTU方式。RTU与ASCII的区别不是本文讨论范围,可自己去了解
- 公司某客户目前的机械上使用了7台变频器,当前他是每台变频单独控制,用面板延长线把每一台变频器的操作面板外接出来单独操作。现在想进行一下升级提高卖点,于是提出让我们利用触触摸屏+PLC+变频器的方案帮忙设计电气控制方案。
项目实施
系统连接示意图
- 通讯一直是三菱PLC的致命弱点,用过的人都知道麻烦。三菱PLC的通讯配置如同MCU那样,需要通过对寄存器的操作来完成配置。其通讯配置寄存器为D寄存器,寄存器编号为8120。即我们需要通过对D8120寄存器写入配置参数,方可实现通讯配置。配置表如下图所示
-
-
三菱PLC通讯配置寄存器映像表
根据这个表格,我们可以做出如下配置
-
其中M8000为三菱PLC的运行标志位(运行非上电),即PLC在运行状态下M8000的值为“1”,停止状态为“0”。图中程序意思为:PLC一旦进去运行状态M8000导通,右边MOV指令与母线导通,即执行MOV指令,完成通讯参数配置。配置内容为:
- 8位
- 偶校验
- 1停止位
- 9600bps
- RTU模式
- 使用Modbus通讯
- PLC为主机
- 通讯配置完成后,我们下一步将进行一些需要用到的寄存器的配置(注意,这些寄存器在做普通寄存器使用时是不需要配置的,只有在用作与通讯相关的时候才需要配置,再次证明了三菱PLC在通讯方面的薄弱)
- 如图所示,这里配置了7个D寄存器,用来存贮将要变频器的频率值以及7个状态控制寄存器。【MOV K1 D500】这个有点像汇编,即把一个十进制的“1”送进D500里面去,在三菱PLC里面表示等下我要写入变频器的数值占用1个D寄存器。
-
PLC里面该配置的都配置好之后我们就可以开始进入功能实现部分了。在进入功能程序之前,我们先来了解一下我们所使用的变频器的各项功能码。
从这个表中得知变频器的控制字地址是H3200控制字对应字节定义如下图所示
根据表格得知,我们需要让电机正转,则向变频器H3200里面写入H1001即
- 运行命令有效
- 正转
OK,我们来看一下该如何写入变频器的运行命令让他运行起来。
此处插入图片如图所示,我们通过WR3A命令来进行数据的写入,指令【WR3A K1 H3200 D516】
WR3A指令对应Modbus的16号功能,写数据到从机设备的各个(4×类型)寄存器;如果只写1个寄存器,WR3A指令对应Modbus的06号功能写1个数据到从机设备的1个(4×类型)寄存器。指令中K1是代表被写从机设备的站号,范围1-247;H3200是代表被写寄存器在从机设备中的首地址编号0000(十六进制数表示);D516里的值是代表被写的寄存器个数,范围1-32,源数据依次保存在D517,D518,D519……里。
回头看一下我们可以知道,刚才我们在配置的时候已经声明了,在这里我们只写一个寄存器里面的数值到变频器里面去【即上面的 MOV K1 D516】,所以我们把我们需要写入的内容先放进D517里面去,然后【WR3A K1 H3200 D516】这条指令便会将我们需要写入的数值写入到变频器的H3200里面去了。
但是还有一个问题,我们不能一上电就让电机转吧,这就得给他个条件了,即一个“开关。”如图,这里的M100就是我们PLC里面的软原件了,等于就是一个开关。当M100值为“1”的时候M100这个“开关”就导通了,导通后执行后面的MOV指令。
MOV指令执行完,D517里面已经是刚才我们算出的H1001了。然后上面的WR3A就把D517里面的H1001写入到变频器H3200里面去,此时电机会处于正转状态(若频率为0,电机不转)接下来我们就可以根据实际的电机转速需要,来给定变频器的运行频率了。同样,根据刚才的变频器控制参数表格我们可以看出,我们只需要给变频器H3201号寄存器写入对应数值,即可改变变频的运行频率,达到改变电机转速的目的。 需要注意的是各厂商的变频器频率工程值与实际只的比是不一样的,有些是200比,有些是100比,这些在实际使用过程中稍加注意即可,我们这里使用的是深圳某厂商的一款比值为100的变频器,即【实际值*100=工程值】好了,接下来我们就开始写频率了。
写频率,同样是WR3A指令。对应寄存器见刚才的配置表。如图
刚才已经详细说过WR3A指令的用法了,所以这里应该不难理解。
接下来就让他停机,停机跟运行一模一样。只要把刚才运行里面的H1001改成H1004即可,怎么算的?回头看看刚才那个表就明白了。
全文完……