徐清华 周炳兰 叶玮 洪超 袁树红/文
工业自动化控制中变量表生成软件的开发
徐清华 周炳兰 叶玮 洪超 袁树红/文
本文阐述了当前工业自动化控制领域内,电气控制程序和现场监控画面开发过程中变量表编制方式以及该方式存在的弊端;介绍了基于该现状开发的变量表自动生成软件及其软件功能、开发环境、开发语言以及开发过程;基于实际测试采集数据并绘制散点图,对散点图进行分析,得出该软件功能高效性、可行性和经济性的结论。
工业自动化、变量表、C#、计算机辅助设计、监控画面
在工业自动化控制领域内,尤其对于大型智能系统,电气控制程序开发时,成百上千个变量表的编制是一个工作量大、耗时比较长、工作繁琐的工程。变量表也经常因为程序开发人员的笔误和疏忽导致地址或者符号名错误,给后期程序开发工作带来诸多不便,无形中也延长了项目开发周期,增加了程序设计和监控画面开发成本。
本文介绍的变量表自动生成软件(ATCS)基于上述问题而开发,为程序开发人员提供了很多便利,不但解决了电控程序变量表编写繁琐的问题,也为目前几款应用比较广泛的现场监控软件在进行现场操作员终端开发时提供变量表生成服务,能够有效减小程序和画面开发的工作量,缩短开发周期并降低成本。
图1为ATCS软件操作界面,由六个操作按钮和五个输入框组成,界面简洁直观便于操作。按钮功能介绍如下:
1.源Excel文件:输入来自电路图设计软件导出的符号表;
2.源文件工作表:用于选择要转换的符号表所在工作表;
3.目标文件位置:用于选择生成变量表存放位置,设置该功能是为了满足同时生成编程软件和监控软件使用变量的需要;
4.目标文件类型:用于选择需要生成的变量表类型,其中包括:Portal、Step7、Intouch和Flexible四个选项。项目代号用于在生成Intouch和Flexible变量表时填入项目代号,该功能由Intouch和Flexible软件导入变量格式决定;
5.查看导出文件:为便于用户快速找到已生成变量表,软件设置了“查看导出文件”按钮,点击按钮后将打开已生成变量表所在文件夹。
为便于用户使用,该软件创建了帮助和关于两个功能,用于提供软件使用帮助和简介软件功能,如图2和图3。
ATCS软件采用C#计算机编程语言开发。C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。开发平台采用美国微软公司开发的Windows平台应用程序Visual Studio 2013。
生成变量之前,软件首先根据用户选择的“目标文件类型”在新建表格中写入变量表基础数据,各种开发软件的导入数据格式不同,必须根据各自的格式写入基础数据。基础数据写入完成后开始解析源文件中的符号标志位,判断当前符号为输入变量还是输出变量、所属子站箱编号以及在该子站箱中位置属于上层或下层IO模块等信息。最后,根据以上信息结合预置计算公式计算出变量的输入输出地址,并写入到目标文件相应的位置。
由于ATCS软件的源文件来自电路图设计软件,因此,使用该软件时须保证电路图设计软件输出的符号表中符号顺序完全符合可编程控制器硬件配置输入输出模块的顺序,如果出现符号顺序颠倒,该软件将无法正确计算变量地址,此外,该软件不具备判断变量名称是否重名的功能,对重名符号按正常符号进行地址生成。编程和监控画面开发软件要求所有变量不能重名;因此,须保证电路图设计软件输出的符号表中的符号不重名。
为验证软件实际使用中的高效性、可靠性和可行性,对软件进行功能测试,分别采集测试过程中生成不同数量变量的实际耗时。
测试过程分别生成编程软件西门子Portal和Step7以及监控画面开发软件Intouch和Flexible四种软件所需格式变量,生成的变量能够通过直接导入或者粘贴复制的形式使用。将每种格式变量分成50、200、500、1000、2000、3000六种数量等级,每种软件对应每个等级的变量做三组测试,采集每组测试实际耗时并求得平均值,最后针对平均值绘制数据散点图。
图1:ATCS软件操作界面
图2:帮助屏
图3:简介屏
图4:Step7测试数据散点图
表1为测试过程所采集数据,测试数据采用四舍五入法取小数点后两位,单位为秒。为便于分析,将实测数据平均值根据不同的变量表需求分别绘制成较为直观的散点图,如图4、图5、图6和图7所示。图中横坐标表示测试变量数量(单位:个),纵坐标表示生成变量实际耗时(单位:秒)。
测试数据散点图表明:
(1)随着测试生成变量数量的不断增加,所需时间也逐渐增加,时间与数量的变化趋于线性变化。
表1:实测数据
(2)无论是编程软件还是监控开发软件,40秒以内均能完成高达3000~3500个变量。
图8为所有测试数据对比图,测试结果表明:
(1)当变量数量在200个左右时,生成4种软件所需格式的变量表消耗时间差距不大,均在5秒以内完成;
(2)变量数量相同时,耗费的时间由小到大顺序为:Step7 < Portal (3)在相同的时间内,能生成的变量数量由小到大顺序为:Intouch (4)生成4种软件所需变量对应的散点图线性比由小到大顺序为:Step7< Portal < Flexible < Intouch,分析每种软件导入变量格式得知,导致该现象的原因与各软件导入单个变量所需辅助标志位以及导入表格初始化数据相关; (5)散点图线性比越小,单位时间内生成的变量数量越多,生成变量的效率越高。 ATCS基于电路图设计软件导出的符号表,自动生成可导入西门子博途和Step7编程软件以及监控画面Intouch和Flexible的变量表。该软件与目前采取人工编制变量表的方式相比,能够高效、准确地生成所需的变量表,并将所有项目生成的变量地址格式进行统一,便于实现电控程序标准化开发和提高程序易读性。该软件生成变量表的高效性和准确性能够很大程度缩短项目电控程序以及现场监控画面开发周期,进而大大降低开发成本,达到降本增效的目的。 作者单位为昆明昆船物流信息产业有限公司 图5:Portal测试数据散点 图6: Intouch测试数据散点 图7:Flexible测试数据散点图 图8:测试数据对比图四、结论