APP下载

基于VB调用ANSYS的AC接触器电磁场计算

2010-04-11韩少平柯贞东

制造业自动化 2010年11期
关键词:电磁场接触器调用

姜 峰,韩少平,柯贞东

JIANG Feng, HAN Shao-ping, KE Zhen-dong

(甘肃省机械科学研究院,兰州 730030)

基于VB调用ANSYS的AC接触器电磁场计算

Analysis system of electromagnetic field for AC cont actor by calling ANSYS based on VB

姜 峰,韩少平,柯贞东

JIANG Feng, HAN Shao-ping, KE Zhen-dong

(甘肃省机械科学研究院,兰州 730030)

利用VB及ANSYS提供的二次开发工具APDL,开发了界面友好的AC接触器电磁场有限元分析系统。借助VB前台开发友好、方便、易用的人机交互界面,对复杂、难理解难掌握的APDL命令流进行后台封装,能够大大减少分析的工作量。最后以分析双E型AC接触器的三维电磁场为例,证明了该方法的优越性,该方法在很大程度上降低了ANSYS的使用难度,并提高了电磁场设计分析的效率。

VB;ANSYS APDL;AC接触器;电磁场分析

0 引言

ANSYS软件在工程上的应用相当广泛,在机械、电机、土木、电子及航空等不同领域的使用,都能达到某种程度的可信度,颇获各界好评[1]。因其功能强大结果可靠,ANSYS软件在工程上的应用相当广泛。很多人在其基础上进行模板二次开发以简化具体工作中的机算问题。在这一过程中解决主程序对ANSYS的调用功能成为开发的关键。各种开发工具都有其各自的方法,造成在各个开发过程中开发者需要采用不同的方法重复工作。为了解决这一问题,笔者提出了基于VB控件开发的ANSYS程序调用方法。

1 基于VB集成开发ANSYS

1.1 基本原理

针对某一实际工程问题,ANSYS所提供的APDL参数化设计语言可对ANSYS命令进行封装,使其更加有效地进行分析计算,轻松地进行自动化工作(循环、分支、宏等结构)[2]。封装的系统只要求操作人员输入前处理参数,然后自动调用ANSYS进行求解。并且ANSYS为使用者提供了batch功能,利用此功能可以实现分析文件的后台调用,利用这一功能,可以利用自己熟悉的编程软件修改分析文件中相应的参数,并调用ANSYS程序计算。VB提供输入参数的可视化界面,由此界面可输入或修改相关参数,这些赋值后的参数被传送到ANSYS的参数化命令流文件从而构成完整的运行程序,VB再调用该程序分析电磁场。在主程序的调用过程中主程序必须实现以下4 种功能:1)要实现前处理参数输入功能;2)根据用户输入的参数生成ANSYS宏命令文件;3)将生成的宏命令文件提交给ANSYS程序进行批处理操作;4)程序需要判断ANSYS的批处理操作何时结束。

1.2 VB调用ANSYS实现参数化界面分析

文献[3]给出了一种VB增强ANSYS前处理能力的方法,其建立模型的命令流文件是通过VB编程来输入,这无疑增加了VB编程的工作量,对复杂模型来说更是如此,如果再加上求解和后处理部分难度更大,这在很大程度上掩盖了VB编程的优点。与此不同,本文先用APDL语言编写参数化建模分析命令流文件。然后通过VB的读文件和写文件函数对该命令流文件进行操作,只需几行程序即可完成整个调用过程。

该前处理模块以ANSYS自带参数化设计语言APDL为基础,采用以VB语言为主进行二次开发,编制面向对象的可视化程序,给出实现自动分析的解决方法,使人为干预尽可能减少和简化[4]。主要开发思路如图1所示。

编制应用程序所依据的ANSYS电磁场分析前处理流程如图2所示。

图2 电磁分析前处理流程

用APDL编写参数化建模分析命令流文件ansys.dat (此时没有给参数赋值),利用VB创建可视化参数输入界面如图3所示,通过VB编程把这些赋值参数输出到文件input.dat,完成B-H磁化曲线定义功能和完成双E型铁芯静铁模型构造的界面如图3和图4所示。

图3 B-H磁化曲线定义的界面

图4 双E型铁芯静铁模型创建的界面

