基于VC++和ANSYS的L型门机参数化有限元分析系统

2013-07-03 08:59悦,范
制造业自动化 2013年9期
关键词:门架支腿起重机

李 悦,范 勤

(武汉科技大学 机械自动化学院,武汉 430081)

0 引言

近年来,随着现代化规模的扩大和自动化程度的不断提高以及计算机软硬件技术的发展,有限元分析技术越来越多的应用于门式起重机的分析计算和设计中。现在普遍采用基于有限元分析软件为平台,用有限元法做为计算手段。但其建模过程中操作步骤过于繁琐,所花时间过多,进而影响设计效率。其次有限元软件的通用性和友好度虽然不断提高,但对设计工作人员要求较高。用户必须具有一定的有限元理论知识和对软件掌握到一定程度之后,才能够比较好的运用通用有限元软件。针对这些问题,为了进一步提高产品的分析速度及准确性,缩短研发周期,我们在现有的L型门式起重机有限元分析技术基础上开发了一套基于VC++和ANSYS平台的L型门式起重机门架参数化有限元分析系统。该系统运用大型有限元软件ANSYS的参数化设计语言APDL对L型门式起重机门架进行参数化建模,用面向对象的编程语言VC++来编制图形用户界面,并调用VC++接口模块嵌套VC++与APDL命令流。此系统避免了大量的重复工作,易于实际操作,产品的建模、划分网格、施加载荷、求解以及后处理等过程可以根据输入的参数自动完成,并且分析速度快,不容易出错。整个过程操作起来方便、快捷、高效,大大减少了设计人员的工作量,提高了L型门式起重机的分析效率和设计速度。

1 参数化有限元分析系统总体设计及其实现方法

1.1 系统设计目标及流程

VC++是一种具有强大功能并且比较容易实现的面向对象的可视化编程语言。设计人员通过使用其简洁方便的编程界面以及集成的多种常用工具箱就可以高效地开发应用程序。ANSYS参数化设计语言APDL(ANSYS Parametric Design Language)是一种用来完成有限元常规分析操作或通过参数化变量方式建立分析模型的脚本语言,它用智能化分析的手段,为用户提供了自动完成有限元分析过程的功能[1]。运用VC++与ANSYS的接口技术和对APDL语言封装的功能进行参数化设计,在VC++中将ANSYS软件作为子程序调用,利用ANSYS的结构分析功能以及算法来实现结构的参数化设计。

系统设计主要以方便、易用、可靠为目标。工程技术人员只需在L型门式起重机门架的分析过程中在相应的模块输入相应的参数,就可以进行三维模型的建立、划分网格、施加载荷、计算及查看结果等操作。VC++把ANSYS的重要计算内容封装在编程软件的后台,这就保证了计算和分析的可信性。该系统的可移植性也比较好,尤其是不受具体硬件的约束,只要是安装了ANSYS和VC++6.0软件的计算机都能使用本系统,确保了程序使用的普遍性。系统的程序运行流程如图1所示。

图1 系统结构流程图

由图1可以看出工程技术人员首先进入ANSYS与VC++交互的图形用户界面,然后点击操作按钮在弹出的对话框中输入相应的参数,通过VC++和APDL命令流的嵌套生成相对应的宏文件,并最终形成批处理文件,利用VC++和ANSYS的接口调用批处理文件进行计算,最后查看分析计算结果。

1.2 系统实现方法

该系统能够给工程技术人员更简便、更明了的展现VC++软件调用ANSYS分析计算的过程。其中VC++主要完成3个功能:实现友好的交互编程界面、向ANSYS命令窗口传递函数和调用封装在后台的APDL语言。为了建立高效的分析平台,需要通过VC++封装的APDL宏文件来进行信息传递。

解决ANSYS和VC++的接口问题是实现此系统的关键。通过以下两种方法可以实现VC++对ANSYS的自动调用[2]。

方法一:

