摘要:本文详述使用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核主泵电机设计研发工作。
1、最快当天审稿 最快30天出刊
易品期刊网合作杂志社多达400家,独家内部绿色通道帮您快速发表(部分刊物可加急)! 合作期刊列表
2、100%推荐正刊 职称评审保证可用
易品期刊网所推荐刊物均为正刊,绝不推荐假刊、增刊、副刊。刊物可用于职称评审! 如何鉴别真伪期刊?
都是国家承认、正规、合法、双刊号期刊,中国期刊网:http://www.cnki.net 可查询,并全文收录。
3、八年超过1万成功案例
易品期刊网站专业从事论文发表服务8年,超过1万的成功案例! 更多成功案例
4、发表不成功100%全额退款保证
易品期刊网的成功录用率在业内一直遥遥领先,对于核心期刊的审稿严格,若未能发表,全额退款! 查看退款证明