基于EXCEL VBA的参数一致性方面的研究

来源 :科学与财富 | 被引量 : 0次 | 上传用户:litianjin
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:本文对FADEC系统软件的参数一致性进行了研究。通过分析现有参数处理方式,本文提出将输入文档中的表格作为唯一的来源,利用EXCEL/VBA提取文档中的表格数据,写入代码或可调参数文件中。通过该种方法能够保证代码中数据与要求一致,同时保证可调参数的初始值与代码中的默认值一致。
  关键词:FADEC;参数;一致性;word;Excel
  1引言
  在FADEC软件开发过程中,一般需要将文档中的大量的数据写入软件代码中,有些数据仅在代码中体现,有的数据需要设置为可调参数,可调参数一般调节规律、控制参数、标定曲线等系统匹配曲线[1],如何高效且准确的保证所使用参数与要求参数一致性及其可维护性是在软件开发过程中亟需解决的问题,而VBA(Visual Basic for Application)是一种由Visual Basic的一种宏语言[2][3],主要用于扩展Windows的应用程序功能,特别是Microsoft Office软件,本文提出了基于EXCEL的VBA进行处理的方法。
  2问题分析及设计思路
  按照软件开发流程,在新研阶段就应该考虑全面,规定统一的软件架构,制定文档中数据编写的规则:可调还是不可调,连续还是离散点,可调的格式,数据的名称等,做成可调参数的形式等,确保数据的来源唯一且准确,然后将需求文档中的需要写入代码中的数据按照制定好的格式编写,前期要做好规则制定及数据的分类整理等大部分策划工作,保证需求文档中的数据是代码及可调参数相关文件的来源,以此来保证数据的正确性。这个在前期的进行合理的规划后,能够保持数据源的一致性,后续维护中也按照规则执行。
  而一旦未规定好统一的框架结构进行处理,进入维护阶段后,若大量的变更数据表格,则应该参考新研阶段,统一规划结构,制定规则后,统一按规则执行,若是仅有少量变更,则可以统计一下文档中表格的类型,然后进行相应的处理。
  本文基于EXCEL/VBA开发工具,能够读取输入文件中的参数曲线,参考现有维护阶段代码及可调参数暂定义一种代码及可调参数格式,生成可直接使用的代码及可调参数文件,同时,也可以对现有的参数进行校对。参数曲线分为一维、二维和三维,已分别有对应表格区分曲线,同时写明检测范围,处理流程如下:
  输入:word文件(包含固定格式的默认参数曲线及其检测表格)
  输出:代码(包括默认值及检测范围)及可调整参数文件
  处理点:读取word中表格到excel中,区分表格的类型,留下表格中的数值(删除其单位等非数值信息),输出到文件中。
  3用VBA开发数据生成工具的实例
  3.1 输入输出说明
  以三种表各有一张为例,输入输出如以下格式所示:
  1)输入数据表格,包括一维表格、二维表格以及三维表格,必要元素包括表号和表格内容,用于默认值的生成格式如图2、图3和图4所示。
  2)检测范围信息表格,必要元素包括上下限,对应表号,以及名称等,格式要固定,在输入文档中有明确的说明,格式如图5、图6及图7所示:
  3)输出分默认值,检测范围和可调参数三种格式,原有分别有三个文件用于对比校验;
  4)Sheet1为默认处理数据的工作表。
  3.2实现说明
  实现界面如图8、图9及图10所示:
  实现步骤如下:
  1)打开word:打开待处理word,路径和名称可手动更改,默认是相同路径下的TEST.docx文件,同时创建默认值.c、检测范围.c及flash.flashconfig三个文件,删除默认4個工作表之外的表;
  2)数据提取:
  a)记录word中表名称,获取表格目录,并将其拷贝到表格目录工作表中;
  b)将表格拷贝到与表号相同的工作表中,如没有则创建,有则删除,同时建立表格目录中表名到表格工作表的链接;
  c)判断是一维、二维还是三维曲线,分别从相应的工作表中读取上下限及曲线名称,调用相应函数进行处理;
  3)数据比较:对已有维护项目,将生成的文件与已有的文件调用beyondcompare软件进行对比,对结果进行验证;
  4)关闭word:都处理完毕后选择是否关闭打开的输入文件。
  3.3关键处理说明
  3.3.1将word表格拷贝到excel的工作表中
  Sheets.Add(After:=Sheets(Sheets.Count)).Name = sheetname(j)‘增加工作表
  Sheets(sheetname(j)).Activate
  .Tables(j).Range.Copy‘复制word表
  ActiveSheet.Cells(1,1).Select
  ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:= _
  False, NoHTMLFormatting:=True‘粘贴word表
  3.3.2写入文件
  创建和写入文件有以下两种,用open和用文件系统,open对应的close关闭才算写入完成,本文选择filesystemobject来创建和写入文本。
  a)用open
  Bn = 要创建的文件完整路径
  Open Bn For Output As #4
  Print #4, data;
  Close #4
  b) 用文件系统
  Dim fso As New FileSystemObject   Setfso = CreateObject("Scripting.FileSystemObject")
  Bn =要创建的文件完整路径
  Set f = fso.OpenTextFile(Bn, 2, True)
  f.Write data
  3.3.3取word表格中数字
  1)利用正则表达式[5],编写函数去掉字符串中的指定类型的类,如去掉汉字、去掉数字及去掉字符等,所写函数如下:
  Function exReplace(str As String, repstr As String, pat As String)
  2)exReplace(word, "", "\D"),去掉word中的除数字外的其他内容,写函数将word中区分负数符号“-”及小数点“.”,利用取位置位操作再拼一起,所写函数如下:
  Function GetNumber(word As String)
  3.3.4读取不同维度数据
  根据输入模板可知,主要针对X轴、Y轴及Z轴数据分了多行,因此要查找分了多少行,倒序查找分了多少行,将所有的数据取全,记录X轴、Y轴、Z轴的数据个数与数值,根据指定格式输出到相应的文件中。
  3.4 实现结果
  建立TEST.docx,内有一维表[4161]、二维表[1426]和三维表[4177],同时相应的表的检测也在excel对应工作表中。
  生成结果,word每个表格都讀取到excel中,如图11所示。
  生成的文件如图12所示。
  将生成文件与原有比较,结果如图13、图14及图15所示,经比较发现,不同之处是名称及其他描述信息不同,数值不同之处是在flashconfig中,有个0.33和0.325的不同,经分析,原文件中经excel处理时小数位被约掉了,工具生成的文件数据正确,本工具在用excel处理数据时以文本的形式而不是数字的形式,以避免数据有误。
  4 结束语
  本文开发了一种在FADEC软件开发过程中从word中获取表格数据并直接生成代码和可调整参数的工具。通过实现结果表明,该工具可用于在软件新研开发阶段直接生成代码及维护阶段的参数的维护,可以避免手动输入数据可能发生的错误,同时提高开发效率。
  参考文献:
  [1]武晔卿.嵌入式系统可靠性设计技术及案例解析[M].北京:北京航空航天大学出版社,2012.7.
  [2]John Walkenbach. Excel 2010 power programming with VBA [M]. Wiley publishing,Inc.,Indianapolis,Indiana,2010.
  [3]Bill Jelen,TracySyrstad.VBAandMacros:Microsoft excel 2010[M].Que Corporation,U.S.,2010
  [4]Excel Home.别怕,Excel VBA其实很简单[M].北京:北京大学出版社,2016.7.
  [5]侯秀红,董峰.Visual Basic 6.0中正则表达式的应用[J].郑州轻工业学院学报,2005,20(4),38-41.
