0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在EON软件二次开发上实现通信装备虚拟维修系统设计

电子设计 作者:电子设计 2018-11-09 08:05 次阅读

引言

通信装备的维修保障能力在保证部队作战能力方面起着重要作用,当前,在通信装备的维修训练上,大多采用实装训练。此方式受到多方面的影响,比如通信装备的数量、复杂程度和使用寿命等。加之技术的更新换代,通信装备的电子化和智能化水平越来越高,复杂程度大幅增加,通信装备的造价也非常昂贵。这导致了通信装备维修训练成本和难度徒增的问题。而虚拟维修作为一种新的维修技术,具有成本低、风险小、效率高、实用性强等优点。对维修保障流程的合理性、维修保障系统组织结构的高效性进行评估,形成维修周期最短、维修费用最低、维修保障能力最强的全局最优的维修方案。

系统以Delphi 为系统开发的平台,在EON 二次开发的基础上,设计出了某通信装备的虚拟维修训练系统,并进行了实践验证,有很好的应用价值。

1 系统设计

通信装备的虚拟维修训练系统不仅要求形象直观地将装备各个部分的3D 模型以及拆装过程展现给使用者,而且要求能够很好的指导使用者进行维修训练,还要求根据情况生成相应的故障分析文档和实际维修的参考方案。整个系统在实现过程中涉及到了数据库开发技术、3D 模型建立、行为模型制作、二次开发等方面,主要包括装备模型制作、行为逻辑模型编辑、故障数据库建立、维修数据处理、故障维修参考文档生成等几个部分,如图1 所示。

在EON软件二次开发上实现通信装备虚拟维修系统设计

系统的实现是在对EON Studio(简称EON)二次开发的基础上进行的,二次开发要求开发对象要足够开放,而EON 提供了对外部程序的接口EonX,完全可以实现对其进行应用开发,并且EON 有丰富的节点、元件库,可以方便地给三维模型加上行为。鉴于Delphi 方便、高效及其强大的功能,本系统用它作为二次开发的平台,最终实现系统的功能需要。

2 系统实现

2.1 三维模型设计

随着通信装备的发展,其规模越来越大,零部件数量非常可观,再加上虚拟维修系统对模型的几何尺寸精细程度和位置准确度的要求比较高,装备三维模型建立的工作量很大。目前,三维建模工具有许多,该设计所用的3DS MAX 操作简易、渲染效果逼真,还可以直接输出EON 文件。

在建模过程中,要在面片的Diffuse 材质中给它一个贴图文件。如果贴图大小为W×H,那么贴图要求最好满足此条件:max{W,H}≤2048,否则贴图将不会正常显示。此外,贴图最好用矢量图,因为位图在缩放时会失真,而矢量图是不会存在这种情况的。该系统在设计时用CorelDraw 软件将部分元件贴图转化为矢量图,再进行材质贴图。

虚拟维修的基础是三维建模,三维模型的设计一定要一次完成,如果将行为模型编辑完成后,再想要修改,那么必须重新导入EON,从头编辑行为模型。

2.2 建立行为模型

三维模型设计完成后,就要给通信装备的需要虚拟拆装的零部件加上行为,建立行为模型,这是整个系统开发的核心,直接关系到与应用程序的数据通信成功与否。通过3DS max 将三维模型导入到EON 中有下面三种方法:

1)EON 的Import 功能:先将三维模型保存为。3ds 文件,然后在EON 中导入,在导入后,一开始是看不到模型的,因为EON 和3DS MAX 中坐标尺寸不一样,这只需在EON 中修改模型的scale 属性值即可,操作比较复杂。

2)Raptor 插件:作为扩展3DS MAX 功能的外挂模块,它可以在3DS MAX 中浏览三维模型的EON场景,并将其保存为EON 文件,操作简单,但是模型中贴图较多时容易出错。

3)3DS MAX 的Export 功能:在Export 功能中选择EON Stand-alone File,该方法操作简单且在贴图较多时不会出错。该系统采用此方法。

模型导入后就是给相关模块添加节点及元件,构建完整的Simulation Tree,然后在Routes 图中制作逻辑图,完成行为模型的建立。

由于模型比较大,贴图也比较多,所以在EON中渲染虚拟场景非常慢,曾经达到过40 s 左右,并且在浏览时速度缓慢,甚至出现停顿现象,对浏览造成了很大的麻烦。究其原因,每当视点发生变化,浏览器就会重新计算场景中各模型的新位置并重新进行渲染,所以当场景中模型较多时,浏览器渲染速度就会跟不上视点变化的速度,从而出现缓慢甚至停顿的现象。通过降低贴图质量和模型复杂度可以解决这一问题,但是视觉效果会降低。经过探索,有以下三种解决方案:

1)将模型分模块编辑,生成。edz 文件,用ChangeSimulation 节点进行场景切换,该方法在场景切换时还要缓冲等待,影响场景浏览的连贯性。

2)采用PowerSwitch 节点在同一场景下实现模块间切换,该装备有3 大模块,共7 个机柜,元器件众多,贴图丰富,如果在场景下同时出现势必影响浏览速度,而同时显现也没必要,故而用此方法,逻辑图如图2 所示。

在EON软件二次开发上实现通信装备虚拟维修系统设计

3)在EON 中修改Render 属性,将RenderingQuality 调至low , 具体操作如: Simulation →Configuration→Render,该方法由于降低了渲染频率,所以在模型移动过程中有轻微的模糊和扭曲。

2.3 Delphi 与EON 通讯--EON 的二次开发行为模型建立完成后,就要通过混合编程技术在Delphi 中调用它,实现EON 的二次开发。如前所述,要实现这一步必须借助EonX 控件,EonX 是EON 提供给宿主程序(即二次开发平台Delphi)的通信接口,通过它可以把行为模型显示在宿主程序中,进行正常浏览。它通过EON 内部的路由解释器接受宿主程序的输入消息,改变视点位置,同时,可向宿主程序输出消息,完成这一通信过程靠的是EON 中的路由接口--InEvent 和OutEvent.当然,必须先在Delphi 中安装,才可使用,安装方法是:在菜单栏中点ImportComponent→Import a Type Library,选择EonX 7.0Type Library,完成安装。

EonX 提供了许多二次开发的方法,通过方法SendEvent 可由宿主程序经过InEvent 向EON 发送消息,改变需要维修零部件的位置坐标。下面是让发信机模块出现在场景中的程序:

procedure TForm1.TreeViewMouseDown(

Sender: TObject;

Button: TMouseButton;

Shift: TShiftState;

X, Y: Integer);

var EventIn: OleVariant;

begin

EventIn:=System.True;

MyEon.SendEvent(TreeView.Selected.text,E

ventIn); //给相应模块发消息

end;

EonX 也有许多属性和事件,通过添加OnEvent事件的响应函数,可以在宿主程序中监听到经过OutEvent 的输出消息,并在宿主程序中进行相应的处理。下面是发信机柜一号电路板改变视角时Delphi 进行响应的程序:

procedure TForm1.MyEonEvent(

ASender: TObject;

const bstrNodeName: WideString;

var pvarNodeValue: OleVariant);

begin

……

if bstrNodeName=‘发信机柜_电路板1 号'

then

begin

Panel_Tran_Cir1.Visible:=True;

Panel_Tran_Cir2.Visible:=False;

Panel_Tran_Cir3.Visible:=False;

Panel_Rec_Cir1.Visible:= False;

……

end;

end;

图3 示出了Delphi 与EON 的通信原理图。

2.4 系统实例

最终完成的系统界面如图4 所示。系统正常运行时,可以通过外设对通信装备进行虚拟拆装,很全面地对装备内部结构进行浏览;也可以根据用户选择的故障,指导用户对相应部件的参数进行测量,完成故障维修工作,并生成故障分析文档和故障维修参考文档。

在EON软件二次开发上实现通信装备虚拟维修系统设计

3 结语

系统在EON 软件二次开发的基础上,结合三维建模、虚拟维修、数据库以及电子电路仿真等方面的技术,开发出了某通信装备的虚拟维修训练系统,降低了维修训练对客观实物的依赖,有效地解决了当前维修训练中成本高等问题,对提高维修训练效率、扩大维修训练规模有极大的帮助,本文所涉及的系统已进行实践验证,系统有效可行,具有良好的应用前景。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 通信
    +关注

    关注

    18

    文章

    6024

    浏览量

    135949
  • 虚拟
    +关注

    关注

    0

    文章

    186

    浏览量

    23650
  • 数据处理
    +关注

    关注

    0

    文章

    595

    浏览量

    28554
