信息化 频道

UGS征文:基于PLM平台的电子工艺规程输出技术

 1 引言  

      产品生命周期管理(PLM, Product Liftcycle Management)是指对产品从概念设计、详细设计、生产、投用、维护和后期服务直到产品退出市场并消亡的完整生命周期的管理。

     黎明公司作为中国航空发动机行业的骨干企业,目前正面临着现代航空制造工业的挑战。这些挑战有:在不同生产地点之间共享产品平台、产品作业的并行协同模式、产品和制造工程的单一数字化产品定义、第一时间品质等。所以我们需要搭建一个PLM(PRODUCT LIFECYCLE MANAGEMENT)系统,其中含有:实现产品设计所和制造厂之间的协同设计与制造;在企业的生产准备阶段,完成产品制造信息的数字化建立和管理。

     黎明PLM系统架构以UGS公司 Teamcenter 作为PLM主干(Backbone),我们在此基础上进行了二次开发。Teamcenter是一个开放性的系统,其中表现在各层系统架构都支持J2EE企业环境标准,所有应用子系统之间通过PLM XML对不同类形、结构和形态的数据进行操作访问。Teamcenter API和PLM XML提供标准应用开发和数据接口,为用户界面的客户化提供了有效的标准开发环境。

     黎明公司的工艺报表格式多种多样,因此利用XML/XSL技术实现各种工艺报表的定制输出,是一项必不可少的工作。针对黎明的需求,通过有效的二次开发工作,开发出了具有黎明特色的LM-CAPP系统,最终达到了提高工作效率、降低生产成本、保证产品质量的目的。

     本文主要介绍和阐述的内容是:以PLM环境下的工艺BOM树为研究对象,运用Java语言将产品的工艺BOM信息以XML文件形式输出,并运用XSLT技术转化为基于WEB的工艺文件,利用了WEB技术支持多任务与多用户的并行和异地协同工作,最后在电子工艺设计编制完成后,输出整本工艺规程(图1虚线圈着的部分),可以网上传输和协同浏览(即在协同设计时实现“你见即我见”方式的浏览功能)及网上审签。

     作者参加了该PLM系统项目的二次开发工作,并和团队一起圆满地完成开发工作。在与大家分享成功喜悦之际,也将所体验和学到的协同环境PLM平台下工艺规程输出的技术要点做个总结,谨供同行们参考。系统的总体规划如下图1。

图1 系统总体规划图

    2 工艺规程报表输出技术综述

     基于PLM平台的二次开发设计过程中,首先做的是工艺、工序的数据输入界面定制开发,这里这部分内容忽略,主要阐述工艺报表输出部分。在协同环境下应用javaScript,动态产生目录树来管理设计过程中产生的众多的工艺文件以及图形文件,以便于这些文件的网上协同浏览,创建基于WEB的协同工艺设计环境。工艺文件网络化浏览的技术难点主要是灵活处

图2 具体技术实现路线图

     理换行换页、工艺特殊符号的显示,以及流程问题、网上协同电子签名和圈阅、整本打印工艺规程的处理。

     基于工艺规范化、标准化,为黎明量身定做了自己的工艺规程输出机制。具体技术实现路线如图2 。

     对上面图2解释如下:

     工艺BOM树组成及XML文件的输出:

  确定工艺BOM树的层次结构要考虑主制工艺与辅制工艺的并行,减少流程节点,增强流程执行效率,以达到工艺设计的并行。工艺BOM树由和该工艺相关联的零件item、工序下挂的dataset(可能是UGPart、CAXA、AutoCAD、InterCAD等等)、工艺和工序的form、工厂等类型对象构成,这些对象及它们之间的层次关系构成了工艺BOM树。根据工艺BOM树结构确定XML文件的结构。用Java语言编写应用程序读这个BOM树,把它们的属性信息读出来后对应转化为XML文件的元素或属性等。这个XML文件就包含了这个工艺BOM树所有的工艺信息。

     XML文件的结构大致如下图:

图3  XML文件的结构

     这里要考虑到后面换行换页的问题,解决的办法就是

    ① 生成XML每个工序、工步节点的时候,计算出该道工序处于工艺目录卡中的第几页、该工步处于工序卡片中的第几页,并把页数值作为一个节点挂在该道工序或工步下面,如图3中的“OPERATION_CATALOG_PAGE_NO”节点。

    ② 每种工艺里包含哪些工序以及每种工序卡片的换行换页的信息等都放在一个properties类型的文件中,在上一步中计算页数时到这个properties文件中读取这些信息。

    ③ 用Java写XSl扩展函数,来控制换行换页,详见下面绘制XSL+CSS文档。

     绘制XSL+CSS文档(即定制工艺文件模板):

     工艺BOM树信息输出到XML文件中后,只是把工艺信息内容输出了,按照“内容与表现形式相分离”的思想,我们还要制定出XSL文件,把这个XML文件转化输出为想要的工艺信息表现形式,即基于Web的各种各样的工艺报表。鉴于工艺文件表现形式的复杂多样性,制定出这些模板的步骤如下图:

