基于UG二次开发技术的电缆装配余量检查方法

2021-01-22 02:29徐汇宇吴兆华刘亚涛陈小勇
桂林电子科技大学学报 2020年5期
关键词:连接件二次开发布线

徐汇宇, 吴兆华, 杨 旭, 刘亚涛, 陈小勇

(1. 桂林电子科技大学 机电工程学院,广西 桂林 541004;2.西安电子科技大学 机电工程学院,西安 710071)

近年来,随着电子产品技术的发展,电子产品正朝着集成化、小型化以及快速更新换代的方向发展[1]。然而布线设计缺陷已成为影响电子产品质量的主要因素之一。其中在电缆的路径设计中,电缆的装配余量设计是否合理,将直接影响电缆与连接件的装配过程。装配的不稳定将导致电子设备的电缆产生故障缺陷,从而直接影响电子设备的安全性与可靠性。

国外从20世纪80年代就开始了整机互联三维布线和快速检查技术的研究,着力于研究人工智能的自动化布线方法,基本实现了整机布线的自动化、智能化。这也增加了布线的复杂度,难以满足人机交互的实时性[2],导致布线路径在检查时难度增大,并且具有延时性。国内在虚拟布线和快速检查领域的研究才刚刚兴起。国内在电子整机三维布线以及管道铺设领域进行了大量的研究,重点研究的是虚拟环境下的线缆建模方法以及布线路径的规划算法[3]。国内外大多数企业仍采用手工方法对电缆网络进行单点检测,对于复杂的电缆网络,手工检测方法效率很低,并且对于电缆与连接件的装配余量检查研究较少。因此,提出基于UG二次开发技术的电缆网络装配余量检查方法,对于提高电子产品中三维线缆网络的规范性具有重要的意义。

1 装配余量检查工具的功能分析

针对虚拟环境下整装电子三维布线中电缆装配余量检查问题,确定电缆装配余量检查规则、检查思路。图1为电缆装配余量检查流程图。

图1 电缆装配余量检查流程图

1)电缆规格库和电缆几何属性检查规则分类库。电缆规格库文件用以记录布线过程中各类电缆的命名以及电缆的各类属性;在虚拟环布线环境下,电缆的装配余量检查以布线规则文件为指导。基于规格库和规则分类库,可以使检查工具在编写整个过程中保持一致,能够直观、清晰地呈现出来,也便于后台管理。

2)电缆的属性提取。在电缆网络中,提取需要进行检查的电缆装配余量。先提取电缆的TAG值,通过电缆的TAG值得到电缆的型号,从而得到需要检查的电缆的装配余量,并将装配余量存储待用。

3)电缆装配余量检查。对比检查所选电缆的装配余量是否符合设计要求。将提取的装配余量与数据库中的该型号电缆的装配余量进行对比,得到所选电缆的装配余量是否符合规范。若符合规范,则输出正确结果及电缆相关数据;若不符合规范,则输出错误信息及电缆相关数据并高亮显示问题电缆。

2 菜单与界面设计

UG/Open是UG为开发者提供的二次开发工具,主要有UG/Open API、UG/Open GRIP、UG/Open MenuScript和UG/Open UIStyle[3]。

2.1 菜单栏的制作

UG/Open MenuScript是UG软件开发工具中针对菜单的脚本语言,用于开发者自定义菜单栏,并且可以将其挂靠在用户需要的菜单栏中。MenuScript所开发的菜单可以与UIStyle开发的对话框调用,极大地提高了开发的效率[3]。

电缆装配余量检查菜单部分代码为:

VERSION 170

EDIT UG_GATEWAY_MAIN_MENUBAR

AFTER UG_HELP

CASCADE_BUTTON CHECK_LINE

LABEL 线缆检查工具

END_OF_AFTER

MENU CHECK_LINE

BUTTON CHECK_MARGIN

LABEL 装配余量检查

MESSAG 检查线缆装配余量是否符合规范

BITMAP sphere

ACTIONS procedure

END_OF_MENU

