PLC可编程控制器与变频器的RS-485通讯分析
时间:2009-04-24 阅读:11662
一、前言
在PLC 与变频器的综合应用中,比较传统的应用一般是使用PLC的硬接点输出控制变频器的运行及停止,使用多段速度或D/A输出控制变频器的转速变化,在这种应用方式中,PLC与变频器通过外部接线完成连接,不能进行内部数据的传递;而使用RS-485通讯控制,仅通过一条通讯电缆连接,无须其他外部接线,不但能完成传统应用的所有功能,还能进行内部的数据通讯,可方便地从变频器中获取所驱动的电动机各种电参数如:运行频率、电流、电压、功率等等,配以人机界面的话,可将上述电参数直接显示在人机界面上。以下的所有协议及程序均以三菱FX2N系列PLC可编程控制器和三菱变频器为例说明。
二、计算机(PLC可编程控制器)与变频器的编程协议
1.通讯协议
计算机(PLC可编程控制器)与变频器之间的数据通讯执行过程如.
数据通讯协议执行过程分五个步骤进行,具体过程分析如下:
1)从计算机(PLC可编程控制器)发送数据到变频器;数据写入时根据需要,选择使用格式A、A1,数据读出时,使用格式B进行;
2)变频器数据处理时间,即变频器的等待时间;根据变频器参数Pr。123选择, Pr。123=9999,由通讯数据设定其等待时间;Pr。123=0~150ms由变频器参数设定其等待时间;
3)从变频器返回数据到计算机(PLC可编程控制器);变频器检查步骤1)发送的数据有无错误,如果通讯没有错误、接受请求时,将从变频器返回数据格式为C、E、E1;如果通讯有错误、拒绝请求时,则从变频器返回数据格式为D、F;
4)计算机(PLC可编程控制器)处理延时时间;
5)计算机(PLC可编程控制器)根据返回数据应答变频器;当使用格式B后,计算机可检查从变频器返回的应答数据有无错误,并通知变频器,没有发现错误使用格式G,发现错误使用格式H。
2.数据格式类型
使用十六进制,数据在计算机(PLC可编程控制器)与变频器之间的自动使用ASCII码传输。
1)从计算机(PLC可编程控制器)到变频器的通讯请求数据 注:1.变频器站号可用十六进制在H00~H1F(站号00~31)之间设定;
2.*3 表示控制代码;
3.*4表示CR(回车符)或LF(换行符)代码;
当数据从计算机(PLC可编程控制器)传输到变频器时,在有些计算机中代码CR(回车符)和LF(换行符)自动设置到数据组的结尾,因此变频器的设置也必须根据计算机来确认,并且可通过变频器的Pr.124选择有无CR和LF代码。
4.*5 Pr.123 [响应时间设定] 不设定为9999的场合下,数据格式的"响应时间"字节没有,请作成通讯请求数据。(字符数减少一个)
2)使用格式A和格式A1后从变频器返回的应答数据
3)使用格式B后,从变频器返回的应答数据
4)使用格式B后检查从变频器返回的应答数据有无错误,并通知变频器
3.数据定义
1) 控制代码(表1)
2) 变频器站号
规定与计算机(PLC可编程控制器)通讯的站号,在H00~H1F(00~31)之间设定;
3) 指令代码
由计算机(PLC可编程控制器)发给变频器,指明程序要求(例如:运行、监示);因此,通过响应的指令代码,变频器可进行各种方式的运行和监示。
4)数据
表示与变频器传输的数据,例如频率和参数;依照指令代码确认数据的定义和设定范围。
5)等待时间
规定变频器收到从计算机(PLC可编程控制器)来的数据和传输应答数据之间的等待时间;根据计算机的响应时间在0~150毫秒之间设定等待时间,zui小设定单位位10毫秒,(例如:1=10毫秒,2=20毫秒)
注:Pr.123 [响应时间设定] 不设定为9999的场合下,数据格式的"响应时间"字节没有,请作成通讯请求数据。(字符数减少一个)
6)总和校验
总和校验代码是由被校验的ASCII码数据的总和(二进制)的zui低一个字节(8位)表示的2个ASCII码数字(十六进制)。
4.PLC串行数据通讯指令简介
1)该RS指令为使用RS-232C及RS-485功能扩展板及特殊适配器,进行发送接收串行数据的指令,数据的格式可以通过特殊数据寄存器D8120设定,并要与变频器的数据格式类型*对应;通过PLC传送指令把通讯数据装到D200开始的连续单元中;
2)D200:发送数据的首地址(指针);
3)D0:发送数据的字节数(点数),根据协议可以用常数直接字节数,在不进行发送的系统中,将数据发送点数设定为K0;
4)D500:接收数据的首地址(指针);
5)D1:数据接收的字节数(点数),根据协议可以用常数直接字节数,在不进行接收的系统中,将数据接收点数设定为K0;
6)发送通讯数据时请使用脉冲执行方式,SET M8122 即可。
5.PLC可编程控制器的通讯格式D8120
为了使用串行数据的发送和接收,在变频器和PLC可编程控制器的通讯格式必须一致,PLC可编程控制器的通讯参数通过D8120来设定。
PLC可编程控制器的通信格式D8120=H009F设定例(表2)
6.程序设计的建议
1)当从计算机(PLC可编程控制器)发送的数据中有错误时,变频器将不接受这个数据;因此,用户的程序中始终应插入一个错误再试程序。
2)任何数据通讯的开始都是由计算机发出请求,没有计算机的请求,变频器将不能返回任何数据,例如:操作指令或数据监示等等;因此,对于监示等,在设计程序时,让计算机提出读数请求时必要的。
7.与变频器通讯的错误代码
当从计算机发来的数据有错误时,变频器将不接受此数据;如果变频器在接收数据时发现任何错误,它的定义和NAK代码一起被送回到计算机。
三、变频器的通讯相关参数(通过变频器PU口和PLC通讯)
PLC可编程控制器和变频器之间进行通讯,通讯规格必须在变频器的初始化中设定,如果没有进行初始设定或有一个错误的设定,数据将不能进行传输。
设置三菱变频器的通讯参数才能进行通讯运行,变频器与通信有关的参数设定如表3:
注:每次参数初始化设定后,需要复位变频器(可以采用断电再上电复位的方式进行),如果改变与通讯相关的参数后,变频器没有复位,通讯将不能进行。
四、FX2N-485-BD与三菱FR-A540变频器的通讯接线
RJ45水晶头插入变频器的PU接口(也可通过变频器通讯板FR-A5NR接线),另一端的对应信号线接在FX2N-485-BD上。
五、PLC与变频器通讯的编程及调试例解
1)运行控制命令的发送
变频器的操作指令代码及数据内容如表4:
在PLC程序中,变频器等待时间使用变频器参数设定为20ms,故格式A1中等待时间字节减少一个,由于本程序不使用 CR和LF,zui后一个字节也不用,故本PLC程序例中发送数据为9个字节。
格式A1中各字节含义如下:
*字节为通讯请求信号ENQ,对应程序为 MOV H05 D200 ;
第二、第三字节为变频器00号站,对应程序为 MOV H30 D201 MOV H30 D202 ;
第四、第五字节为指令代码HFA,对应程序为 MOV H46 D203 MOV H41 D204 ;
第六、第七字节为指令代码为:正转运行H02,对应程序为 MOV H30 D205 MOV H32 D206 ;
第八、第九字节为总和校验代码,对应程序为 MOV H34 D207 MOV H39 D208 ;
当按下X0时,通讯数据被发送到变频器,变频器将正转运行;
如要进行变频器停止及反转运行程序编程,可在上面的范例程序中修改指令代码中数据内容即可实现,例如:范例中的程序修改为 MOV H30 D205 MOV H34 D206 可实现反转运行;修改为 MOV H30 D205 MOV H30 D206 实现停止(图九);
说明:M8161=1,8位处理模式,X0为变频器正转运行控制,使用变频器通讯协议的格式A1如图十:
2)总和校验码的自动计算实例
在本例中,数据处理为8位即M8161=1,Pr。123=9999,即等待时间用PLC程序设定;将H05-H30-H31-H45-H31-H31-H30-H37-H41-H44分别用传送指令传到D300开始的连续10个PLC的内存单元中,其总和校验码可用CCD指令自动计算出来,通过PLC程序再将总和校验码转换成2个ASCII码,并送到PLC的对应内存单元D310,D311中,计算总和校验码PLC程序如
本例的变频器等待时间由变频器设定,故上述格式中的等待时间字节无。
3)变频器运行频率的改变实例
在本例中,数据处理为8位即M8161=1,Pr。123=9999,即等待时间用PLC程序设定;通过触摸屏将变频器的运行频率直接写到PLC内存D1000中(或使用传送指令将频率数据自动写入),ASCI指令将变频器的运行频率转换成4位ASCII码,依次存放到PLC的内存单元D305~D308中,总和校验码存放在D309、D310;总和校验计算请参照上一例的自动计算方式进行。
六、结论
本文讨论了PLC可编程控制器与变频器的RS-485通讯功能的编程及应用,将一些厂家原本提供的资料以比较通俗易懂的语言来描述,并结合自己多年来的工作实践,提供了用于通讯控制的PLC的程序及变频器的调试参数。
参考文献
1.三菱微型可编程控制器FX1S,FX1N,FX2N,FX2NC系列编程手册 2001年4月
2.三菱变频调速器FR-A500使用手册 1998年2月