您的位置:控制工程论坛网论坛 » 教程与手册 » 基于VB的计算机与三菱变频器通讯及监控软件的设计

jshfq

jshfq   |   当前状态:在线

总积分:17995  2024年可用积分:0

注册时间: 2007-08-06

最后登录时间: 2013-11-04

空间 发短消息加为好友

基于VB的计算机与三菱变频器通讯及监控软件的设计

jshfq  发表于 2008/7/24 7:46:12      648 查看 0 回复  [上一主题]  [下一主题]

手机阅读









基于VB的计算机与三菱变频器通讯及监控软件的设计

 
摘  要:本文介绍了一种基于VB的Mscomm控件进行计算机与三菱变频器通讯的软件设计方法,实现了计算机对变频器的通讯与监控,包括运行控制、状态监测、参数设置及校验。 


关键词:VB 三菱变频器 监控软件


1 概述


  变频器在各种工业场合中有着广泛的应用,在使用变频器时,需要合理地设置其工作参数,以使整个变频调速系统能够满足工作要求,并尽可能的在最佳状态下运行。变频器的参数不仅数目众多,而且许多参数之间存在一定的关联。在一些比较复杂的运行场合,设置参数时需要根据系统的工作要求以及变频器的功能进行综合分析,通盘考虑。三菱变频器的参数设置可以通过变频器附带的操作面板进行,但是由于操作面板的结构非常紧凑,上面只有小键盘和几位LED显示器,参数的设置和读取不够方便,操作非常繁琐。


  为了方便、直观地对变频器进行参数设置和运行状态监控操作,可以采用计算机通过串行口来控制变频器(要求变频器具有通讯接口),也可以采用PLC+人机界面的方式,PLC可以通过数字量、模拟量或通讯接口来控制变频器。在本系统中,通过计算机的串行口以及接口转换电路来控制三菱变频器,如图1所示,并利用Visual Basic编制系统的监控软件,从而可以方便地对变频器的参数进行设置和校验,并能够直观地控制变频器运行和监视变频器的工作状态。




图1 计算机与三菱变频器的连接


2 接口转换设计


  通用的计算机一般只具有RS-232接口,而工控设备大多采用RS-485接口。本系统所用的三菱FR-E500变频器的通讯接口就是RS-485的形式,而且它采用的是较为少见的全双工485(共有四根数据线,接收和发送分开进行),与外部连接采用的是RJ45接口,连接电缆应采用符合EIA568标准的10BASE-T电缆。为了实现通用计算机与三菱变频器的通讯,我们设计了专门的接口转换电路,其结构原理图如图2所示。



点击看大图
图2  接口转换电路结构原理图


  接口转换电路利用两块MAXIM接口转换芯片(MAX202和MAX491)完成了RS232信号与RS485信号之间的转换,其原理如图2所示。MAX202可以实现RS232信号与TTL信号之间的转换,MAX491可以实现全双工RS485信号与TTL信号之间的转换。电路中还加入了DC-DC和光电耦合器件6N137,将232侧与485侧的信号隔离,以提高电路的抗干扰能力。


3 通讯及监控软件的设计


  本软件能够控制变频器运行,监视变频器的运行状态,对变频器的参数按照功能的分类和相互的制约关系进行设置,并在将设置好的参数下载到变频器之前根据一些规则进行校验。软件的整体结构如图3所示。




图3 通讯与监控软件的整体结构


  3.1 人机界面


  主界面如图4所示。在主界面中,可以直接对变频器进行基本运行操作,并实时显示频率和电流的当前值。关于系统通讯参数的设置和变频器工作参数的设置主要在通讯菜单和监控菜单中完成。




图4 监控软件的主界面


  通讯菜单用来操作计算机串口,包括打开串口、关闭串口、串口初始化、当前串口状态显示这4个子菜单项。监控菜单用来分组设置变频器的参数,包括频率限制、加减速运行、点动运行、直流制动、报警原因显示这5个子菜单项。


  变频器的参数不仅数目众多,而且许多参数互相关联,设置参数时需要前后呼应。本软件将变频器的参数按照功能和相互的制约关系分好类,作为子菜单列在监控菜单项下,按下子菜单后将弹出相应的对话框,设置与该子菜单功能有关的一系列参数。如单击频率限制后,会弹出如图5所示的频率限制参数设置对话框。


  本软件能够根据一些规则对设置好的参数进行校验。当用户设置好的参数之间互相矛盾时,软件能够向用户发出警告信息;当用户设置的参数超出了常用的变频器参数设置范围时,软件也能够向用户发出提示信息,要求用户确认。例如设定的频率下限低于启动频率时,将弹出如图6所示的对话框警告用户。