其他文献
摘要:本文主要运用MATLAB软件实现对调Q Nd:YAG激光器的综合设计,在固体激光器设计初期完成性能预测和系统优化的目的。主要包括使用MATLAB绘制优化Q开关激光器运转的解析解,借助图像完成激光器的初步设计。其次通过对激光器速率方程组进行数值求解,推导出在激光调Q的过程中激光各粒子变化的规律,进而得到如峰值功率、脉宽、升降时间等重要参量,以满足激光器设计初期对性能掌握的要求。  关键词:激光
期刊
摘要:通过穿的特点和原因的分析引擎的主要部分,简要描述了如何减少磨损,延长发动机的使用寿命期间的服务,并初步探讨了预防措施和方法,可有效减少消费的部分。  关键词:发动机活塞环曲轴磨损  由于工作环境和使用环境的不同,发动机零件的磨损也不同。仅对主要零件的磨损进行了详细的分析。只有采取切实有效的预防措施,减少和防止磨损,才能延长发动机的使用寿命,提高设备的功率和利用率。  1气缸和活塞环磨损  当
期刊
摘要:改革开放以来,我国的经济发展不断提高,国民生产水平稳步增长,而支持我国发展的前期重要战略物资就是我国庞大的自然资源。在自然资源的开采方面,我国和其他国家相比是落后的,因为我国进入工业化时代的时间相较于美国和欧洲来说是非常靠后的,所以在对我国矿产资源的开采方面,采矿的设备和技术都比较低标准,这些标准随着时代的发展已经很难满足社会的需求。所以,我国的矿產开采当前面临着重要的改革,力争开发出新的技
期刊
摘要:本文主要阐述电铲随着使用年限的增加,设备均存在不同程度提升滚筒轴损伤,针对这些常见故障及成因进行了较为详细地分析探讨,并在此基础上,结合工作实践经验,对电铲常见故障的诊断方法进行了探讨,提出了电铲常见故障的感官诊断方法,对电铲提升滚筒的修复技术以及应用做了分析,包括滚筒损坏原因及修复方案,最后对电铲的保养维护进行了简要的阐述。此方法可应用于多种电铲提升滚筒上。  关键词:WK-55电铲;提升
期刊
摘要:社会的发展,科技的进步使得电力系统的发展规模也在不断的发展壮大中,与之相适应的各种技术也在逐步的完善中,在这种电力系统输电运检管理模式也在发生着改变,传统的模式已不能满足现代社会的发展需求,就需要对其进行改进,为了更好适应现代的社会对电力系统发展需求,就要对传统电力系统输电运检管理进行分析、研究、改进,针对其中存在的问题进行有效的解决,如此才能让输電运检管理发挥应有的作用。  关键词:电力系
期刊
摘要:实践表明,机电工程施工是一项综合性很强的管理工作,其中建筑施工质量的好坏就是由机电安装工程施工质量决定的。由于机电施工工程具有工期紧、边施工边进行二次工程的特点,因此,在实施建筑机电施工时必须要健全机电工程管理机制,保障工程设备安装质量。本文首先阐述了当前机电工程施工管理方面存在的问题,并得出在管理过程中需要重点做好的的施工管理、工程技术管理和质量管理等几项工作,并提出一些好的管理建议以供参
期刊
摘要:针对输电线路受外力破坏严重且电力设施保护面临困难的问题,提出了在输电线路杆塔建立智能警示平台,在市运检中心建立监控运维平台的两级纵向贯通、横向集成的输电线路智能警示系统。该智能警示系统已实际投入运行,成功促进了输电线路开展防外力破坏工作,解决了电力设施保护问题。  关键词:输电线路;外力破坏;智能警示系统;电力设施  输电线路处于开放式的运行环境,由于社会各界电力设施保护意识不强,在各种经济
期刊
摘要:本文主要概括分析了流程化的质量管理模式,站立于流程化的管理视角之上,深层次地研究了项目质量的管理工作实施办法,提出了相应的合理化管理意见。从而能够充分发挥流程化管理的各项功能作用,将其贯穿于建筑工程项目全过程当中,进一步提高质量管理工作水准,营造一个良好的建筑业发展环境,推进建筑业现代化创新发展。  关键词:流程化;视角;建筑工程;项目;质量管理;  前言:  流程化的管理,是以具体流程为导
期刊
摘要:工厂在生产中,通过节能技术的应用,在满足工厂生产需要的同时,还可以大大降低电能消耗,提升生产效率和生产效益的同时,提升工厂核心竞争优势,谋求长远生存和发展。  关键词:节能技术;工厂电气技术;应用  引言  在社会经济持续增长下,我国的资源和能源总量急剧减少,推行可持续化战略强调节约减排,在满足经济发展需求的同时,降低对生态环境的污染和破坏。而在工厂生产中,用电成本占比较大,在电气技术中应用
期刊
摘要:随着物质生活水平的提升,当前人们对于建筑行业机电设备的安装质量也提出了更为苛刻的要求。立足于建筑机电设备安装的技术要点,文章首先分析了建筑机电设备安装中存在的具体问题,其次对建筑机电设备安装过程的质量控制策略进行了分析与探究,以期可以提升设备安装水平,为行业的发展奠定基础。  关键词:建筑机电设备;安装工程;质量控制  引言  建筑机电安装质量不但会影响施工质量,同时对于科学技术的应用与行业
期刊