APP下载

基于Matlab GUI的阀门强度校核程序设计

2016-02-23董达善毛庆蕉翁武秀朱元侃

计算机技术与发展 2016年12期
关键词:图形用户界面密封面校核

董达善,毛庆蕉,翁武秀,朱元侃

(1.上海海事大学 物流工程学院,上海 201306;2.上海沪东造船阀门有限公司,上海 201913)

基于Matlab GUI的阀门强度校核程序设计

董达善1,毛庆蕉1,翁武秀2,朱元侃2

(1.上海海事大学 物流工程学院,上海 201306;2.上海沪东造船阀门有限公司,上海 201913)

针对阀门强度计算校核的重复性及机械性,为了降低公司企业的人力物力成本,提高工作效率,从阀门强度校核实际需求入手,提出将强度计算校核进行程序化,利用Matlab语言的图形用户界面(GUI)功能,设计制作了阀门强度校核的辅助软件。以编程思路为主线,通过介绍图形用户界面设计过程,包含了具体的制作用户界面的框架结构和设置其控件属性及布局顺序、心得,并介绍了相关内容的处理要点,其中制作了集中体现程序实用性及人性化的功能模块,并添加了生成报告功能。通过具体算例的程序及手工的对比,手工与程序结果一致,证明了该程序的有效性,大大提高了工作效率。同时也说明该软件是一款集有效、省时、省力三大优势于一体的实用性软件。

Matlab;图形用户界面;控件设计;阀门

0 引 言

阀门是石油、化工、电站、造纸、核工业、各种低温工程、宇航及海洋采油等流体输送系统中的主要控制部件[1],具有至关重要的作用。随着LNG的迅速发展,低温阀门的应用越来越广泛。超低温阀门的工作温度极低(77 K),因此在设计这类阀门时,为了保证阀门在低温下安全可靠的运行,在设计时要求必须具有足够的强度和刚度,以保证长期使用而不发生破裂或者产生变形。所以,强度应力的设计校核是研发设计的重中之重。然而,大部分阀门的设计校核却都是完全手工计算,计算量大、重复性高、机械性高、费时费力。因此,文中在手工计算校核的基础上进行二次开发,实现程序化,替代传统手工计算。

Matlab是由Mathwork公司开发的一款高性能的数值计算和可视化软件,也是当今科研领域最常用的应用软件之一,其全称为Matrix Laboratory,亦称矩阵实验室[2-4]。它在数值分析、信号处理、系统辨识、特殊函数和图形等方面具有广泛的应用。Matlab的突出特点是简洁,利用丰富的函数资源,给用户带来最直观的开发环境。其中的图形用户界面开发环境(GUI)功能强大,界面友好,编程效率高,可扩展性强,是一种简易的、可扩展的系统开发环境和平台,可以为不同领域的用户提供强大的功能[5-7]。文中采用Matlab图形用户界面开发环境(GUIDE)设计开发了一套阀门强度校核的辅助软件,旨在降低公司企业的人力物力成本,提高工作效率。

1 程序分析与界面布局

1.1 程序分析

文中做的是截止阀的强度校核,针对不同项目的内容及程序要实现的功能,设计时大致需要经过以下步骤:确定输入、输出参数,进行编号,构思出草图,然后通过控件布局、代码编写、调试运行及修改等工作不断修改,直至符合要求。

1.2 界面布局思路

设计一个应用程序界面时,应先对整个系统界面进行初步规划。考虑多种实际需要,具体界面布局思路如图1所示。

图1 界面布局思路

具体如下:依据计算项目及其具体内容评估工作量;根据项目内容分配窗体数量;将计算项目分为输入部分和输出部分,此外,考虑到数据的使用频率及相互关联,并依据面板大小及相关参数的多少将频率较高的输入输出变量设置为独立子程序;依据程序目的和要实现的功能规划菜单命令,针对此内容,对不同功能模块,对话框与用户交互方式及需要提供的帮助进行规划。

2 程序布局要点

2.1 功能模块

设计验算超低温阀门时以口径为区分标准,截止阀目前有20/25/32/40/50/65/80/100/125/150/200等11个口径,有的项目的强度验算输入数据不仅数量多且重复使用率高,甚至其中一些作为固定的经验值,所以一次性将所需数据直接导入计算面板是要实现的目标。文中制作了批量输入模块,实现一键导入数据,不仅方便用户操作,而且提高了操作效率和工作效率。此外,考虑到设计时可能会有数据修改,添加了批量修改数据的命令,可以针对相关的参数进行数值修改。同时,由于输出数据较多,设置批量输出模块,将所有的计算数据一键计算出结果并传递到面板上,这个模块完全是适应实际需要的现实创新和改良。为了更便于用户理解和使用软件,在相应的界面上添加了图片参考模块,确保设计数据准确无误,也方便对超低温阀门不是十分熟悉的用户使用该软件进行校核。由于所有的超低温阀门设计都是根据各类规范设计的,且参考了大量的表格,为了方便用户对比计算结果与设计规范是否相符,文中的软件还添加了参考模块。将设计校核用到的所有的表格及校核公式都分别以Excel和Word的形式做到程序里[8-9],方便用户随时查阅,当手册不在手边时同样有权威参考。所有的程序中都还有单独的一个清空模块,用来一键清空界面中所有数据,方便用户连续直接使用,不必挨个删除或修改数据,节省了大量时间。在最下面添加参考的计算书,方便参考对比及版本及时随着阀门手册的更新而更新。表1是模块说明。

