咨询热线:400-821-7118
联系我们Contact us
上海市长宁区天山路18号兆益科技园东楼606室
Tel:400 821 7118
Fax:021 6291 7119
E-mail:info@sipworks.com.cn
当前位置: 首页 > 新闻中心 > 技术支持 技术支持
用基于事件的仿真激活您的设计(一)
编辑:谢连富 发表时间:2016-12-21 10:14:56 浏览次数:

       SolidWorks®软件能使整个设计过程变得更为智能。凭借其灵活的“基于事件的仿真”,您的团队即可将设计与控件结合起来,优化实时样机和测试过程。

 基于事件的仿真

图1基于事件的仿真

1.简介

       您可能见过由漫画家兼工程师Rube Goldberg所绘制出的那些令人称奇的机械装置。在他的漫画中,简简单单的一个任务,却是由动用了滑轮、杠杆、气球、滚珠和无数小器械的超复杂型装置来实现的。那个分16步的“挤牙膏器”,还有那个分13步的头戴式“餐巾自动擦嘴”装置,都正是Goldberg的大作。另一让人津津乐道的例子,是曾受Goldberg的作品启发而发明了Mouse Trap.(捕鼠器)游戏(见图2)的Milton Bradley。款游戏的玩法,就是通过一系列随机事件来设法捕捉老鼠“选手”。

经典游戏Mouse Trap的模型

图2.经典游戏Mouse Trap的模型

       在这些设计中,每个事件都跟前面的事件紧密相连。如果当中某个事件的用时长于或短于预计时间,那么剩余的事件就会像多米诺骨牌一样产生连带影响。像这样的情况,我们就称之为“基于事件的系列”。

       还有一种是“基于时间的系列”。比如,您拍摄了一些视频片段,并想将它们组合成一段影片。其中,第一个场景是4秒,第二个场景是20秒,如图3所示。

基于时间的视频软件模型

图3基于时间的视频软件模型

      将这些场景组合到一起后,您才发现第一个片段其实只需要前面三秒。于是您剪掉一秒,谁知……

基于时间的视频软件模型,其中有一秒是“空白”的

图4基于时间的视频软件模型,其中有一秒是“空白”的

       就如图4所显示的那样,两段视频间出现了一秒的“空白”。如此一来,您就不得不手动调整之后的每个片段,重新对准它们的开始和结束时间。这种修改工作相当繁琐。有时,如果要调准的时间过多,其实还不如重新来过。

接下来,我们既不玩Mouse Trap游戏,也并不去制作影片,我们要做的,是观察这两种方法如何从根本上影响机械系统的仿真。在本文中,我们将通过一套简易的促动器系统(图5)来讨论基于时间的设计和基于事件的设计。

由四个促动器和一个蓝色方块(左侧)组成的系统共同完成一套动作

图5.由四个促动器和一个蓝色方块(左侧)组成的系统共同完成一套动作

       蓝色方块从左下角开始按所示顺序在迷宫中移动。四个促动器推送方块后各自回撤。最后,方块被推出迷宫,而每个促动器亦回到原始位置。

       要了解该装置能否正确运作,我们可以使用运动仿真来对促动器的设计和操作进行虚拟测试。这种运动仿真既可以使用基于时间的方法,也可以使用基于事件的方法。

       为了透彻理解“基于时间的仿真”和“基于事件的仿真”(Event-Based Simulation,EBS)之间的不同之处,我们必须从两个层面来说明各个角色:“整体”层面和“细节”层面。前者是在机械加工行业的方法论指导下从整体考虑流程,后者则注重了解流程如何改变以及这些改变如何优化每个步骤。


典型流程

机械设计员通常遵照图6所示的整体流程

机械设计员所用的标准整体设计流程

图6.机械设计员所用的标准整体设计流程

       通常,设计员在开始时会为机器编写初始代码或设计图。注意不要将这些代码与控件相混淆,代码用于控制每个独立装置的行为,而控件则用于将这些装置联系起来。一旦编写好代码,机器的机械设计阶段即告完成。而在临近最终配置确定时,我们可能需要对设计进行虚拟测试,此时可以编写将各个装置“粘”在一起的控制算法。设计的控件阶段通常是在生产和组装新机器后才能进行验证。

       以图54的促动器为例。作为设计员,您的第一步是编写能让每个活塞在推送后回撤的代码。此举用于实现每个活塞的运动。然后,您需要设计装配体中的每个结构,此步骤通常可利用一些CAD软件来完成。再然后是制造出实际的蓝色方块、迷宫和活塞,并编写能将每个活塞的运动联系起来的控制算法。现在问题来了,万一控件代码无法适应时间要求及促动器的机械性能,该怎么办?比如促动器的加速不够快呢?要是遇到这种情况,您很可能得重新设计机械或控件。

       接下来,我们将讨论传统方法与EBS方法的“细节”层面。通常,制造过程依据的是绝对时间,许多控件架构也要求使用绝对时间。但是,在设计过程的前期以及仿真试验阶段,使用绝对时间会产生一些严重问题。您知道自己希望什么发生,但是您却无法确定每个动作发生的确切时间。比如您希望第一个活塞在“1.5秒”处停止,而不是原先设定的“1秒”处 — 当您仍在确定诸如促动器最大加速度等一些重要的机械细节时,在这么早的设计阶段进行这样的小调整是可以理解的。但在软件中,第二个促动器的推送时间仍旧是原来的“1.1 秒”。这时,除非您手动改为“1.6秒”,使其保持原有的时间间隔,否则,可能就会出大问题。这就意味着您得手动更改之后的每个步骤。试想一下,如果有成百上千个后续步骤,那得花上多少时间!更糟的是,如果这些更改后的控制代码很不兼容,那么您就得从头开始设计,耗费更多的时间、金钱和资源。

  

 -----------------------------------------------------------------------------------------------------------------------------------------

(连载未完)

看完此篇文章的人99%还看了

用基于事件的仿真激活您的设计(一)

地址:上海市长宁区天山路18号兆益科技园东楼606室
电话:400-821-7118,62917119,18016467107
传真:021 6291 7119
QQ:328937687

Copyright 2019 上海树沃信息技术有限公司 All rights reserved. 沪ICP备12016706号-1Email:info@sipworks.com.cn

SolidWorks代理商微信号