收藏 人收藏

    评论

    相关推荐

    CAXA2011二次开发,CRX; CAX2007二次开发

    CAXA2011二次开发,CRX; CAX2007二次开发,EBA QQ:46841341 电话:*** 何生 标题、明细、自动参数化产生图纸,PDM、PLM集成系统,面积、重量、各种个性化程序
    发表于 01-05 23:05

    二次开发的配套工具与软件

    上海天业信息技术有限公司主要从事研发、生产、销售嵌入式系统模块产品。包括PC/104控制板,单板计算机、基于ARM的核心控制模块、扩展与接口模块,以及支持用户进行快速二次开发的配套工具与软件
    发表于 09-09 11:48

    手机模块二次开发

    手机的wifi模块、4g/3g通信模块、蓝牙模块等固有模块,进行二次开发时,需不需要对硬件本身进行改造?或者是二次开发普遍都需要对硬件改造还是普遍都不需要对硬件改造??
    发表于 06-29 11:49

    面向对象的参数化CAD二次开发方法研究

    【摘要】通用CAD系统采用开放式结构体系,提供相应的二次开发手段和方法。研究了面向对象的参数化二次开发技术及方法,以期为CAD的二次开发提供指导,并以Pro/Engineer为
    发表于 03-19 21:37 34次下载

    AutoCAD的二次开发

    AutoCAD的二次开发 AutoCAD的二次开发主要涉及以下内容:(1) 编写各种用户自定义函数并形成若干LISP、ARX、VLX或ADS文件,以及一些DCL
    发表于 02-14 16:59 1819次阅读

    ANSYS的二次开发技术

    ANSYS的二次开发技术 ANSYS提供的二次开发工具有三个:参数化设计语言(ANSYS Parametric Design Language,APDL),用户界面设计语言(User Interface
    发表于 10-02 10:42 2046次阅读

    基于VC的Cadence二次开发

    文中研究了用VC对Cadence做二次开发,使用VC编写操作界面,通过VC与SKILL语言通信,实现了VC界面对Cadence软件的控制,完成特定操作,给出了
    发表于 10-19 14:38 41次下载
    基于VC的Cadence<b class='flag-5'>二次开发</b>

    AutoCAD VBA二次开发教程

    AutoCAD VBA二次开发教程,学习二次开发的顶起
    发表于 11-02 16:16 0次下载

    二次开发串口通信协议

    lobot机器人二次开发
    发表于 05-09 08:55 7次下载

    GIS 二次开发概述

    随着地理信息系统应用领域的扩展,应用型GIS的开发工作日显重要。如何针对不同的应用目标,高效地开发出既合乎需要又具有方便美观丰富的界面形式的地理信息系统,是GIS
    发表于 01-15 17:06 6114次阅读
    GIS <b class='flag-5'>二次开发</b>概述

    对功率计进行二次开发

    功率计做二次开发首先要确认的就是通讯的接口,ZLG致远电子PA300系列功率计提供USB、GPIB、以太网以及串口接口,4种接口免费标配,都可以用于二次开发
    的头像 发表于 04-29 15:12 3050次阅读

    空间光调制器的简便控制方法:灵活应用二次开发

    了数据从编程软件到空间光调制器的输送任务。 02.二次开发模式有哪些好处? 二次开发模式中,灰阶处理,中心点的计算,图像到硬件的投射统统不用管,只需要将仿真的图像的数据块传送给
    的头像 发表于 05-11 13:37 645次阅读
    空间光调制器的简便控制方法:灵活应用<b class='flag-5'>二次开发</b>

    【产品应用】LoRa网关与二次开发终端的神仙搭配

    LoRa项目开发时间紧?驱动开发困难?二次开发终端ZSL420提供了丰富的API接口,与LoRa网关搭配可以快速实现无线数据转MQTT,有效降低产品成本、缩小
    的头像 发表于 02-02 10:57 721次阅读
    【产品应用】LoRa网关与<b class='flag-5'>二次开发</b>终端的神仙搭配

    SAP Business One二次开发:解锁潜力,实现定制化需求

    Business One二次开发,乃个性化定制的精髓 SAP Business One二次开发指的是现有SAP Business One软件基础上,进行定制
    的头像 发表于 09-13 21:58 620次阅读
    SAP Business One<b class='flag-5'>二次开发</b>:解锁潜力,<b class='flag-5'>实现</b>定制化需求

    SOLIDWORKS二次开发应用范围与实例

    SOLIDWORKS二次开发为企业和设计师们提供了广阔的定制化空间,能够更好地满足复杂多变的设计需求,帮助工程师和设计师提高工作效率,实现更复杂的自动化任务。如您有SOLIDWORKS二次开发需求,欢迎咨询Solidkits
    的头像 发表于 12-13 16:33 135次阅读