基于图形用户界面(GUI)的异步电动机仿真系统

时间:2022-07-18 08:04:17

基于图形用户界面(GUI)的异步电动机仿真系统

摘 要:针对异步电动机输入/输出参数繁多及电动机不同模型比较的需要,提出一种通用解决方案。采用层次化、模块化和面向对象的设计思想,给出GUI的概念,并对GUI设计中的对象层次结构、用户控件、参数传递进行介绍,并以此为基础设计一种基于图形用户界面的异步电动机仿真系统。结果表明,gui界面具有可操作性和人机交互性强的特点,得到正确的电动机时域、频域及功率谱图形。

关键词:GUI;用户控件;参数传递;异步电动机

中图分类号:TP311. 56 文献标识码:B

文章编号:1004-373X(2008)06-178-03

Simulation System of Asynchronous Motor Based on Graphical User Interface(GUI)

HUANG Fei,LIU Zhenxin,LUO Ming

(Wuhan University of Science and Technology,Wuhan,430081,China)

Abstract:In order to meet the requirement of asynchronous motor input-output parameters and expediently compare different modems,a general solution is offered.Adopting hierarchy,modularity and object-oriented designing ideas.This paper gives GUI′s conception and introduces GUI′s structural levels of object,user control,parameter passing.Based on it,a simulation system of asynchronous motor is designed.The results indicate that GUI is easy to manipulate with rich contents and interact with human.This paper comes to a right conclusion about motor′s time/frequency domain figures and power spectrum figures.

Keywords:GUI;user control;parameter passing;asynchronous motor

用户界面(或接口)是指人与机器(或程序)之间交互作用的工具和方法,如:键盘、鼠标、跟踪球、话筒等\[1]。

图形用户界面是包含图形对象,如:窗口、图标、菜单和文本的用户界面,以某种方式选择或激活这些对象引起动作或发生变化。最常见的激活方法是用鼠标或其他点击设备去控制屏幕上的鼠标指向运动\[2\],比如,实现计算、绘图等。

1 GUI的对象层次结构

Matlab 7.0中句柄图形对象(如图1所示)的结构和元素做了较大调整,增加部分对象,对各种图元对象和场景对象进行重新分类。但是,比较各个版本的对象层次结构图可以发现,不同版本所使用的句柄图形对象都存在以下一些特点:都有4个对象层次,Root对象和Figure对象作为第1层次和第2层次;旧版本第4层次中的图元对象被放到核心对象节点中;对象类型进一步丰富,增加了绘图对象、组对象、隐藏的Annotation Axes对象和Annotation对象。

2 GUI的用户控件

Matlab为用户开发图形界面提供一个方便高效的集成环境,即:GUIDE。GUIDE将用户设计好的图形界面保存在*.fig文件中,同时自动生成保存程序代码的*.m文件\[3]。

常见的GUI控件有:Push Button,Slider,Radio Button,Check Box,Edit Text,Pop-Up Menu,List box,Toggle Button,Axes,Panel,Button Group,ActiveX Control。控件摆放完毕后,通过界面设计编辑器(添加并排列图形窗口中的组件对象)、属性检查器(检查并设置组件的属性值)、对象浏览器(显示图形窗口中所有对象的继承关系)、菜单编辑器\[4\](创建窗口菜单和文本菜单)等完成控件属性设置。之后,在*.m文件中进行编程。主要内容包括:创建GUI M文件;打开GUI M文件;在回调间共享数据;在初始化函数中添加代码;用对象浏览器识别回调。其中,回调是当用户完成指定动作时执行的函数\[5]。每个控件都有一个指定的回调属性。创建GUI时,也必须编写控制GUI操作的回调函数\[6]。因此,控件摆放、属性设置、程序编写3部分组成一个完整的GUI设计。

3 GUI的参数传递

参数传递是GUI实现中的难点,本文现将各种参数传递方法总结如下:

(1) 声明全局变量global,不需tag属性,也不需findobj函数去获取对象。全局变量global通常使一个函数有效。

(2) 控件的Userdata,Value,String属性。其中:Userdata用于在函数之间或递归函数的不同部分之间传递参数;Value,String则是根据不同的控件来定义不同的参数。

使用方法:将参数写入相应控件,需要时就从对应控件中提取。其中,设置参数用set或setappdata,读取参数用get 或getappdata\[7]。注意:setappdata,getappdata操作对象最好为图形对象句柄。

(3) 使用findobj函数搜索对象句柄,然后进行值传递。

本文使用的就是这种方法。他可以有效地实现不同*.fig之间的参数传递,但耗时长。

(4) 将数据存在硬盘上,然后用load,save读取。

此方法不推荐。在Matlab中制作图形用户界面,用户希望实时更新数据,而该方法却以提取数据为前提。例如实时更新异步电动机仿真系统中的电压Un值(从380 V变为220 V)。若用load,save,先需将数据保存到*.txt文件,当系统运行完Un=380 V时,用户再回到*.txt文件修改Un=220 V,然后再调用load或save。若这样,就体现不出面向用户对象程序设计交互性的优势。

4 异步电动机基本原理

异步电动机以其结构简单、价格低廉、维修工作量小而在工业领域中得到广泛应用。

