一种面向制造车间的离散事件动态仿真引擎及其实现方法

文档序号:169183 发布日期:2021-10-29 浏览:20次 >En<

阅读说明:本技术 一种面向制造车间的离散事件动态仿真引擎及其实现方法 (Discrete event dynamic simulation engine facing manufacturing workshop and implementation method thereof ) 是由 朱海平 甄国辉 蒋猷明 沈洌政 关辉 于 2021-07-13 设计创作,主要内容包括:本发明公开了一种面向制造车间的离散事件动态仿真引擎及其实现方法,属于虚拟仿真技术领域。包括:仿真建模模块,用于生成制造车间的静态仿真模型;仿真时钟模块,由仿真时钟和仿真扫描时刻表构成,仿真扫描时刻表,用于记录每个仿真事件的触发时刻;仿真时钟,用于在仿真扫描时刻表的驱动下,离散推进到下一时刻点;仿真事件模块,由仿真事件表、事件表初始程序和事件例程解释执行器构成,仿真事件表,用于记录所有仿真对象关联事件类型及其判断和处置逻辑;事件表初始程序,用于各类事件初始化;事件例程解释执行器,用于自动解释执行事件判断和处置逻辑。本发明优化了时钟推进机制,实现了事件自动解析执行,提高了仿真引擎工作效率和灵活性。(The invention discloses a manufacturing workshop-oriented discrete event dynamic simulation engine and an implementation method thereof, and belongs to the technical field of virtual simulation. The method comprises the following steps: the simulation modeling module is used for generating a static simulation model of the manufacturing workshop; the simulation clock module consists of a simulation clock and a simulation scanning timetable, wherein the simulation scanning timetable is used for recording the triggering time of each simulation event; the simulation clock is used for discretely advancing to the next time point under the driving of the simulation scanning timetable; the simulation event module consists of a simulation event table, an event table initial program and an event routine interpretation executor, wherein the simulation event table is used for recording the associated event types of all simulation objects and judgment and disposal logics thereof; the event table initialization program is used for initializing various events; and the event routine interpretation executor is used for automatically interpreting and executing the event judgment and handling logic. The invention optimizes the clock propulsion mechanism, realizes the automatic analysis and execution of events, and improves the working efficiency and flexibility of the simulation engine.)

一种面向制造车间的离散事件动态仿真引擎及其实现方法

技术领域

本发明属于虚拟仿真技术领域,更具体地,涉及一种面向制造车间的离散事件动态仿真引擎及其实现方法。

背景技术

虚拟仿真技术已被用于研究制造车间的行为和性能。它不仅将制造车间中复杂的逻辑、工艺、调度、控制关系转换为比较直观的模型描述,而且能够充分考虑系统的外界及内部的随机因素影响;不仅能够建立制造系统的静态模型,而且可以描述其动态特性,通过运行车间仿真有助于选择车间设计方案、预测制造车间性能、制定生产调度策略。

制造车间的仿真属于离散事件动态仿真范畴,其特征是系统状态变化是离散的,即导致状态的事件是在离散时间发生的。为了支持制造车间的仿真运行,需要建立离散事件动态仿真引擎,实现仿真建模、仿真运行、仿真分析等功能。

仿真调度策略是离散事件动态仿真引擎的关键技术,目前常用算法包括事件调度法、活动扫描法、进程交互法、消息驱动法等等,事件调度法最符合车间虚拟仿真的特点,但它对事件处理时机的判断只基于时间,时间到达就处理事件,但实际情况中,即便事件处理事件到达,但其他条件不满足,该事件依然不能马上处理,因此事件调度法不够灵活且效率较低,存在较大的改善空间。

仿真时钟的推进算法也是离散事件动态仿真引擎的核心技术,目前常用的算法是固定步长事件推进法和下次事件时间推进法。前者实现简单但效率较低,后者效率高,但不易处理生产线流动、AGV移动等较为连续动作的仿真。

发明内容

针对现有技术的缺陷和改进需求,本发明提供了一种面向制造车间的离散事件动态仿真引擎及其实现方法,其目的在于优化时钟推进机制,实现事件自动解析执行,提高仿真引擎工作效率和灵活性。

为实现上述目的,按照本发明的第一方面,提供了一种面向制造车间的离散事件动态仿真引擎,所述离散事件动态仿真引擎包括:仿真建模模块、仿真时钟模块和仿真事件模块;

所述仿真建模模块,用于根据制造车间布局、设备能力及故障数据、工艺数据、生产物流数据和订单数据,生成制造车间的静态仿真模型;

所述仿真时钟模块,由仿真时钟和仿真扫描时刻表构成,所述仿真扫描时刻表,用于记录每个仿真对象所关联事件的预计触发时刻;所述仿真时钟,用于在仿真扫描时刻表的驱动下,离散推进到下一事件触发时刻点;

