第三章 软件定义企业新模式
第七节 产品协同设计可视化发布应用研究
格力电器股份有限公司 吴铨旺
前言
产品研发工程师采用三维软件输出产品三维图,一个具备众多特征的部件三维容量可达到300MB,产品整机三维文件容量接近2GB。而采购、检验和生产人员没有安装专业的三维软件,无纸化条件下,不利查阅三维特征。如某部件经可视化发布后,生成零件三维大小约2MB,整机三维大小约16MB。三维可视化发布能够极大压缩产品三维容量,满足产品在采购、检验、试制和生产加工过程查看、打印生产用图及转换成PDF外发加工需求。本文针对PLM系统三维可视化发布不稳定,影响研发和生产的问题开展研究,分析可视化的体系结构、可视化服务和实现的工作原理,并提出问题排查思路。
1 可视化体系结构与工作原理
通常在三维软件中打开2D和3D图纸,这对使用者的电脑配置要求比较高,另外打开的速度相对也会比较慢。而生产应用中,并不需要打开完整的模型,例如图纸的签审、生产线技术员临时确认图纸尺寸,生成可视化文件会更为方便。三维可视化是物理模型的缩略图,它会隐藏掉模型很多的参数特征,显示用户能够看到的一些基本的外部信息,是基于原物理模型的轻量化模型。由于在用户打开时其占用的内存较小,所以打开的速度也会快很多。
1.1 CAD代理调用CAD工作站压缩转化三维数据
图1 CAD代理调用CAD工作站压缩转化三维数据
CAD工作站是用特定CAD系统的API编写的程序,可在不同可视化服务器中配置CAD工作站。通常在远程系统上运行,生成ProductView,可从本地CAD文件和组件中读取文件。CAD代理的主要特征:记录和配置多个CAD工作站;根据需要启动并停止CAD工作站;查看可视化服务器日志文件;在配置期间测试CAD工作站;管理从CAD工作站传入和传出数据。
图2 PLM系统配置8个可视化发布进程
1.2 可视化体系结构与工作原理为了使可视化服务器同CAD客户端之间交换文件,两台计算机必须建立共享公用文件系统目录。此目录可以位于两台计算机中的任意一个上,用作服务器和客户端之间的文件传输,通常是安装在可视化服务器上。
当可视化服务接收到将CAD对象转换为ProductView客户机使用的格式的请求后,服务器通过CAD代理,调用CAD工作站。工作站打开一个Creo应用程序的非图形会话,并将指定的CAD对象转换为ProductView格式,Creo应用程序将根据需要发布CAD数据,这个过程无需用户进行直接干预。
可视化体系结构与工作原理:PLM用户通过WVS生成可视文件,在PLM数据库中保存这些文件,经过CAD数据发布后,用ProductView进行查看,这些查看数据包含了很多文档格式。主要工作原理:
(1)载入程序。
载入程序负责在转换数据之前准备数据以存储在PLM数据库中,通过以下两种方式来使用载入程序。作为PLM服务,在目录中查找文本文件。它定义预转换数据的位置并指定数据保存到PLM中时使用的目录编制方法。作为由发布者直接调用的操作,发布者的调用是通过编程执行的,数据是用相同的方法处理。
载入程序可以有选择地调用缩略图生成器,以创建3D几何的3D缩略图文件和JPG图像。通过缩略图生成器的源文件将其配置为只创建JPG图像。由载入程序保存到PLM中的数据存在与EPMDocument的相关的表示方法。
(2)数据发布
用户将三维图检入PLM系统,发布器将遍历PLM中的结构并对所需的CAD文件进行解压缩,遍历和文件选择是基于所处理的数据类型。PLM采用CAD代理来安排CAD数据的转换。数据发布按以下步骤完成:接受WVS用户请求;检入EPM客户数据;更改PLM中生命周期、生命周期状态、团队或文件夹。
PLM始终会创建一个发布作业,将作业传递到PLM处理队列,发布记录写入系统日志中,并可以通过WVS发布监视器查看。
(3)引进队列技术
为了提高系统的性能,缩短系统三维可视化发布等待时间,PLM引入队列技术。队列是一种能将应用程序的处理工作有效地划分为前台任务和后台任务的技术。当处理容量允许时,这种技术通过存储消息、确定消息处理的优先顺序和向应用程序提交消息来发挥作用。它使你能够平衡本地计算机的负荷,或将任务分配到远程计算机。
PLM系统为了减少三维发布的等待时间,Method Server将需要后台处理的三维信息排入队列,然后就可以从页面的呈递过程中去掉该处理任务。由一个后台进程来读取并队列处理这些消息,甚至可以交由Visualization Worker Server来发布三维信息。
2 可视化问题分析
我们在偶然机会,将PLM系统升级后,出现三维文件发布等待时间较长,三维可视化发布队列积压的现象。如某三维图纸检入PLM后过2小时可视化还是发布不成功,查看等待队列作业处于776,10分钟后是754,发布时间过长,造成三维发布延缓。进入PLM管理后台查看队列积压情况,三维队列积压2419条,而且削减速度极慢,发布任务只增不减,将三维文件检入和检出重新发布,问题依然存在,严重影响到产品开发进度。而且出现同一个作业多次发出的情况,如编号为01055200044的作业,在待发任务中出现10次,文件大小一致,可以判断为01055200044作业复制10次去发布,无疑是造成发布速度慢的主要原因。
图3 三维可视化发布队列积压
另外,我们对单个任务发布的时间可以进行定义和限制,如某一作业发布10分钟还没有成功,终止其可视化的发布;对发布可视化的顺序重新定义,模型大小超过1G的模型可以延迟发布可视化、手动发布可视化的模型优先发布,但问题仍然存在。通过发布监视器WVS,我们分析出可视化发布慢的原因:
- 同一时刻提交发布文件数量多、文件大。
- 系统发布限制,只允许条件范围内文件发布。如系统设定模型的可视化发布时间为小于等于600秒、文件大小小于等于2G。
- 三维模型存在特征圆形参考,造成发布死循环。如某一特征10参考特征20,特征20参考特征30,特征30又参考特征10。
- 发布过程,物理文件被修改,无法找到发布的对象导致失败。
- 同一可视化作业重复发布多次。
- 服务器硬盘空间满,或者服务器硬件性能不足。
3 PLM可视化知识梳理
(1)PLM的可视化服务:PLM系统的一种透明服务,将CAD和文档数据转换为ProductView(一种数据查看和可视化工具)能够显示的文件格式(称为发布)。发布后以缩略图像的形式进行查看,这些缩略图像显示在PLM的属性页面和列表中。用户在应用中一旦选择缩略图像将自动启动ProductView显示。(2)MethodServer 服务器:用于服务器上运行的Java 应用,支持后台队列处理,负责业务规则和业务逻辑,提供数据存储,和客户程序之间交互;三维可视化发布数据存储在MethodServer服务器上。
(3)CAD Visualization Worker(CAD可视化发布工作站):将Creo设计的产品三维(*.prt/*.asm/*.drw)发布成可视化文件(*.PLT)。CAD Worker可视化队列分为立即要执行和延迟执行的情况,当三维数据信息较少时可以立即发布;当三维信息瞬间数据量很大,就会启用延迟发布。
(4)可视化PLT格式:PLT格式文件用来出图。PLT格式文件容量较小,可以用CAXA/AutoCad/CoreIDraw打开,便于查看和打印,适合无盘工作站访问。
(5)PLM Visualization Structure (WVS):PLM可视化发布服务进程,为发布文档和创建可视化的表示提供了一个框架。发布过程使用由工作站代理管理的工作站。
(6)Oracle RAC高级队列:Oracle数据库的一个特性,它提供消息队列管理功能。这是一个非常可靠、安全和可伸缩的消息管理系统,因为它使用与其他基于Oracle技术的应用程序相同的数据库特性。
(7)数据发布:产品工程师将三维检入PLM系统,发布时将遍历PLM中的结构并对所需的CAD文件进行解压缩,遍历和文件选择是基于所处理的数据类型。PLM采用CAD代理来安排CAD数据的转换。