您的位置:网站首页 > CAD新闻

船舶动力系统协同设计支撑环境的实现

时间:2011-02-26 19:31:07 来源:

为了控制舰艇的买办费用,必须提高设计质量和效率,从而确保在满足客户需求的基础上降低舰艇的生命周期成本。以美国海军为例,为了实现以上目标,在其LPD17两栖船坞运输舰、弗吉尼亚级潜艇等型号舰艇的研制过程中采用了基于集成产品与过程开发(integrated product andprocess development,IPPD)的并行设计方法,有效地实现了缩短开发周期、降低买办费用、提高客户满意度等目标。成功实施IPPD的关键之一是建立集成产品开发环境(integrated product de-velopment environment,IPDE),用于多学科集成产品开发团队(integrated product team,IPT)开展协同设计。作为船舶2大平台之一的动力系统,其设计过程具有多阶段、多学科、多目标约束的特点,其设计质量的好坏在很大程度上影响到整船的设计质量。本文以IPPD的应用为目标,主要研究用于船舶动力系统协同设计的产品数据管理(product data management,PDM)形式的工作组级IPDE的实现。

    1 基于PDM形式的船舶动力系统协同设计系统原理

    目前实施PDM主要采用购买PDM软件再用二次开发的方式进行客户化,使之与企业实际相适应。这些商业PDM软件具有运行稳定,功能强大和与某些特殊的软件(如CAD软件)集成较为紧密的特点。但是这些PDM软件通常也存在采购和实施费用高、专业针对性不强和功能闲置等问题。为了实现针对船舶动力系统设计的PDM技术并使其具有在较长时期内进一步增强和完善的功能,采用了通用编程语言开发PDM软件。最终要建立的船舶动力系统分布式设计系统(marinemachinery system product data management,MMSPDM)的功能原理如图1所示。该图表示所有参与设计的软件工具相关的数据均通过PDM软件集中管理,或者软件本身与PDM软件集成。这些软件分布在不同的计算机上,而PDM软件的客户端程序也同时安装到这些计算机上。图中的PDM巳包含了包括服务器端在内的所有功能。

    图1船舶动力系统分布式设计原理图

    2 相关的技术方案

    2.1分布式开发环境的结构

    MMSPDM开发目前主要针对局域网和Windows环境。对于局域网而言,通信速度快而且可选择多种通信方式(协议),具有良好的性能,适合于更紧密地合作和集成。运行在局域网内的分布式应用程序也主要是Windows应用程序,这类程序能够很好地适应和利用局域网的性能。其主要架构也经历了从传统的二层逻辑应用到三层逻辑(多层)应用的转变r引,从而在物理上也可以实现多层次地分担程序运行任务。MMSPDM基于VS。NET环境开发,结合以上分析和VS。NET的特点,其分布式架构的原理如图2所示。

    图2 MMSPDM开发架构

    中间层组件主要由。NET中的Remoting技术实现,并将其驻留在服务器的Windows服务环境内。Remoting可以认为是DCOM的升级,但具有更强大的功能,如支持通过值或引用传递对象、回调,以及多种对象激活和生命周期管理策略等。在这里Remoting组件作为提供给用户的远程接口,接受和处理用户请求,而有关数据库操作则采用CoM+服务和。NET服务组件完成。COM+服务中包含了事务、排队组件(QC)、安全、松耦合事件(LCE)、JIT激活和对象缓冲池等服务。其中事务处理能很好地解决多个数据库(表)同时更新的问题,在更新过程中发生错误时能使涉及的数据库(表)自动恢复到更新前的状态。数据库采用了SQL Server,因为和。NET开发环境同属一家,所以在。NET环境内针对SQL Server内置了经过优化的专用数据库组件,使用更简单,性能更好。

    该架构还考虑到了将来的拓展。如果要将协同范围扩大到Intranet或Internet,则可以采用Web Service的方式调用业务逻辑,其他Windows应用程序或Web应用程序可以引用Web Service来使用业务逻辑。同时,因为Web Service是基于XML的,所以为在异构平台使用MMSPDM提供了可行性。如果同时使用了其他类型的数据库,则因为采用了COM+服务,只需更改相应服务组件,同样可以实现事务处理和其他服务。

    2.2文档管理功能

    文档管理包括设计文档的出入库和版本管理。设计文档以文件的方式存放在服务器的文件系统内,而数据库保存所有设计文档的属性,如路径、版本、状态、拥有者等等。用户要求下载(出库)某文档时,如果被程序判断拥有下载权限,则检索数据库获得相应文档的路径,根据路径向客户机发送该文件。上传(入库)的过程类似。在本系统内对于文件传输采用了Remoting技术,将文件以分块的方式赋给自定义的数据结构(该数据结构以单独的程序集的方式编译为dll文件,同时供Re—moting组件和客户端引用)作为Remoting组件输入输出参数。

    例如,发送用数据结构可定义如下。