在VB下建立ANSYS的命令流文件,在流文件中写入相应的APDL语句,这样就可以通过调用ANSYS对该命令流文件进行计算得出用户想要的结果,其中生成命令流的程序代码可以用下面的VB程序来实现。下面的代码显示了用VB生成APDL文件的程序代码。

由VB 生成命令流程序段

1.3 VB对ANSYS进行调用

文献[5]中给出了使用Visual C++调用ANSYS中的APDL程序的各种方法,对于在VB中调用ANSYS进行计算的方法有很多种,其中采用Shell函数的方法是比较好的一种,本文就采用这种方法来调用ANSYS ,其程序的实现代码如下:

其中“ansysXX0.exe”中的XX0表示ANSYS的版本代号,filein及fileout分别表示要输入的命令流文件及输出的结果文件的文件名及存放位置。

1.4 判断ANSYS计算结束

在计时器中添加如下代码

其中的Z:......为生成执行文件后的执行位置。

完成以上步骤后,将所有生成文件保存。这样具有ANSYS软件调用功能并可以判断计算是否完成的控件就具备实用功能了。如图5所示。

1.5 VB对ANSYS计算结果的提取

另外一个重要的问题是VB怎么获取ANSYS的运行结果,ANSYS对结果的计算结果主要存放在.rst数据库文件中。这个文件是以二进制的方式存储的,需要知道文件的结构后方能获取计算结果。而且得到的也只是节点的结果数据,还要需要将单元的形函数代入才能求得相应点的应力等数据。利用对路径进行列表操作可以得到含有我们想要的结果数据的文本文件.out结果输出文件。但是由于其中包含了许多其他的文本信息,我们就需要对结果文件进行文本分析、处理后方可得到自己想要的数据。

图5 判断计算是否完成

2 实例应用

图6 电磁机构电磁分析有限元模型

图7 双E型电磁机构的磁场强度分布

采用本文介绍的方法对一双E型AC接触器的三维电磁场进行分析。图6给出了该接触器电磁分析有限元模型。气隙为2.6mm,电流为0.21A时双E型电磁机构的磁场强度分布如图7所示。这些数据通过VB的可视化显示,可以很方便工程技术人员对电磁机构设计的优劣进行直观的判断,方便进行设计更改。

3 结论

本文主要介绍了基于VB调用ANSYS进行AC接触器电磁场计算的方法,开发者主要任务是用APDL语言编写分析过程的命令流文件及用VB调用ANSYS计算结果文件并进行分析计算,用图像交互的方式进行显示,从而为一般设计人员提供了一个友好的可视化界面,通过对设计参数的简单修改即可完成复杂的有限元分析和结果的后处理,这在很大程度上降低了分析难度,加快了设计速度。

[1] 陈精一,蔡国忠.电脑辅助工程分析ANSYS使用指南[M].北京:中国铁道出版社,2001.

[2] 博弈创作室.APDL参数化有限元分析技术及其应用实例[M].北京:中国水利水电出版社,2004.

[3] 张晋西.用VB增强ANSYS前处理能力[J].计算机应用,2002,22(3):86-87.

[4] 彭公孚,席长友.基于VB控件开发的ANSYS程序调用方法[J].武汉理工大学学报(交通科学与工程版),2004,2,28.

[5] 刘洁,张和平,王丽娟.基Visual C++的ANSYS参数化设计[J].机电工程技术,2003,32(5).

TM572.2

A

1009-0134(2010)10(下)-0064-03

10.3969/j.issn.1009-0134.2010.10(下).20

2010-01-28

国家科技支撑计划项目(2006BAF01A21)

姜峰(1981 -),男,山东蓬莱人,工程师,硕士,研究方向为有限元仿真。

猜你喜欢

电磁场接触器调用
外加正交电磁场等离子体中电磁波透射特性
2017款比亚迪E5纯电动汽车无法上高压电
核电项目物项调用管理的应用研究
智能大功率过零接触器研究与开发
系统虚拟化环境下客户机系统调用信息捕获与分析①
某型机全机掉电故障分析
不同地区110kV 输电线路工频电磁场性能研究
电磁场能量守恒研究
全空间瞬变电磁场低阻层屏蔽效应数值模拟研究
利用RFC技术实现SAP系统接口通信