所述仿真事件模块,由仿真事件表、事件表初始程序和事件例程解释执行器构成,所述仿真事件表,用于记录制造车间所有仿真对象的关联事件类型及其判断和处置逻辑;所述事件表初始程序,用于仿真事件表中各类事件的初始化;所述事件例程解释执行器,用于自动解释执行事件的判断和处置逻辑,并产生仿真对象的新事件。

优选地,所述仿真建模模块针对物理车间内设备、机器人、生产线、运输车辆、缓冲区、仓库、出入口、零部件、工人、装卸工具,以及数据表格、触发器、分析图表、通讯接口,建立图形化的仿真对象模型,定义仿真对象的属性、输入/输出数据和基本逻辑,从而构建出制造车间的静态仿真模型。

优选地,所述仿真事件表包含:对象名称、事件类型、事件响应前置逻辑、事件处理逻辑和事件响应后置逻辑,所述事件响应前置逻辑指该事件在什么条件下可以响应,以及需进行哪些预处理操作,所述事件处理逻辑指车间对象的创建、加工、装配、装卸、移动、运输、故障、修复活动的仿真操作,以及仿真引擎的初始化、暂停、恢复、停止操作,所述事件响应后置逻辑指事件处理完毕之后的操作。

优选地,所述仿真事件类型包括:仿真引擎的初始化/暂停/恢复/停止、零件创建/删除、零件进出当前位置、零件加工、部件装配、设备故障与修复、生产线流动、运输车辆呼叫及搬运服务、工人呼叫及操作服务、机器人上下料服务和定时触发程序。

为实现上述目的,按照本发明的第二方面,提供了一种如第一方面所述的面向制造车间的离散事件动态仿真引擎的实现方法,所述方法包括:

一、仿真引擎被启动前:

(S1)仿真建模模块根据制造车间的布局、设备能力及故障数据、工艺数据、生产物流数据和订单数据,生成制造车间的静态仿真模型;

(S2)事件表初始程序扫描制造车间的静态仿真模型所有仿真对象,根据对象属性和预期行为,初始化仿真事件表;

(S3)仿真时钟模块自动创建仿真时钟,采用制造车间的静态仿真模型的静态数据初始化仿真扫描时刻表,并置仿真引擎的起始扫描时刻为0;

二、仿真引擎被启动后:

(T1)在当前仿真扫描时刻,仿真事件模块逐一扫描仿真事件表,辨识出当前仿真时钟可执行事件,由事件例程解释执行器执行事件处理例程,产生仿真对象的新事件,记录制造车间仿真过程状态数据,更新仿真扫描时刻表和仿真事件表,并重复T1,直至仿真时钟无任何可执行事件,进入步骤(T2);

(T2)仿真事件模块从仿真扫描时刻表获取下一扫描时刻且该下一时刻存在,仿真时钟离散推进到下一扫描时刻,进入步骤(T1),否则,仿真结束。

优选地,步骤(S2)包括:

(S21)事件表初始程序扫描制造车间静态仿真模型中的所有仿真对象,生成仿真事件表;

(S22)根据仿真事件表,初始化事件响应前置逻辑、事件处理逻辑、事件响应后置逻辑的具体实现例程。

优选地,所述由事件例程解释执行器执行事件处理例程,产生仿真对象的新事件,记录制造车间仿真过程状态数据,并更新仿真扫描时刻表和仿真事件表,直至仿真时钟无任何可执行事件,包括:

(1)事件例程解释执行器开始工作,解释执行事件处理逻辑,获取仿真参数数据,并输出各事件的执行结果数据,包括:事件类型、物流对象、当前零件信息和操作时间;

(2)根据操作工时、装夹时长、运输时长、故障间隔和维修时长要求,计算下一次扫描时刻,如果是随机时长,则进行随机模拟并产生符合随机分布特征的时刻数据,将该时刻数据加入仿真时钟扫描表;

(3)产生仿真对象的新事件,加入仿真事件表,同时删除已响应的事件;

(4)事件例程解释执行器继续工作,解释执行事件响应的后置逻辑,返回步骤(T1)。

优选地,仿真引擎被暂停期间:事件例程解释执行器自动执行仿真引擎的暂停例程,备份仿真事件表、仿真扫描时刻表和制造车间仿真过程状态数据,仿真时钟保存暂停时刻的时钟值并停止工作。

优选地,仿真引擎从暂停到恢复:仿真时钟模块重启仿真时钟并恢复到暂停前的时钟值,事件例程解释执行器自动执行仿真引擎的恢复例程,恢复仿真事件表、仿真扫描时刻表和制造车间仿真过程状态数据。

