首页 > 范文大全 > 正文

基于Excel的电磁计算编程

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于Excel的电磁计算编程范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:本文详述使用excel编写异步电机电磁计算程序过程,介绍编程中用到的Excel函数和命令,及所需注意问题。

关键词:电磁计算;Excel;VBA

中图分类号:TP317.3 文献标识码:A 文章编号:1674-7712 (2013) 04-0054-01

一、引言

阐述使用Excel2007编写大中型异步电机计算程序,说明使用Excel编程过程中的关键问题。编程前,规划一下Execl程序文件结构,可把所有计算过程放在一个工作表中,目前网络上的Excel电磁计算程序基本采用这种结构,可读性差。本文计算程序由下列工作表构成:输入工作表[input],输出工作表[output],主程序工作表[main],参数工作表[table],硅钢片曲线工作表[ggpqx],绝缘规范工作表[jygf],分析工作表[analysis]和[更新说明]工作表。

二、程序构成

(一)输入工作表:采用公司现有电磁计算程序作参照,与之相同输入输出格式,其中,对转子装配方式、绝缘等级、绝缘规范、硅钢片牌号、导条及端环材料等,预先做了限制,采用下拉列表形式。以硅钢片牌号为例,在数据选项卡里,设置数据有效性可实现该功能,有效性条件设为允许序列。输入工作表里布置有两个按钮‘重置’和‘计算’。

(二)输出工作表:采用公司现有计算单的输出结构。由于本工作表最后要打印输出存档,对排版有一定要求。介绍布局的一些技巧。在铁心冲片尺寸上,采用图示说明,冲片尺寸是采用Excel程序内置的“形状”绘制出来,参数是程序自动复制,有的单元格需填入“文本+计算结果”,需要使用text()函数,如将“δ=1.50”放入一个单元格,语句为="δ="&TEXT(delta,"0.00"),这里delta为气隙尺寸变量。将文本与计算结果合并填入到单元格里都可用text()函数。也可插入文本框,在文本框里输入公式,也可达到相同效果。

(三)主程序工作表:介绍循环计算的实现。电磁计算是一个迭代过程,若不使用VBA,靠Excel表格自身实现循环计算,则需要使用循环引用。在电磁计算过程中,需要进行效率、空载压降系数、饱和系数三处循环,在齿磁密饱和时,计算实际磁密也需要一个局部小循环。每一个循环都要用到一次循环引用,这里以效率计算为例介绍循环引用的使用。

预先假设效率值etapre为0.945,效率初值eta单元格公式为

=IF(RESET=1,etapre,IF(ABS(etaerror)>0.0005,eta+etaerror/2,eta))

根据效率初值,计算电流值和损耗值,最终得出效率计算值etareal,以及误差值etaerror,etaerror为效率计算值与效率初值的差值,即etaerror=etareal-eta。公式中,RESET为控制变量,RESET=1时,对整个Excel程序进行重置,eta=etapre=0.945,RESET=0时,程序进行计算,当etaerror的绝对值大于0.0005时,对效率值进行迭代计算,这时eta=eta+etaerror/2,循环引用,即单元格的公式里引用自身单元格,注意引用合理性,否则循环引用会出错。当程序计算到etaerror的绝对值小于0.0005时,认为eta值收敛,这时,会跳出循环引用。

(四)参数工作表:[table]用于存放各种计算中用到的参数表,如波形系数Kphi、极弧系数alphai与Kz关系表,轭部磁路长因数,起动时考虑集肤效应时转子导条系数等。此工作表里的参数基本都有现成的数据表格,只要按列输入,然后命名区域,然后插值计算即可。

(五)硅钢片曲线工作表:此工作表与[table]相似,用于存放硅钢片B-H曲线和铁损曲线,之所以分成两个表格,一方面便于管理,另一方面两个表格在功能上不同。[table]工作表内的参数为固定值,但[ggpqx]内包含若干种硅钢片数据,具体使用哪组数据不一定,建议一种简单的方法,即输入时,每种硅钢片的曲线取同样数量数据对。存放在不同的列上,在[input]中定义硅钢片牌号变量来控制使用哪一组硅钢片数据,然后将该组数据复制到[ggpqx]的前三列。在计算过程中,始终从前三列进行操作,操作方便。

(六)绝缘规范工作表:计算槽漏磁导时需要用到的一些尺寸参数,以前都是查找绝缘规范,通过手算得出数值,作为电磁计算的输入,常用绝缘规范数据表输入到Excel中,计算公式是固定的,只需添加控制变量来指定所用绝缘规范即可。要在此工作表中添加手动输入参数的功能,如计算程序中没有要用到的绝缘规范,也可进行计算。

(七)分析工作表:该工作表,是笔者进行一些创新分析所用到的工作表,不作为输出,只用作对电磁方案进行评估。如电磁噪声计算模块、温升计算等。

(八)[更新说明]工作表:用于记录程序的更新情况,存在的问题等,便于程序的可追溯性。

三、VBA及宏的运用

因为Excel程序中包含循环引用,计算前要对Excel进行设置,在Excel选项-公式里,设置手动重算,并启用迭代计算选项。如手动设置,每次打开Excel都要进行同样设置。VBA或者宏就派上用场了,可先录制设置过程,然后添加一个按钮,将宏指定给按钮。笔者更习惯直接用VBA,代码如下:

Sub计算()

With Application

.Calculation = xlManual

.Iteration = True

.MaxIterations = 200

.MaxChange = 0.001

.CalculateBeforeSave = False

End With

Range("reset").FormulaR1C1 = "1"

Calculate

Range("reset").FormulaR1C1 = "0"

Calculate

End Sub

这里先对计算选项进行设置,之后将先重置,再执行计算。

四、总结

介绍使用Excel编写电磁计算程序技巧,并对编程过程中可能遇到的问题给出具体解决方案。微软Excel程序是一个很好的数据处理工具,结合VBA编程,可进行数值计算。同时Excel也可与其他程序接口,使用编写的Excel计算程序与Solidworks和Matlab联合进行三维建模和仿真计算,大幅提高工作效率。

[作者简介]李孟超(1985-),男,本科,现从事AP1000/CAP1400核主泵电机设计研发工作。