表1 模块说明

2.2 界面布局时处理要点

(1)调整控件位置时,合理使用位置调整工具(Alignment Tool),可以将选中控件左或右对齐并间隔设置的距离。该工具的使用可以准确调整位置布局,提高效率。

(2)需要修改属性时,可以将需要修改为相同属性的控件全选,利用对象属性编辑器(Property Editor)在相应的板块批量修改,可以大大节省时间,提高效率。

2.3 生成报告

由于每一次的计算校核数据都有其实际意义及参考价值,更是需要留存报告作为项目依据,为了方便记录每一次校核结果,文中专门制作了自动生成报告按键[10],可全面准确地记录各个计算项目的输入结果及输出结果。以截止阀的阀体密封面上总作用力及计算比压为例,代码如下:

a=str2double(get(handles.edit1,'string'));

b=str2double(get(handles.edit2,'string'));

c=str2double(get(handles.edit3,'string'));

……

A=[a,b,c,…]

filename='密封面总作用力及计算比压.xlsx';

sheet=1;

xlRange='G3';

xlswrite(filename,A',sheet,xlRange);

xlRange='B15';

z=char(get(handles.edit13,'string'));

xlswrite(filename,{z},sheet,xlRange);

winopen('密封面总作用力及计算比压.xlsx');

3 软件实用性及高效性

3.1 程序实例

利用Matlab,用户可以非常方便和快捷地设计一个图形用户界面,如同在一张纸上绘图。可以把图形界面的外观,包括所有的按钮以及图形的位置确定下来,然后利用Matlab的回调程序编辑器来编写其函数代码,从而可以使该图形界面完成预定的任务。

以口径为80的截止阀的阀体密封面上总作用力及计算比压程序的制作过程为例[11]。锥面密封结构如图2所示。

图2 锥面密封结构

(1)输入数据如表2所示。

表2 输入数据

注:所有表格均参考《实用阀门设计手册》第三版。

(2)输出数据。

密封面处介质作用力为:

(1)

密封面上密封力为:

(2)

密封面上总作用力为:

FMZ=FMJ+FMF

(3)

密封面计算比压为:

(4)

首先将所有相关参数分为输入和输出参数,然后按照上述分类利用对象设计编辑器(LayoutEditor),包括复选框(Checkboxes)、可编辑文本框(Editabletext)、框架(Frames)、列表框(Listboxes)、弹出式菜单(Pop-upmenus)、命令按钮(Pushbuttons)、单选按钮(Radiobuttons)、滑标(Sliders)、静态文本框(Statictext)、开关按钮(Togglebuttons),按照自己的需要在图形上添加图形控制对象;利用对象属性编辑器(PropertyEditor)修改对象的属性值,如String和Tag;通过位置调整工具(AlignmentTool)调整图形窗口中各个图形对象的位置;使用对象浏览编辑器(ObjectBrowser)可以最直观高效地了解当前设计阶段的各个句柄图形对象[12-14],以便后面相应地编写callback函数,布局如图3所示。

图3 密封面上总作用力及计算比压

3.2 程序结果及手工计算对比

同样以截止阀的阀体密封面上总作用力及计算比压为例,计算结果及用时对比如表3所示。

从表中可以看出,通过对设计图纸校核验算,手工与程序结果一致,说明程序是有效的;同时,程序运行出结果只需要29 s,专业人员手工计算却需要十几分钟,说明程序是高效的。关键是计算机计算结果较客观,避免了手工验算的失误及误差。

表3 计算结果及用时对比

3.3 程序的实用性及人性化

这款软件最大的特点就是实用性及人性化,如图3所示:

(1)为了最大程度上减少操作次数,提高用户体验,专门添加了批量输入及批量输出按钮。

(2)考虑到设计时可能会有数据修改,便添加了批量修改的命令。通过该命令可以打开相应的表格,即可对相应的数据进行批量修改。

(3)在所有涉及需要查表才能确定的参数前,都标注了相应的参考的表格;并将所有要参考的表格、计算书集中列为一个参考模块。

(4)为了设计人员更方便准确地理解参数,对可能有歧义的参数添加了示意图并集中形成了图片参考模块。

(5)为了方便参考对比以及版本及时更新,在最下面添加了参考的计算书。

(6)考虑到计算校核结果的参考价值及留档等情况,添加了一键生成报告的功能,将面板中所有的参数及其数据,全部保存到Excel表格中。这便是生成的报告,数据完整准确记录到Excel中。

(7)为了方便下一次计算,设置了一键清除键clear,点击一下,即清除面板中所有数据。

4 结束语

文中详细介绍了利用Matlab的GUI界面编写具有实际工程意义的程序的具体过程,以及图形用户界面设计过程,包含了具体的布局心得,是学以致用的典型案例。

通过具体算例的程序及手工的对比,证明了该程序具有三大优势:通过对设计图纸的校核验算,结果表明手工与程序结果一致,说明程序有效;大量节省时间,3 min程序计算可赶超过去两人30 h的手算工作量;人力资源优势:原来需要专业人员,现在只需会简单计算机操作即可。大大提高了工作效率,节省了公司人力物力成本,具有重大的现实意义。

[1] 陆培文.实用阀门设计手册[M].北京:机械工业出版社,2012.

[2] 顾 闻,周 飞,杨宏兵,等.基于C.NET与MATLAB混合编程的动态调度软件系统开发[J].计算机应用与软件,2014,31(12):17-20.

[3] 严大考,李 猛,郭朋彦,等.基于Matlab的智能车软件系统设计与仿真[J].计算机应用与软件,2014,31(1):256-259.

[4] 卜晓燕,蔡 萍,郭俊杰,等.基于MatlabGUI的复杂曲面轮廓度误差评定系统[J].计算机应用与软件,2014,31(2):49-51.

[5] 田 雨,韩作振.MATLAB辅助GIS空间分析建模实验设计与应用[J].计算机工程与应用,2010,46(2):69-70.

[6] 于中权,赵海涛,梁仁仁,等.基于Matlab/Simulink的光纤陀螺系统建模与仿真[J].计算机应用与软件,2013,30(5):254-256.

[7] 程卫国.MATLAB5.3应用指南[M].北京:人民邮电出版社,2000.

[8] 陈垚光.精通MATLAB GUI设计[M].北京:电子工业出版社,2008.

[9] 窦颖艳.基于LabWindows/CVI和MATLAB的数据采集与控制系统[D].株洲:湖南工业大学,2009.

[10] 刘会灯,朱 飞.MATLAB编程基础与典型应用[M].北京:人民邮电出版社,2008.

[11] 安 树,闫英敏,刘正春.基于Matlab GUI的电力电子技术教学平台设计[J].中国现代教育装备,2012(7):16-18.

[12] 孙 萍.基于MATLAB编程的倒立摆实验的实现[J].高效实验室工作研究,2013(2):43-44.

[13] 吴堂荣,唐 勇.低温阀门密封性能的研究与分析[J].阀门,2009(2):26-28.

[14] 徐俊文,王 强,金 珩.MATLAB环境下的GUI编程[J].内蒙古民族大学学报:自然科学版,2006,21(6):640-641.

Matlab GUI-based Design of Valve’s Strength Checking

DONG Da-shan1,MAO Qing-jiao1,WENG Wu-xiu2,ZHU Yuan-kan2

(1.School of Logistics Engineering,Shanghai Maritime University,Shanghai 201306,China;2.Shanghai Hudong Marine Valve Co.,Ltd.,Shanghai 201913,China)

The repeated and mechanical strength is calculated aiming to check valve in the company.In order to reduce the cost of human and material resources and improve work efficiency in the company,from the actual needs of the valve strength checking,the strength calculation is proposed to be procedural using Matlab language Graphical User Interface (GUI) features,designing supporting software of strength checking valve.The main line is sequence in the programming,by making the user interface framework and setting its control properties,and this section describes procedures for the preparation of order and tips and introduces the key points.A function module of concentrated reflection of program practicality and personalization is constructed,and the function of generating reports is added.Through comparing examples of procedures and manual,the results of manual and application are consistent,which proves the effectiveness of the program,greatly improving the work efficiency.Thus,the software is effective,time-saving and energy-saving,with a great practice.

Matlab;GUI;control design;valve

2016-02-19

2016-06-09

时间:2016-11-22

国家工业与信息化部重点计划项目(2014162号)

董达善(1956-),男,博士,教授,硕士研究生导师,研究方向为现代设计理论与方法、焊接结构分析与疲劳设计。

http://www.cnki.net/kcms/detail/61.1450.TP.20161122.1227.024.html

TP31

A

1673-629X(2016)12-0182-04

10.3969/j.issn.1673-629X.2016.12.039

猜你喜欢

图形用户界面密封面校核
发电机进相试验失磁保护与低励限制配合关系的校核
反应堆压力容器不锈钢密封面车削加工研究
通行费校核分析方法探究
基于卫星遥感图像的收费站位置自动识别与校核
FPSO火炬塔海运绑扎方案及强度校核
图形用户界面外观设计专利保护问题探析——以“奇虎诉江民案”为例
钢制管法兰密封面光刀修复技术应用
浅谈图形用户界面的保护
图形用户界面法律保护问题与对策
发电机组蒸汽阀门密封面机器人双丝TIG在线修复焊接系统