总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:

(1)本发明提出一种面向制造车间的离散事件动态仿真引擎,支持车间各种物流对象和非物流对象的仿真建模,建立仿真时钟模块和仿真事件模块的协同工作机制,并通过事件例程解释执行器实现事件逻辑的自动处理与事件自动更新,仿真引擎因此能够更为高效、灵活地工作。

(2)本发明提出一种面向制造车间的离散事件动态仿真引擎的实现方法,优化了仿真引擎运行过程中的仿真时钟推进机制,实现了事件自动解析执行,通过不断触发、处理和更新事件,推动仿真进程,并详细记录仿真过程数据。

附图说明

图1为本发明提供的一种面向制造车间的离散事件动态仿真引擎的主要组成;

图2为本发明提供的为面向制造车间的离散事件动态仿真引擎的工作过程;

图3为本发明提供的车间仿真模型;

图4为本发明提供的物流对象事件表;

图5为本发明提供的仿真扫描时刻表。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

如图1所示,面向制造车间的离散事件动态仿真引擎包括:制造车间的仿真建模模块、仿真时钟模块、仿真事件模块和数据通信接口。所述仿真建模模块实现车间各类物理对象的仿真建模,包括物流对象与非物流对象的静态仿真建模,生成车间对象仿真模型。所述仿真时钟模块由仿真时钟和仿真扫描时刻表构成,在仿真扫描时刻表的驱动下,仿真时钟实现车间生产仿真运行过程的自动离散式推进,逐一扫描仿真事件表,辨识并激活相关事件。所述仿真事件模块由仿真事件表、事件表初始程序、事件例程解释执行器构成,完成仿真事件的初始化及处理,实现事件响应前置逻辑、事件处理逻辑、事件响应后置逻辑程序的自动解释执行,并更新仿真扫描时刻表。所述数据通信接口用于获取订单和工艺等仿真输入参数,详细记录仿真过程数据,该仿真过程数据可用于制造车间的性能分析,比如:产能、设备利用率等等。

如图2所示,本发明还提供了一种面向制造车间的离散事件动态仿真引擎实现方法,具体包括如下步骤:

步骤1,通过仿真建模模块,建立制造车间的静态仿真模型。

仿真建模模块根据制造车间的布局、设备能力及故障数据、工艺数据、生产物流数据和订单数据,生成制造车间的静态仿真模型。上述数据可以通过人为拖拽组件模块,或者,脚本写入方式获得。

针对物理车间内设备、机器人、生产线、运输车辆、缓冲区、仓库、出入口、零部件等各种物流对象,以及数据表格、触发器、分析图表、通讯接口等各种非物流对象,建立图形化的仿真对象模型,定义仿真对象的属性、输入/输出数据和基本逻辑,从而构建出制造车间的静态仿真模型。

步骤2,通过仿真事件模块,初始化仿真事件表。

所述仿真事件表记录所有车间仿真对象的关联事件及其判断和处置逻辑,这些事件的类型包括:零件创建、零件进出当前位置、零件加工、部件装配、设备故障与修复、生产线流动、运输车辆移动、机器人开始/结束服务、定时触发程序等。具体步骤如下:

步骤201,仿真开始前,针对步骤1建立的制造车间静态仿真模型,仿真事件模块扫描所有仿真对象,生成仿真事件表,包含对象名称、事件类型、事件响应前置逻辑、事件处理逻辑、事件响应后置逻辑等属性。所述仿真事件表自动生成,无需人工输入。所述事件响应前置逻辑定义该事件在什么条件下可以响应,以及需进行哪些预处理操作,比如“零件离开当前位置”的前置逻辑是“零件在当前位置的规定逗留时长已达到,且后继位置允许进入”。所述事件处理逻辑指车间对象的加工、装卸、移动、运输等仿真操作。所述事件响应后置逻辑指事件处理完毕之后的操作。

步骤202,编写事件响应前置逻辑、事件处理逻辑、事件响应后置逻辑的具体实现例程。这些例程可以灵活定义,并且在仿真过程中由事件例程解释执行器根据上下文信息自动解释执行。

事件例程大都由仿真引擎自动编辑,若用户想要在某些问题上进行优化,也可自行编辑。

步骤3,通过仿真时钟模块,实现仿真过程的自动离散式推进:针对步骤1所建立的制造车间静态仿真模型,运行仿真,自动创建仿真时钟,仿真过程中,该仿真时钟依次读取仿真扫描时刻表中的数据,离散推进到下一时刻点,并循环扫描仿真事件表,辨识有无仿真事件可以响应。具体步骤如下:

步骤301,仿真开始前,自动创建仿真时钟,时钟精度为毫秒,支持并发仿真,即同时运行多次仿真,互不干扰。