其中VERSION为软件版本号,第1个LABEL为一级标题名称,第2个LABEL为二级标题名称,BUTTON为菜单栏代号,MESSAGE为菜单提示信息,BITMAP为位图。图2为开发完成且挂靠到UG中检查软件的菜单。

图2 装配余量检查软件的菜单

图3 装配余量检查软件的UI界面

2.2 UI界面的设计

UIStyler是用于开发UG操作界面的可视化工具[2],它将生成的操作界面与UG集成,用户可更加直观方便地在UG中进行操作,且允许开发者直接在对话框中组合基本控件,而无需编写复杂的图形用户界面即可创建具有不同功能的对话框。

装配余量检查软件的UI界面如图3所示。创建过程如下:首先打开UG软件,进入任意模块。然后执行“开始→所有应用程序模块→块UI样式编辑器”,进入块样式编辑器界面。装配余量检查工具的UI界面共分为5组。第1组为枚举类型,供用户选择需要检查的项目,不同的检查项目的要求不同。第2组和第3组均为选择目录中的“选择对象”命令,用于用户选择需要进行装配余量检查的2个对象,以确定测量对象间的距离。第4组为枚举选择类型,用户可将检查的结果显示在窗口或将检查结果输出保存到本地文件夹。第5组为文件浏览器,用户可选择检查结果的输出保存地址。

3 程序设计

采用UG与VS相结合的方式进行二次开发。首先利用UG提供的Block UI Styler块样式编辑器模块将二次开发所需要的界面控件集合在一起,通过代码生成器导出界面UI文件*.dlx、源文件*.cpp和头文件*.hpp,然后编写二次开发程序。dlx文件可以随意调用动态链接库*.dll文件、宏文件等许多常用的扩展功能。

3.1 数据库

UG软件提供了很多建立数据库的方法,常用的有电子表格法、关系表达式法、用户自定义特征法、程序设计法和知识熔接法5种。1)电子表格法。建库简单,形象直观,但只能存储当前目录,不能修改,常用来建立标准件库。2)关系表达式法。创建简单,修改方便,但调用时只有一个模板,且修改时需要查找标准手册。3)用户自定义特征法。便于编辑,可以自定义关键值,但自定义特征时需要建立一个新的部件。4)程序设计法。调用方便,应用更广泛,但需要编写大量代码。5)知识熔接法。能高效、快捷建立,但着重于数据表达[4]。

数据库的主要内容是重用电缆装配余量领域专家的知识,其数据要与工程设计的特点紧密结合,根据不同连接件所需要的装配余量不同,能够准确地表达、存储以及维护所获得关于电缆装配余量的知识[5]。另外,数据库要求便于扩充、维护和修改,能够对数据库中的数据进行输入、输出以及操作管理[6]。

综合以上5种建库方法的优缺点,并结合本数据库的要求,采用程序法来建立数据库。本数据库的特点主要体现在2个方面:1)具备检测电缆装配余量是否合格的能力。2)能够简化输出检查结果。本方法设计了2个数据库:1)重用电缆装配余量领域专家知识的数据库;2)检查结果的数据库。

表1为电缆装配余量领域专家的知识。按照表1的知识提取相关数据,可以建立第1个电缆装配余量领域专家知识的数据库(规则库)。由表1提取的数据源较少,可以采用txt格式的文档来建立。txt文档输入/输出简单方便,但对于数据较多或者复杂时,建议使用excel表格建立数据库,便于数据的分类和管理[7]。第2个检查结果的数据库如图4所示,其内容一般是根据设计人员经验或者企业要求来增删。

图4 检查结果的数据库

表1 电缆装配余量领域专家的知识

数据库的代码为:

int i;char output_msg[100],deposit[100];