正常情况下的异步电动机定子转子绕组为三相对称结构,呈Y连接或连接。定子包括3个独立回路,对应的相电流用ia,ib,ic表示;转子导条均匀分布,若设转子导条数为n,则可将转子绕组看成是n相对称绕组,另加一个端环回路,共有(n+1)支转子独立回路,对应的各回路电流用i1,i2,…,in,ie表示,这样定转子独立回路共有(n+4)支。

定子匝间短路、断条和端环断裂、气隙偏心是异步电动机常见故障。诱发原因主要有:设计制造不合理、频繁起停、交变负载等。

当转子出现断条、端环断裂时,会在定子电流中产生频率为\[8,9]:

Иfbr=(1±2ks)f1(1)И

的故障特征成分。其中k=1,2,…;s为转差率;f1为外加电压频率。若不能及时发现故障而让电动机继续“带病”运行,时间过长可能造成设备损坏,产量下降,维护费用增大等不良后果。

5 异步电动机仿真系统GUI实例分析

异步电动机有正弦波供电和非正弦波供电,本文仅正弦波供电情况,分析电动机两种模型“正常”、“导条断裂1/2根”的电流时域、频域及功率谱变化。同时,实时更新额定电压Un(如图3所示)的数值,例如Un=220 V,会发现电动机在2种模型下的图形差异。本文初始化Un=380 V,两种模型输出图形均是Un初始化时的情况,如图4所示。

5.1 设计步骤

(1) 分析两种模型的输入/输出参数,明确设计任务,启动GUIDE,摆放控件。

本文使用静态文本框、编辑框表示输入输出参量,使用界面设计编辑器调整控件,最后采用组合框将所有控件组装在一起。

为了得到2种模型下电动机的输出图形,可以使用Push Button,Pop-Up Menu或菜单编辑器。本文采用Push Button控件。

(2) 利用属性检查器设置窗口和控件的属性。常见属性有:string,tag,position,fontsize,callback等。

(3) 编写回调函数。这是整个GUI设计中的关键。需注意以下2点:

① 由于文本框的值是string形式,因此在编写回调函数时要注意类型转换;

② 为了实现数据实时更新与参数传递,对于编辑框仍需保留回调属性。但对于静态文本框,基于标签功能和程序冗长性的考虑,可以将回调属性删除。

5.2 操作步骤及运行结果显示

整个GUI设计完成之后,回到设计首页,点绿色运行小三角按钮,首先显示主页面,如图2所示。在主页面中,点“退出”按钮,关闭用户界面;点“进入”按钮,进入下一页面,如图3所示。

在图3中有2个命令按钮。点击“计算输出参数”按钮,计算机根据事先定义的输入/输出公式,计算输出参数并在文本框中予以显示。实时更新输入参数,再次点击“计算输出参数”按钮,会发现输出参数的值会随着输入参数而发生变化。点击“进入图形界面”按钮,进入下一页面图4中。

在图4中,点击“正常仿真图形”、“导条断裂1根仿真”、“导条断裂2根仿真”,依次可以得到电动机正常与导条断裂1/2根的电流时域、频域、功率谱图形。通过横/纵向比较图4输出图形,可以得出两种模型下电动机工作状态的异同。

就此,异步电动机仿真系统GUI设计完成,图2、图3、图4组成了一个完整的用户界面。

6 结 语

本文提出一种基于GUI的异步电动机仿真系统,利用这种面向对象的图形用户界面,不仅方便理解3种模型的区别与联系,而且也便于输入/输出参数的实时更新。

参考文献

[1]张志涌,徐彦琴.基于6.X版本MATLAB教程\[M\].北京:北京航空航天大学出版社,2001.

[2]李人厚,张平安.精通Matlab综合辅导与指南\[M\].西安:西安交通大学出版社,1997.

[3]韩芝侠,王强,脱慧.基于Matlab GUI的数字滤波器设计与实现\[J\].陕西理工学院学报,2007,23(1):33-37.

[4]徐俊文,王强,金珩.Matlab环境下的GUI编程\[J\].内蒙古民族大学学报,2006,21(6):640-641.

[5] 苏金明,王永利.Matlab 7.0实用指南\[M\].北京:电子工业出版社,2004.

[6]施晓红,周佳.精通GUI图形界面编程\[M\].北京:北京大学出版社,2003.

[7]李南南,吴清,曹辉林.Matlab 7简明教程\[M\].北京:清华大学出版社,2006.

[8]Tavner P J,Penman J.Condition Monitoring of Electrical Machines\[M\].New York: Research Studies Press Ltd,Wiley,1989.

[9]刘振兴,张哲,尹项根.异步电动机的状态监测与故障诊断技术综述\[J\].武汉科技大学学报,2001,24(3):285-289.

作者简介 黄 菲 女,1982年出生,湖北武汉人,硕士。研究方向为智能控制、图像处理。

刘振兴 男,1965年出生,湖南桃江人,博士,教授,博士生导师。研究方向为电机控制与故障诊断。

上一篇:无纸动漫领域中位图矢量化的算法研究 下一篇:加载技术在天线小型化设计中的研究