步骤302,如果存在生产线、AGV等连续运动对象,则以固定步长间隔产生下一时刻数据,并记录在仿真扫描时刻表中。

步骤303,仿真过程中,仿真时钟自动地以离散方式向前推进。从仿真时钟扫描表中读取当前时刻之后的第一个时间数据T,如果T不存在,则仿真过程结束,否则执行步骤304。

步骤304,仿真时钟推进到时刻T,遍历扫描仿真事件表。判断各事件响应的前置逻辑是否满足,如果是,则执行步骤4。

步骤305,在时刻T的一次遍历扫描周期内,如果仿真事件表有事件被实际执行,将自动开始新一轮次的遍历扫描,直到该时刻仿真事件表中无任何事件满足响应前置逻辑为止,然后重复执行步骤302。

步骤4,利用仿真事件模块,实现事件的触发执行:步骤304,在T时刻,仿真事件表中的某事件满足执行条件,执行该事件处理逻辑,完成零件加工、移动等仿真任务,记录仿真结果,并计算得到后续仿真扫描时刻,更新仿真扫描时刻表。具体步骤如下:

步骤401,事件例程解释执行器开始工作,解释执行事件处理逻辑,访问数据通信模块,获取仿真参数数据,并输出各事件方法的执行结果数据,包括:事件类型、物流对象、当前零件信息、操作时间等。

步骤402,根据操作工时、装夹时长、运输时长、故障间隔、维修时长等实际生产过程数据要求,计算下一次扫描时刻,如果是随机时长,则进行随机模拟并产生符合随机分布特征的时刻数据,将该时刻数据加入仿真时钟扫描表。

步骤403,产生仿真对象的新事件,加入仿真事件表,同时删除已响应的事件;

步骤404,事件例程解释执行器继续工作,解释执行事件响应的后置逻辑。返回步骤304。

某简化的制造车间如图3所示,物流对象之间的连线表示生产工艺流程,其中实线表示不考虑物流方式与时间,虚线表示要考虑物流方式和时间。由一个零件入口、一个零件待加工区、一个搬运机械手、一台机床和一个零件出口构成,依次生产A、B两个零件。零件在入口处产生,0秒时刻产生A零件,10秒时刻产生B零件。零件产生后,立即进入待加工区等待,由机械手搬运到机床上进行加工,机械手的服务响应时间和搬运时间分别为5秒和8秒,机床加工A、B零件的时间均为正态分布随机数,其中,A零件的加工时长为Noraml(30,5),Normal表示正态分布,30为时间的期望值(单位:秒),5为标准差(单位:秒),B零件的加工时长为Noraml(50,10)。如果机床正在工作,机械手不能将零件搬运过来,必须等待,零件在机床上加工完成后,进入出口。

针对该车间仿真模型,初始化仿真事件表如图4所示,该数据表包含5列信息:对象名称、事件类型、事件响应前置逻辑、事件处理逻辑、事件响应后置逻辑。事件类型包括“产生”、“离开”、“进入”“呼叫”、“服务”等。以第4行数据为例,零件离开待加工区之前,先判断机械手是否就绪,如果为否,则无法离开,否则零件进入机械手,并设置机械手状态为忙,这样,后续针对机械手的呼叫请求就会自动进入机械手的服务等待队列。

仿真引擎的工作过程就是不断读取并更新仿真扫描时刻表数据(如图5所示)、推进仿真时钟、判断可执行事件并处理事件、产生新事件并更新仿真事件表的过程,具体如下:先根据零件A、B的产生时刻,将0秒和10秒时刻加入仿真扫描时刻表。仿真引擎依次读取仿真扫描时刻表中数据并推进时钟,进行事件扫描,直到无数据可读,仿真结束。首先扫描0秒时刻,0秒时刻零件A产生并离开入口,进入待加工区,触发待加工区的“进入”事件,呼叫机械手,将机械手的预计服务时间5秒加入扫描时刻表,重复扫描0时刻,无其他事件发生,时钟推进到5秒时刻,执行零件A离开待加工区事件,零件A离开待加工区进入机械手,再执行机械手的进入事件,设置零件A离开机械手的时间为5+8=13秒,将13秒时刻加入仿真扫描时刻表,重复扫描5秒时刻,无其他事件发生,时钟推进到10秒时刻,产生零件B,然后推进到13秒时刻,移动零件A进入机床加工,触发机床进入事件,根据机床加工时间的随机分布Noraml(30,5),产生正态分布随机数31,将13+31=44秒时刻加入仿真扫描时刻表,然后推进到44秒时刻,零件A离开机床,进入出口,加工完成。以此类推,直到105秒时刻,零件B进入出口,仿真结束。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种用于低频超声胸腔成像的信号降噪方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类