FILE*fp1=fopen("D:\xianshi.txt",“r”);while(fgets(deposit,100,fp1));{i--;if(i==0)strcpy(output_msg,deposit} fclose(fp1)。

3.2 TAG值

在UG中,无论是实体、面、线还是特征,都有其独有的TAG值[7],其记录UG中每个对象的所有信息。在二次开发时,要检测电缆装配余量是否符合要求,首先需要识别及选中电缆,因此开发时要得到电缆或者连接件的TAG值[8]。代码为:

PropertyList* selection0Props=selection0->GetProperties();

std::vector〈NXOpen::TaggedObject *〉;

bodys=selection0Props->GetTaggedObjectVector(“SelectedObjects”);delete selec-tion0Props;

selection0Props=NULL;tag_t bodyTAG=bodys[0]->Tag()。

3.3 余量检查的实现

获取需求电缆TAG值后,可以与UI界面结合,选中需要检查的电缆,并且可以通过UF_MODL_ask_minimum_dist函数得到电缆的装配余量,进而可将模型中的电缆余量与数据库中余量进行对比,输出检查结果[9]。

部分装配余量检查代码为:

UF_MODL_ask_minimum_dist (bodyTAG, body1TAG, 0, Guess1,0,Guess2, &min_dist,pt_on_obj1,pt_on_obj2);//模型中装配余量的测量

FILE *fp=fopen("D:\shujuku.txt",“r”);

while(fgets(deposit_msg,100,fp));//打开数据库

{j- -;if(j==0) strcpy(data_msg,deposit_msg);}

fclose(fp);

FILE *fp1=fopen("D:\123.txt",“r”);

if(min_dist>s)//判断余量是否合格

{i=5;}//匹配数据库中的数据

else{i=6;} while(fgets(deposit,100,fp1))

{i- -; if(i==0) strcpy(output_msg,deposit);}

fclose(fp1)。

得到检查结果后,需要将检查结果显示在窗口,或者保存到本地文件,以完成检查信息的输出保存[10]。其显示部分代码为:

UF_UI_open_listing_window();//打开信息窗口

UF_UI_write_listing_window();

UF_UI_write_listing_window(output_msg);//写入信息

4 装配余量实例检查

为便于分析,本模型设计装配余量均为40 mm。图5为建立的电缆装配余量检查模型。

图5 电缆装配余量检查模型

图6为自动开关、启动器、电阻器等连接件的检查结果。其数据库要求的装配余量为50 mm,检查软件实际测得的装配余量为40 mm,小于数据库要求的装配余量,因此不满足开关及电阻器等连接件的装配余量要求,检查结果为:装配余量小于等于数据库要求的装配余量50 mm,设计不规范。检查结果显示正确且符合软件设计要求。除了图6的测试外,还使用此模型进行了另外2类连接件的测试,对于信号灯、按键等小型连接件,其数据库要求装配余量为30 mm,检查软件实际测得的装配余量为40 mm,满足小型连接件的装配余量要求;对于一般的分支接头,其要求装配余量为20 mm,检查软件实际测得的装配余量为40 mm,满足分支接头类连接件的装配余量要求。通过模型验证可知,3种类型的电缆装配余量检查结果显示均正确且符合软件设计要求。

图6 开关、电阻器的装配余量检查结果

5 结束语

基于UG二次开发技术,利用VS和UG软件相结合,开发出了电缆装配余量检查工具。利用程序法和txt格式文件创建了电缆装配余量的基础数据库,满足用户需求。通过使用电缆与连接件装配检查模型进行软件的测试,验证了此检查工具的正确性和实用性。装配余量检查工具的开发,很大程度上加快了电缆规范性的检查,从而进一步提高了电子产品三维布线的质量。

猜你喜欢
连接件二次开发布线
制作吸管塔台
摆脱繁琐布线,重定义家庭影院 Klipsch Reference Wireless 5.1
西门子Operate高级编程的旋转坐标系二次开发
浅谈Mastercam后处理器的二次开发
卫星固定站集成布线方案的优化设计
西门子Easy Screen对倒棱机床界面二次开发
基于试验设计的汽车悬架轻量化设计
钢-混凝土组合梁开孔板连接件抗剪承载力计算研究
ANSYS Workbench二次开发在汽车稳定杆CAE分析中的应用
组合钢板墙混凝土板厚度及剪力连接件间距的确定