::WinExec(“E:\ansys10.0\v100\commonfiles\TCL\bin\intel\wish.exe –b –p ansys_product_feature –i input_file –o output_file”, SW_SHOWNORMAL);

方法二:

//Test.cpp

#include “stdio.h”

#include “process.h"

void main()

{

int res;

printf(“Solving…”);

res=system(“E:\ansys10.0\v100\commonfiles\TCL\bin\intel\wish.exe –b –p ansysul–i test.txt –o test.out”);

printf(“Solution finished…”);

}

说明:input_file和text.txt为用APDL语言编写的ANSYS输入文件。ansys_product_feature和ansysul为ANSYS产品特征代码。需要注意的是,在VC中调用ANSYS时,需要加一条判断语句,以确定ANSYS已经执行完毕。判断方法很简单,只需要判断错误文件file.err是否可写,因为当ANSYS运行时,file.err是不可写的,只有当它运行完毕,此文件才可写[3]。其中“E:\ansys10.0\v100\commonfiles\TCL\bin\intel\wish.exe”为ANSYS程序安装目录里面的执行文件,可根据实际安装情况更改。

参数化设计的基本思想是生成一个包含ANSYS命令记录的宏文件,需要计算时,只要执行这个宏文件即可,需要修改时,只用修改宏文件里的相关参数,剩下的由计算机自动完成。宏文件就是一系列ANSYS命令贮存在一个文本文件里,以“.mac”为后缀名,这样就可以使ANSYS在执行该宏时,能够识别宏,并且将其当作一个内部命令使用[3]。整个系统要能够成功的实现,关键在于宏文件是否能够正确的生成和导入。通过实现VC++和APDL的嵌套来生成宏文件,然后在宏文件里传递ANSYS命令形成完整的命令流文件。例如定义划分网格命令的代码如下:

FILE *file;

if((file=fopen("F:\CraneCAE\onmesh.mac","w"))!=NULL)//创建宏文件

{

fprintf(file,"AESIZE,ALL,%d ",esize);//定义单元尺寸

fprintf(file,"AMESH,ALL");//划分所有面

} else

{

MessageBox("划分网格失败!","注意",MB_ICONASTERISK|MB_OK);

}

执行完以上VC++程序就可以生成一个以onmesh为文件名的宏文件,然后ANSYS软件调用此宏文件进行分析计算。导入宏文件的语句格式为:/INPUT, ‘onmesh’, ‘mac’,‘F:\CraneCAE\’,, 0,其中‘onmesh’为宏文件名,‘mac’代表此文件为宏文件,‘F:\CraneCAE\’表示生成的宏文件存储的位置。

在ANSYS批处理模式下运算完毕以后,进入后处理选项,选择不同的处理选项得到需要的计算结果,并且通过APDL命令流编程可以输出JPEG图片文件及设置其存储位置。查看计算结果的部分程序如下:

Message(hAnsMultiWin,"FINISH"); //完成计算,hAnsMultiWin为ANSYS主窗口句柄

Message(hAnsMultiWin,"/POST1");//进入后处理

int Radio;//定义一个整型变量

Radio=GetCheckedRadioButton(IDC_ X,IDC _Y);//定义单选按钮

if(Radio==IDC_ X)

{

Message(hAnsMultiWin,"/EFACET,1");//指定每个单元边界的面号

Message(hAnsMultiWin,"PLNSOL,S,X,0,1.0");//显示应力的X分量值

}

图片生成及存储的部分程序如下:

SHOW,JPEG,,0;//确定图形显示的设备及其他参数

JPEG,QUAL,75;

JPEG,ORIENT,HORIZ;

JPEG,COLOR,2;

JPEG,TMOD,1;

GFILE,800;

CMAP,_TEMPCMAP_,CMP,,SAVE;//对图片进行存储,默认为C:\Documents and Settings\Administrator目录下

1.3 系统交互界面设计