图4 模板制作流程图

     应用上面这种方式,我们共做了64个模板(分A4全图/半图、A3全图/半图),工作量很大。

     XSL本身虽然有一些函数如number()、string()等等,但是远远不能满足我们的要求,所以要用Java编写XSl扩展函数如换行换页的函数、补充空格的函数、得到工序图的函数、缩小字体的函数、处理特殊符号的函数等等。我们充分利用面向对象的思想,把通用的函数(就是上面提到的那些Java编写XSl的扩展函数)放到一个父类中,这些函数的参数很多是采用HashMap类型的数据,可伸缩性强,灵活;然后为每个工序卡片写一个扩展类,这些扩展类都是子类,子类主要就是构造参数,以调用父类的函数。

     HTML格式工艺文件的转化输出:

     Java应用程序调用XSLT处理器对XML文件解析,同时传递参数到XSL文件以达到换行换页等目的,把转化结果以实际的HTML或其它形式文件输出。
 
     “基于协同环境下电子工艺规程输出技术”最终效果图如下:
 

图5 “基于协同环境下电子工艺规程输出技术”最终效果图

    

     截获流程信息,实现网上审签

     运用javaScript及XML,实现网上审签。刚开始是对整本工艺审签,后来应用户提出的要求,审签精确到了工序,就是说一本工艺规程中,可以只对某些道工序进行审签,也可以对整本工艺审签。

     以上是工艺规程报表输出技术综述。

3 VML技术

    3.1 VML简介

     VML是一个最初由Microsoft开发的XML词表,现在也只有IE5.0以上版本对VML提供支持。使用VML可以在IE中绘制矢量图形,所以有人认为VML就是在IE中实现了画笔的功能。
VML的优点:

    ⑴基于XML标准:

    XML是公认拥有无穷生命力的下一代网络标记语言, VML表示方法简单,易于扩展等等。

    ⑵支持高质量的矢量图形显示:

    ⑶由文本构成的图像,并可集成到HTML:

     由于VML使用简单的文本来表示图像,这样就可用很少的字节来表示比较复杂的图像。VML与HTML兼容,通过在HTML中声明VML命名空间并声明处理函数,就可以和其他HTML元素一样使用VML元素,在客户端浏览器显示图像。

    3.2 VML实例

    在VML里面,标记使用的是XML扩展,用“v”作为命名空间,所以html文件头部要求写成:

<html xmlns:v>
<head>
<STYLE>
v\:*{behavior:url(#default#VML);} //这里声明了v作为VML公用变量
</STYLE>
</head>
下面例子中的html头部都是这样的,不再重复写了。
例如:用vml与html结合在IE中显示 符号。
代码如下:
<SPAN NAME="jizhun_J" STYLE="margin-right:-25px;letter-spacing:
-1.5px;"><FONT SIZE="2" FACE="仿宋_GB2312">&nbsp;D</FONT><SUB STYLE="position: relative; top: -4; left: -0.5;"><FONT SIZE="2" FACE="仿宋_GB2312">33</FONT>
</SUB><FONT SIZE="2">&nbsp;</FONT><v:oval relative; top: 3; left: -24; HEIGHT:
5.7mm;" filled="false" strokecolor="black" strokeweight="1pt"></v:oval>
</SPAN>
html代码说明
1)POSITION:值可以是absolute(绝对坐标)、relative(相对坐标),修改LEFT 、TOP的值可以改变坐标。
2)WIDTH、HEIGHT:控制圆的高度,宽度,WIDTH 、HEIGHT相等时是圆,不等时是椭圆。
3)filled、strokecolor、strokeweight:filled是指是否有填充色;strokecolor是线条颜色;strokeweight是线条粗细。
4)SPAN:定义一个显示层,便于整体控制。
5)margin-right:控制与后面文本的距离,如果是0,与后面文本的间距太大。
6)letter-spacing:定义这个层里字符的间距,紧凑些。
7)SUB:下标;SUP,上标。
效果如下图:
 
(图6 效果图)

    这个项目里,特殊符号的处理采用XSL扩展元素/函数技术结合VML技术,处理如下:
  
    第一步先用VML代码画出所有的特殊符号,并确定出它所占用字符个数以便后续处理;
  
    然后是定义一套伪代码代表这些特殊字符;
  
    在输入界面中输入一些伪代码代表特殊符号,然后在XSL文件中读取这些伪代码;
  
    最后定义一些XSL扩展函数读取伪代码并替换为VML代码输出到工艺文件中去。

    4 结论

    4.1 使用情况

     目前该项目正在黎明的机匣厂和盘轴厂培训、试运行,受到了工艺员们的好评,应用PLM系统编制工艺、画工艺图快捷、方便,实现了工艺设计的协同与并行,充分利用了基于WEB的工艺文件表现方式和技术,支持多任务与多用户的并行和异地协同工作,并支持信息的并行传输和共享的特点。

    4.2 结束语及感谢

     黎明公司作为中国航空发动机行业的骨干企业,必将在数字化制造领域取得辉煌的成就,创造更高的效益,为祖国的航空事业的腾飞贡献自己的力量。
   
     在本文的撰写中,赵济国老师给予精心指导和大力帮助,鲁玉峰所长给与了大力支持,在此表示衷心感谢!(E-works)

0
相关文章