对该数据结构对象的序列化、发送、接收和反序列化全部由Remoting组件自动完成。接收端经过反序列化得到数据结构对象后,根据该对象提供的文件路径和批次号将数据放入文件的相应位置。这种方式能够实时返回远程执行的结果(如文件是否正常写入),所以不需要专门的等待过程,而且由于Remoting组件代管了数据的发送接收等细节问题,可以不考虑数据校验。实践证明以上方法具有编程简单、快速、可靠等优点,而且容易实现断点续传、数据加密的功能。

    文档以其状态和版本进行管理。状态包括修改状态、共享状态、提交状态、入档状态等。不同的状态用户具有不同的使用权限。而版本则是同一状态的文件的变化过程的一个记录。通过记录文档的所有版本,并存储其父舨本的版本号等信息,可以追踪设计过程。

    2.3权限管理

    对于PDM系统而言,其权限管理应具有以下特点:

    (1)由于涉及的管理对象(如人员、文档等)很多,针对不同的管理对象要有专门的管理权限,即只有相应权限的用户才能访问特定的对象;

    (2)应当与设计过程相适应。对同一个任务(或者文件),在设计的不同阶段赋给相关人员的权限是动态变化的,比如文件归档后就连该文档的设计者都不能再修改;

    (3)应当高效、方便地实现权限管理,从而为PDM的实施奠定良好基础。

    鉴于以上因素,本系统提出了一种RBAC模型和基于操作的授权模式相结合的权限管理模型,具有以下特点:

    (1)取消了系统管理员。在项目启动的初始状态,以一个开发人员初始账号和管理人员初始账号驱动,分别负责初始任务的下达和设计人员账号的添加;

    (2)采用多极授权模式。在项目负责人向下布置任务后,该任务的负责人自动拥有该任务的所有权限,并可根据需要向其他用户授权,避免了权限的集中管理;

    (3)交叉验证。用户登录时,根据该用户的角色设置菜单等资源。用户的操作权限以数据集(DataSet)的方式存储在内存当中,使得用户浏览项目时进一步迅速控制相关界面元素是否可用。当用户要执行某项操作时,系统将重新检索权限管理数据库,再次验证该用户是否具有该操作权限;

    (4)授权过程记录。当用户对其他用户进行权限设置时,这次设置过程的时间,对其他用户权限的添加和删除的项目都由专门的数据表以SQL语言字符串的形式进行记录,以备需要时调用。

    2.4过程管理

    MMSPDM具备了一定的过程管理功能。在任务发布时,要求输入任务的具体内容、完成时间、负责人、审批人员等信息。发布完成后会自动通知负责人接受任务。而当任务产生的文档加入到项目结构树时会通知所有用户发生的更改。如果进入了提交状态则自动通知审阅人进行审阅并确定是退回还是人档。任务状态的变化流程如图3所示。

    图3 任务状态变化流程图

    任务的状态由其在项目结构树上的节点的颜色来表示。如是否已被接收、正在进行、已完成等。

    2.5软件集成

    之所以采用自行开发PDM软件的方式,主要目的之一也是为了实现更加客户化的软件集成。MMSPDM的使用环境内包含的软件有CAD软件、办公软件、动力系统选型、轴系设计和机舱布置设计等相关软件,如果将MMSPDM和这些软件很好地集成则可以实现MMSPDM更为方便的应用。本系统主要采用了接口交换和紧密集成2种集成方式。

    像CAD软件(本系统使用的是CATIA)和Word等办公软件一般都以COM服务器的形式提供接口,其他支持COM接口调用的编程客户可以调用这些接口,而且这些软件一般内部集成了VBA或VBScript等脚本编辑环境,也就可以调用其他软件的COM接口。这就为这些软件与MMSPDM在接口层次上的双向集成打下了基础。本系统实现了与这类软件的双向集成,其原理如图4所示。图中MMSPDM软件可以通过。NET中的Interop封送处理直接调用COM接口,而CATIA和Word可以同样通过封送处理调用MMSPDM的面向非托管代码(已输出类型库并注册)的接口。

    图4 CATIA,Word与MMSPDM的集成原理

    目前,对于轴系中轴段的自动生成已经运用了CATIA的COM自动化功能。而word除了提供其文档所对应的组件对象模型以外,还提供了其菜单、工具栏等资源的COM接口,用户可通过编程定制Word的外观。例如通过宏代码可以在Word界面上添加菜单,该宏代码存放在模板文件中,并在启动Word时自动运行。
