第六章 仿真软件和系统:Quest,王峻峰 机械学院工业工程系,主要内容,一. DELMIA软件 二、QUEST介绍 三、QUEST中的概念 四、建模示例,emPlant ProModel,,Quest,一. DELMIA软件,DELMIA公司成立于2000年6月,是Dassault Systemes(达索系统集团)整合旗下Deneb,Delta和Safework三家软件公司的解决方案而合并组成的e-Manufacturing软件公司DELMIA名称取自Digital Enterprise Lean Manufacturing Interactive Application,寓意数字企业精益制造交互式应用提供了以生产工艺过程为中心的最全面的数字制造方式与解决方案可全面满足制造业中按订单生产和精益生产等分布式敏捷制造系统的数字仿真需求一. DELMIA软件,Delmia软件秉承了1985年成立的Deneb Robotics公司软件的优异仿真性能在虚拟样机设计及虚拟制造交互式仿真、机器人应用仿真及离线编程、虚拟工厂等方面处于世界领先地位 e-Manufacturing解决方案包括下列软件与模块: Delmia(ENVISION):集成虚拟样机及虚拟制造交互式仿真环境、虚拟现实应用软件 IGRIP/Ultra系列:机器人应用设计、布局仿真及离线编程软件 QUEST:虚拟工厂及离散事件仿真软件 VIRTUAL NC:虚拟数控加工仿真软件 Delmia (Deneb/ERGO):人体运动仿真与工效分析模块 Delmia (Deneb/ASSEMBLY):装配路径规划仿真模块,二、QUEST介绍,工厂生产系统集成、工艺流程设计和可视化解决方案 Deneb/QUEST是Delmia公司开发的一种面向生产过程物流仿真与分析的三维数字化工厂开发软件. 它为用户提供了一个简便的协同开发环境, 以便通过合理地进行生产系统设计来获得良好的制造系统物流过程. 通过使用QUEST对生产系统的参数(如设备布局, 资源分配, 生产计划等)进行实验, 生产系统设计者就能够评价他们的决策对生产率和成本的影响.,,,1. Deneb/QUEST特点,具有较强的三维可视化仿真功能. 可以与现有的设计工具集成, 包括二维和三维CAD软件以及其它类型的仿真软件, 例如人机工程学分析与评价软件.提供了基于对象的建模方法. 它包含了丰富的集合对象资源库, 这使得用户可以方便地为生产设备建模.提供了智能化的物料运输系统模板. 它综合了多个生产系统参数, 例如长度, 速度与设备布局情况来分析物料运输设备的影响.提供了分析生产率, 人力需求, 库存水平的工具, 可以用数据表, 饼状图, 时间序列图等多种形式来显示分析结果, 也可把数据导出到其它分析工具中.,2. OPTQUEST,运用OPTQUEST中的智能搜索算法来进行实验工艺的有效的自动化设计。
在可定置的数据表、条形图、饼形图、直方图和时间序列表中显示分析结果也可将数据导出到外部分析工具中,如电子表格或其它的表格软件包还可在一定时间间隔内图形化地比较多个运行结果这些分析工具可帮助用户区分和量化用户设施中的瓶颈环节,并且测量出增值与非增值行为,以进行精益生产三、QUEST中的概念,Quest是基于三维建模环境,每个模型可以分为两个部分:物理模型和逻辑模型 物理模型:是Quest系统的三维表现Quest自身具有三维建模系统,同时也提供了一组其它数据格式的转换器,这样可以从其它建模软件包中导入三维模型 Quest实现的三维表现方法允许element或者part的物理特征影响仿真运行的方式 如在传送带中,传送带模型的实际物理长度和其上part的长度决定了传送带的容量1. 逻辑模型,逻辑模型:是Quest仿真的核心,逻辑模型由两种类型的逻辑组件构成:element和part Part:是系统加工处理的实体 Element:是处理part的实体,part只有在element间存在连接时候才能允许在两者间流动 逻辑:用来控制模型的行为,定义part在element上的行为以及如何穿过系统 element:由如下组成: 逻辑:控制element行为的规则和方法 属性:隶属于element的数据条目 三维显示:三维模型 part:part是由element处理的实体, 具有属性和三维模型,但不具备逻辑,(1)element,作用和类型: 用于part产生和消费的element Source:创建part并发放part进入仿真系统 Sink:消费part 用于part存储的element Buffer:存储part 用于part加工的element Machine:加工part 用于物料处理的element Conveyor:移动part,包括标准和PNF类型传送带 AGV:在预定义路径上搬运part Labor:移动、搬运part或者进行操作,(2)part,part是在element间流动的实体,在制造环境中是系统加工的实际part, 如车身到成品车,在其它类型系统中,part可以是在银行等待服务的人群,业务员处理的或者高速公路上行驶的汽车。
Quest是离散时间仿真器,因此part流是离散本质,换句话说,每个事件如part到达发生在某个离散时间点part从part类产生part类采用类似element类的模板概念,定义part的属性和三维形体part类与element类的区别在于part的创建不需要指定数量part在仿真运行需要时候动态创建 part与element的区别在于part没有执行逻辑的能力,part自身无法控制自身的运动方向或者方式3)element连接,part不能在没有连接的element间运动连接为part提供了从一个element向另一个element运动的机制一旦连接建立,part的运动就由element类的逻辑控制大多数element至少有一个输入和输出连接,例外的是source和sink,分别只有一个输出和输入连接可以在element间定义也可以在element类之间指定当连接在element类之间指定时,需要定义逻辑来确定part所流向的单个elementQuest支持push和pull两种连接方式Push连接是指part从上游element释放会自动通过连接运动,pull连接是指下游element从上游element处请求part,只有请求被接收和处理后,part才能运动。
4)Quest逻辑,用来描述仿真中各个资源在指定时间发生的决策活动并控制模型的行为 Quest模型中的每个element类一般都具有一个或者多个逻辑,描述该类的行为和功能任何数量的逻辑可以同时运行 一个element可看成两个方面:输入方和输出方输入方为element需求part,一旦part到达,它进入输入方并被加工在加工完成后,part传送到element的输出方然后输出方试图发送part到目的elementpart一旦发送,仅当接收element准备接收part时才实际离开发送element 与element相关的逻辑定义了运行哪种过程逻辑也定义了关于part运动和定购的规则4)Quest逻辑,加工逻辑:该逻辑在part进入element的时候控制element的行为在大多数element中,加工逻辑负责请求和获取part,并加工 发送逻辑:该逻辑定义了element间的part流,即part加工后从哪出,到哪去 请求逻辑:该逻辑在拉动模型中控制element间的请求流请求逻辑处理请求类似加工逻辑处理part part输入逻辑:该逻辑当使用类连接的时候控制part到达element的方式。
排队逻辑:该逻辑仅对buffer类型element有效它决定了part离开buffer的规则如缺省的先入先出规则5)Buffer,Buffer:表示一个存放parts的位置 Buffer:有容量和用户自定义的每一个part class的初始库存水平 Buffer被定义在buffer class里 Buffer element的行为是在buffer class的process and route class里定义的6)Source,Source:用在Push Mode或Pull Mode里 Pull Mode:是一个被动的element,接收part request,创建request的parts,将它们记入仿真中,并生成统计表 Push Mode:它可以通过IRT(Inter-Request Time)产生parts在该模式下,一个Source包含产生最大数量的parts和它的第一个part的产生时间Source有process logic和route processSource的行为由source class的process和route logic控制7)Machine,Machine:是一个element,它就像一个物理机器一样的运转。
它可以用part、labor或AGV来完成有时间规定的cycle process,最后生产出parts Machine是在Machine Class里定义的 Machine的行为被与之相关machine class的data、process和route logic控制8)Sink,Sink:是一个element它可以用在Push Mode或Pull Mode里 Push Mode:它是一个被动的element,接收parts、从仿真中删除parts和生成统计表 Pull Mode:可以通过IRT(Inter-Request Time)发出对parts的需求在该模式下,一个Sink可以有part request的最大数量和它的第一次request的起始时间Sink有process logic,但是没有route processSink在Sink Class里定义Sink的行为由sink class的process控制9)Connections,Connection (Pull and Push) push connections:在elements/classes间向下传递parts. pull connections:在elements/classes用于向上传递需求Element Connections Connection是一种机制,为了model里parts流动而建立的elements间的的逻辑连接。
在Element Connections里,elements之间互相连接动态建立Input/Output ElementClass Connections 连接机制也包括model里的class connections当两个classes之间定义class connection后,parts就可以从一个class运送到另一个class 当两个class之间建立class connection后,调用input logic就可以确定part要到达的element10)Cycle Process,Cycle Process:是一组数据,通常通过GUI输入,表示一个machine的production time(busy state) 一个Cycle Process,在machine开始Cycle Process前,有一组对parts、AGV和labor的请求 一个Cycle Process,有一个时间,指明该process需要花费的时间 一个Cycle Process可以同model一起保存,或作为分开的文件保存,以便其它model调用 一个Cycle Process可以与多个machines相关联。
四、建模示例,常用的模块model run,1. 菜单-model,,,,,1. 菜单-run,。