基于Win9X的多台三菱变频器控制
由于变频器具有优良的控制特性以及其高效节能的特点,使得变频器近几年在各个领域被广泛的采用。在某些场合,需要用一台工控机灵活地控制多台变频器,以达到控制交流电机的目的。在油田输油控制系统中,多台变频器的控制问题成为关键,按照以往的控制方法,需要使用PLC或者控制电路板来控制变频器。然而使用这种方法造价高、系统复杂、布线量大、故障率高,因此亟需一种结构简单、造价低廉、可靠性高的系统来实现多台变频器的控制。
针对这一需要,一些公司(如日本三菱、德国西门子、日本东芝等)推出了带有RS-485通信接口的变频器,使用户能方便灵活地选择变频器的强大功能,设计各自的工业控制系统。因此,我们可以充分利用厂商提供的工业总线接口,使控制系统布线简洁,稳定可靠。
目前,我们在利用工业总线接口开发用户程序时,大部分都是基于DOS环境下的,随着Windows操作系统的普及使得DOS单任务系统固有的缺陷显得日益突出,人们越来越希望能在Windows的环境下进行工业控制。
在Windows 9X下开发工控软件,不仅可以实现多任务操作,充分利用硬件资源,而且可以利用Windows 9X下丰富的开发工具,方便地生成各种菜单及友好的图形界面,软件产品质量高且开发周期短。但在Windows 9X环境下,系统完全接管了各种硬件资源,不允许用户直接对系统硬件进行控制。如何在Windows 9X/NT环境下开发微机的底层资源,已成为当今工控业的一个值得探讨的课题。
本文以三菱FR-A500变频器的串行通信为例,利用Visual Basic 6.0的ActiveX控件—Microsoft Communication控件,通过对变频器串行通信协议的分析,解决了Windows 9X环境下与多个变频器的串行通信, 成功地实现了用单台工控PC机对多台交流异步电机的灵活控制,从而在Windows9X环境下如何实现串行通信的问题上作了有益的尝试。
变频器的串行口通信协议分析
通过对油田输油控制系统的结构设计,以及对三菱FR-A500变频器原理及通信方式的研究,我们发现三菱FR-A500变频器的通信方式为异步半双工RS—485协议;波特率19200bit/s,9600bit/s,4800bit/s 可选;ASCII 7或8位数据位可选;1位奇偶校验可选;1或2位停止位可选。其通信协议的数据格式有十种,分别为: A,A’,B,C,D,E,E’,F,G,H;
下面以格式A为例简要说明一下变频器通信协议:
格式A的功能是变频器运行频率、运行参数的写入和复位变频器,其结构如下:
*1 ENQ——表示控制代码,它有以下几种:(括号内为ASCII码) STX (H02) 正文数据开始;ETX (H03) 正文数据结束;ENQ (H05) 通信请求; ACK (H06) 应答无数据错误;LF (H0A) 换行;CR (H0D) 回车; NAK (H15) 应答发现数据错误;
*2变频器站号——可用十六进制数在H00和H1F(站号0 至31 )间设定;
*3指令代码——由计算机发给变频器,指明程序要求(如:监视、运行等);
*4等待时间——规定变频器收到从计算机来的数据和传输应答数据之间的等待时间。根据计算机的响应时间在0和150ms之间设定,最小设定单位10ms。
*5数据——表示计算机与变频器之间传输的数据,如:频率、参数等;
*6总合校验——由被校验的ASCII码数据的总和(二进制)的最低一个字节表示的2个ASCII数字(十六进制)。
*7表示CR(回车)、LF(换行)代码。
与格式A相对应的数据格式有C和D;若用户程序通信请求以格式A发送到变频器的数据被变频器接受,则变频器以格式C形式的数据返回给计算机;若变频器发现计算机发送的数据有误,则变频器以格式D形式的数据返回给计算机。
数据格式C和D分别如下:
其他的数据格式的功能如下:格式A’ 用于运行指令的写入,其对应的应答数据格式为格式C和格式D;格式 B用于监视变频器的运行参数(频率、电压、电流、转速)及读出变频器的系统参数,其对应的应答数据格式为E、E’、F、G、H。
一般情况下,变频器通过操作面板(PU)来设置变频器参数,一旦参数设定好了,就不能改变,这样很难通过现场信号进行实时的控制。通过以上对变频器通信协议的分析,考虑用软件来实现工控机与变频器的串行通信,利用软件可以灵活的实现系统所需的各种功能而不必改动现场的硬件电路,而且RS-485通信线最多能同时控制32台变频器,同时,各变频器的运行状态也能实时地回送给上位机。