对于自行开发的其他软件如船舶动力装置选型、动力装置性能计算等则可实现更高层次的紧密集成,这时采用的方法是开发时直接相互引用程序集,组建解决方案。用户可以在这些软件内调用MMSPDM提供的接口访问设计数据及其他元件数据库,同时在MMSPDM客户端程序内可直接查看这些软件的输入输出数据或者图形。但是有一个问题值得考虑,即这些软件的数据的保存形式问题,例如轴系校中计算时需要格式化的截面参数。如果单纯将数据保存在文本文档(如Word文档)或者数据库中,可能影响通用性。本系统将设计结果以XML文档的形式保存,这样既能够实现设计结果的结构化保存,同时又为跨平台使用打下了坚实的基础。

    2.6其他问题

    CAD软件生成的文档往往只能在CAD软件内进行浏览。如果审阅人没有或不会使用CAD软件,如何审阅CAD文档就有了问题。这个问题的解决方案有:

    (1)在CAD软件内部导出零部件的各种视图,以图形文件的方式提供给审阅人;

    (2)购买专门的只限于浏览该类型CAD文档的商业软件,这类软件的价格比CAD软件要便宜得多;

    (3)通过格式转换将CAD文档转换成通用格式(如VRML,3DXML等),实现在通用的浏览器内浏览。

    另外,设计人员在物理位置上分离较远的情况下要实现实时通信时,MMSPDM采用了集成Netmeeting的方法,即把Netmeeting作为一个组件来使用。在MMSPDM内加入了相应的菜单项来打开或调用相应的Netmeeting的视频电话、网络白板等功能,进一步协助完成协同设计。

    3 结束语

    本文以IPPD在船舶动力系统设计中的应用为背景,在充分利用多层架构软件思想的前提下,讨论了船舶动力系统协同设计支撑软件MMSPDM的架构和相关技术实现内容。在某型舰虚拟机舱的生成过程中对本系统进行了试用,结果表明该系统运行稳定,较好地克服了文档管理混乱等问题。目前轴系设计、动力系统选型等软件正在进一步完善之中,待开发完成并集成到MMSPDM以后,结合动力系统设计相关的动力系统设备、标准等数据库的加入,将最终形成一个较为完整的船舶动力系统协同设计系统。