图5频率限制设置对话框

图6警告对话框


  3.2 数据处理


  要使计算机和变频器之间能进行正确的数据交换,必须有一个数据处理的过程,来完成人机界面中的数据、指令与符合变频器通讯协议数据格式的数据之间的转换。数据处理包括两个方面的内容,一是要将人机界面上的命令或输入数据转换为变频器能识别的数据格式,二是分析变频器返回的数据,将其转换成实际值,在人机界面上显示出来。


  计算机与变频器之间的数据通讯执行过程如图7所示。



点击看大图
图7 计算机与变频器之间的数据通讯执行过程


  图7中的三种数据具体的数据格式如下:


  点击看大图


  [注] ENQ、ACK、NAK、STX、ETX是控制代码,分别表示通讯请求、未发现数据错误、发现数据错误、数据开始、数据结束,它们都对应着特定的ASCII码。


  以写入频率为例,按照通讯请求数据的格式定义要发送的数组,依次发送ENQ,变频器站号,设定频率写入的指令代码,要写入的频率值,总和校验。其中总和校验不包括ENQ。注意,数据在计算机和变频器之间使用ASCII 码传输。


  3.3 通讯程序


  三菱变频器与PC机通讯前必须在变频器的初始化中设定通讯规格并复位变频器,否则通讯不能进行。需要设定的通讯规格包括变频器站号、通讯速率、字节长、停止位长、校验方式、等待时间等。通讯规格的设定可通过写入相应的参数来实现。


  本软件用VB中的Mscomm控件完成对计算机串行端口的操作。Mscomm控件是VB中用于串口发送和接收数据的ActiveX控件,利用它可以方便地访问串口。Mscomm控件有许多重要的属性,表1中列出了本文编程时用到的几个属性。



表1 MsComm控件的常用属性
点击看大图


  通讯程序的流程图如图8所示。由于本文中软件的主界面要实时显示频率和电流,需要每隔一段时间向变频器发送读频率和读电流的命令,所以发送其他控制指令如正转、停止时,应该先停止发送读频率和读电流的指令,完成后再重新发送读电流和读频率的命令,这是因为同时向串口发送几个命令会发生错误。读频率指令和读电流指令也不能同时发送,需要交替进行。另外,要注意每向变频器发送一个命令后,及时取走输入缓冲区中的返回码,以免影响下一次读取输入缓冲区的正确性。



点击看大图
图8 通讯程序的流程图


  通讯程序的部分源程序如下:


  ⑴初始化串口的程序为:


  MSComm1.CommPort = 2   ‘打开Com2


  MSComm1.Settings = "9600,n,8,1"


  ‘设置波特率为9600Kbps,无奇偶校验,8位数据位,1位停止位。


  MSComm1.PortOpen = True  ‘打开串口


  ⑵写入参数,如设定频率(以30Hz为例)写入的程序为:


  Dim outfrq(10) As Byte    ‘定义要发送的数组


  outfrq(0) = 5      ‘发送ENQ


  outfrq(1) = 48


  outfrq(2) = 49        ‘发送变频器的站号


  outfrq(3) = 69


  outfrq(4) = 69         ‘发送设定频率写入的指令代码


  outfrq(5) = 48


  outfrq(6) = 66


  outfrq(7) = 66


  outfrq(8) = 56        ‘发送要写入的频率值30Hz


  outfrq(9) = 68


  outfrq(10) = 55        ‘发送总和校验码


  MSComm1.Output = outfrq   ‘将通讯数据发送至串口


  ⑶读出参数,如读取变频器当前频率的程序为


  Dim outf(6) As Byte      ‘定义要发送的数组


  outf(0) = 5          ‘发送ENQ


  outf(1) = 48


  outf(2) = 49         ‘发送变频器的站号


  outf(3) = 54


  outf(4) = 70         ‘发送读频率的指令代码


  outf(5) = 68


  outf(6) = 68         ‘发送总和校验码


  MSComm1.Output = outf    ‘发送至串口


  Dim inf As Variant


  inf = MSComm1.Input     ‘读输入缓冲区,取出返回数据


  注意:发送读频率的命令后,要过一段时间再从输入缓冲区内读取数据,否则会发生错误。这段时间是等待时间与数据校验时间之和。


4 结束语


  本文介绍了一种软件设计方法,通过计算机的串行端口及接口转换电路来控制变频器,利用VB编制监控软件,可以方便、直观地控制变频器的运行,监视变频器的运行状态,设置变频器的参数并进行校验。在此基础上,还可以总结变频器参数设置方面的规则,根据系统功能的要求,自动设置变频器的工作参数,实现变频器应用的“智能化”。

1楼 0 0 回复