利用对话框作为人机交互界面,建立L型门式起重机门架有限元分析平台操作界面,如图2所示。

图2 系统交互界面

工程技术人员通过这个友好的交互界面来调用ANSYS软件进行三维建模、划分网格、施加载荷、求解及后处理等操作,具有简单方便的特点。

2 系统功能介绍

该系统以ANSYS为平台,以VC++6.0为编程手段,利用面向对象的程序设计方法,能进行大部分L型门式起重机门架有限元分析计算。该系统的功能主要包含以下几个方面:

1)设计人员可以根据实际的计算情况,在对话框中输入相应参数进行三维建模,主要包括主梁、支腿、下横梁的尺寸参数以及主梁有效悬臂长、大车轮距、跨度等,三维模型建立好后,输入单元尺寸自动进行划分网格。支腿参数的设置界面如图3所示。

图3 支腿参数设置界面

2)将门架分为支腿平面和门架平面,分别施加载荷计算。支腿平面需要考虑主梁、支腿及下横梁自重引起的均布载荷和大车制动主梁、支腿、下横梁、货物及小车自重引起的惯性力,还有作用于主梁、支腿、下横梁、货物及小车上的风载荷,大车运行机构、司机室和小车自重及起重量等;门架平面需要考虑主梁、支腿和下横梁自重引起的均布载荷及小车制动时货物和小车自重产生的惯性力,还有大车运行机构、司机室和小车自重及起重量等。载荷输入界面如图4所示。

图4 载荷输入界面

3)设计人员通过调用封装在后台的ANSYS宏文件进行计算,然后对计算结果文件进行后处理和分析,同时还能通过编程实现应力云图和位移云图的图片输出。以某机械有限公司MGD(L)型单主梁门式起重机(10t×22m)门架结构分析为例,起升高度为10m,起升速度为9m/min,小车运行速度为35m/min,大车运行速度为30m/min,工作级别为A5,在支腿平面施加载荷,计算结果如图5、图6所示。

图5 静刚度计算结果

经过该系统建模计算得到的主梁危险截面最大应力为161.1MPa,门架静刚度为13.7mm,即σ=1 6 1.1 M P a<[σ]=1 7 2.9 M P a, fj求。

图6 应力计算结果

3 结束语

本系统通过使用VC++面向对象编程技术,有效的实现了对ANSYS有限元分析软件的封装,利用ANSYS的参数化设计语言APDL,实现了门架结构的参数化建模、参数化划分网格、参数化施加载荷和参数化计算及参数化后处理的功能。结合对话框编程技术,实现了整个分析过程的可视化,使工程技术人员在对话框指引下正确的完成整个分析流程,并且可以方便的进行参数的修改。使用它可以提高产品分析速度,缩短产品研发周期,对于不熟悉ANSYS软件和有限元分析技术的工程技术人员也可以方便的使用该系统。

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

[2] 祝效华,廖伟志,等. CAD/CAE/CFD/VPT/SC软件协作技术[M].北京:中国水利水电出版社,2004.

[3] 龚曙光,谢桂兰,等.ANSYS参数化编程与命令手册[M].北京:机械工业出版社,2009.

[4] 陈道南,盛汉中.起重机课程设计[M].北京:冶金工业出版社,2000.

[5] 张质文,虞和谦,等.起重机设计手册[M].北京:中国铁道出版社,2001.

猜你喜欢
门架支腿起重机
基于新能源技术的高速公路ETC门架供电系统
核电厂起重机安全监控管理系统的应用
预制梁架桥机的优化设计
高速公路ETC门架供电系统的保障方案
LNG空温式气化器支腿高度数值模拟研究
基于“云-管-端”体系的ETC门架健康监测平台
自由流ETC门架可靠供电系统设计分析
LG550t架桥机首跨50m及变跨过孔的介绍与研究
起重机接地问题整改方式的探讨
大型起重机集中润滑的研究与改善