10 混合流水线系统仿真与分析
案例教学:
混合流水线系统仿真与分析
10.1 建立概念模型
10.1.1概念定义
多对象流水线生产有两种基本形式。一种是可变流水线,其特点是:在
计划
项目进度计划表范例计划下载计划下载计划下载课程教学计划下载
期内,按照一定的间隔期,成批轮番生产多种产品;在间隔期内,只生产一种产品,在完成规定的批量后,转生产另一种产品。另一种是混合流水线,其特点是:在同一时间内,流水线上混合生产多种产品。按固定的混合产品组组织生产,即将不同的产品按固定的比例和生产顺序编成产品组。一个组一个组地在流水线上进行生产。
10.1.2模型描述
一个工厂有5个不同的车间(普通车间,钻床车间,铣床车间,磨床车间,检测车间),加工3种类型产品。每种产品都要按工艺顺序在5个不同的车间完成5道工序。
假定在保持车间逐日连续工作的条件下,仿真在多对象平准化中生产采用不同投产顺序来生产给定数量的3种产品。通过改变投产顺序使产量、品种、工时和负荷趋于均衡,来减少时间损失。
如果一项作业在特定时间到达车间,发现该组机器全都忙着,该作业就在该组机器处排入一个FIFO规则的队列的暂存区,如果有前一天没有完成的任务,第二天继续加工。
10.1.3系统数据
表10.1: 车间配备(单位:台)
普通车间 钻床车间 铣床车间 磨床车间 检测车间 机器数量 3 3 2 3 1
表10.2: 加工时间(单位:min)
普通机床 钻床 铣床 磨床 检测
5 5 4 4 6 产品1
4 4 3 4 3 产品2
4 5 3 4 1 产品3
表10.3:产品数量
总数(个) 每批量(个) 时间间隔(min)
1000 10 3 产品1
500 5 3 产品2
200 2 3 产品3
10.1.4概念模型
图10-1概念模型
10.2 建立Flexsim模型
双击桌面上的Flexsim图标打开软件,打开编辑界面。
第1步:模型实体设计
模型元素 系统元素 备注
不同实体类型代表不同类型的原料,分别标Flowitem 原料
为1、2、3
进行不同的参数定义以表征不同机器组中的Processor 机器
机器
Queue 机器组暂存区
Conveyor 传送带
Source 原材料库 原材料的始发处
Sink 成品库 原料加工后的最终去处
第2步:在模型中生成所有实体
同前面章节一样的,从左边的实体库中依次拖拽出所有实体(一个Source,5个Queue,12个Processor,一个Conveyor,一个Sink)放在右边模型视图中,调整至适当的位置,如图10-2所示:
图10-2 拖出所有实体
第3步:修改名称
为了更方便的读懂模型,我们通常会修改实体的名称,以符合实际情况。
鼠标左键双击最左边的暂存区,弹出实体属性的对话框,在最上方的名称栏里修改成相应的名称,如图10-3所示:
图10-3 改变名称
点击后确认修改。
对于其它需要修改的实体,我们也进行同样的操作,改成下图中对应的名称,以方便对模型的识别:
图10-4相应的加工名称图
第4步:连接端口
下一步是根据流动实体的路径来连接不同实体的端口。
按住键盘上的“A”键,与前面章节的操作一样,按上图中的箭头所指向依次连接各个实体。分别(注意方向)从Source连到GeneralQueue,GeneralQueue连到GeneralMachine1,GeneralQueue连到GeneralMachine2, GeneralQueue连到GeneralMachine3,GeneralMachine1连到DrillingQueue,GeneralMachine2连到DrillingQueue,GeneralMachine3连到DrillingQueue,DrillingQueue连到DrillingMachine1,DrillingQueue连到DrillingMachine2,DrillingQueue
连到DrillingMachine3,DrillingMachine1连到MillingQueue,DrillingMachine2连到MillingQueue,DrillingMachine3连到MillingQueue,MillingQueue连到MillingMachine1,MillingQueue连到MillingMachine2,MillingMachine1连到GrindingQueue,MillingMachine2连到GrindingQueue,GrindingQueue连到GrindingMachine1,GrindingQueue连到GrindingMachine2,GrindingQueue连到GrindingMachine3,GrindingMachine1连到TestingQueue,GrindingMachine2连到TestingQueue,GrindingMachine3连到TestingQueue,TestingQueue连到TestingMachine,TestingMachine连到Conveyor,Conveyor连到Sink。
完成后,如图10-5所示:
图10-5 连接好的模型
第1步:给Source指定临时实体流到达参数
在Source的设定里,需要让其循环产生3种类型的产品(即流动实体),共计1700个时停止。其中类型1产品1000个,每隔3min生产一批10个的;类型2产品500个,每隔3min生产一批5个;类型3产品200个,每隔3min生产一批2个。
双击Source,在弹出的属性窗口里,将“FlowItem Class”下拉菜单选择“Arrival Schedule”,把Number of arrivals后改成4,点击后会刷新出四栏Arrival,结合我们以前所学过的知识,我们应该修改后所示:如图10-6:
图10-6 调整产品到达信息
栏表示在0时刻生成10个类型1的产品,栏表示在10min时生产5个类型2的产品,栏表示在20min时生成2个类型3的产品,栏表示在30min时不生成0个类型1的产品(这是为了在循环产生产品时,不使
和后一批生成的时间重叠)
注意一定要把右边的选上勾,否则不会循环产生流动实体。
为了在仿真时更好的观察模型,我们给每种不同类型的产品设定一种不同的颜色。在的下拉菜单里,我们选择,如图10-7所示:
图10-7 选择Set Color by Itemtype
接下来我们设定当总共产生1700个产品时,Source自动停止生成产品。我们在栏的里,选择下拉菜单的选项,如图10-8所示:
图10-8 选择Close and Open Ports
然后点击右边的按钮,在弹出的小窗口里将浅色字体true改成getoutput(current)==1699(表示当前离开流动实体的前一个流动实体为第1699个),将closeinput改成closeoutput(关闭Source的输出口),如图10-9所示:
图10-9 设置关闭规则
点击相应的按钮后,我们就完成了对Source的设定。 第6步:给暂存区GeneralQueue设定参数
为使整个系统正常工作,所有的暂存区必须容纳足够多的产品,以不至于前一级加工完的产品因为没有地方可以存放而使得前一级的工作区不能正常工作。
总共需加工1700个产品,所以我们可以把所有的暂存区的容量都设为1700个,这样就不会发生阻塞了。
双击GeneralQueue,在弹出的属性窗口中把设置为1700,如图10-10所示:
图10-10调整容量为1700
点击ok按钮后确定设置。
用同样的操作设置其它几个暂存区DrillingQueue,MillingQueue,GrindingQueue,TestingQueue,把它们容量都改为1700个。
第7步:给普通车间处理器组设定参数
先说GeneralMachine组。其关键点在于加工时间的设定:类型1产品加工时间为5min,类型2产品加工时间为4min,类型3产品加工时间为4min。
双击GeneralMachine1,在弹出的窗口里的下拉菜单栏里选择
,如图10-11所示:
图10-11选择By Itemtype(indirect)
然后点击右边的,在弹出的窗口中修改浅色字体,设置不同产品加工时间,如图10-12所示:
图10-12 设置加工时间
即类型1加工时间为5min,类型2为4min,类型3为4min。
点击所有按钮后完成对GeneralMachine1的设置。
对GeneralMachine2和GeneralMachine3进行与上面完全一致的操作设置。
第8步:给钻床车间处理器组设定参数
先说DrillingMachine组。其关键点在于加工时间的设定:类型1产品加工时间为5min,类型2产品加工时间为4min,类型3产品加工时间为5min。
双击DrillingMachine1,在弹出的窗口里的下拉菜单栏里选择
,然后点击右边的,在弹出的窗口中修改浅色字体,设置不同产品加工时间,如图10-13所示:
图10-13 设置加工时间
点击所有按钮后完成对DrillingMachine1设置。
对DrillingMachine2和DrillingMachine3进行与上面完全一致的操作设置。
第9步:给铣床车间处理器组设定参数
先说MillingMachine组。其关键点在于加工时间的设定:类型1产品加工时间为4min,类型2产品加工时间为3min,类型3产品加工时间为3min。
双击MillingMachine1,在弹出的窗口里的下拉菜单栏里选择
,然后点击右边的,在弹出的窗口中修改浅色字体,设置不同产品加工时间,如图10-14所示:
图10-14 设置加工时间
点击所有按钮后完成对MillingMachine1设置。
对MillingMachine2进行与上面完全一致的操作设置。
第10步:给磨床车间处理器组设定参数
先说GrindingMachine组。其关键点在于加工时间的设定:类型1产品加工时间为4min,类型2产品加工时间为4min,类型3产品加工时间为4min。
双击GrindingMachine1,在弹出的窗口里的下拉菜单栏里选择
,然后点击右边的,在弹出的窗口中修改浅色字体,设置不同产品加工时间,如图10-15所示:
图10-15设置加工时间
点击所有按钮后完成对GrindingMachine1设置。
对GrindingMachine2和GrindingMachine3进行与上面完全一致的操作设置。
第11步:给测试车间处理器组设定参数
最后设置TestingMachine。其关键点在于加工时间的设定:类型1产品加
工时间为6min,类型2产品加工时间为3min,类型3产品加工时间为1min。
双击TestingMachine,在弹出的窗口里的下拉菜单栏里选择
,然后点击右边的,在弹出的窗口中修改浅色字体,设置不同产品加工时间,如图10-16所示:
图10-16设置加工时间
点击所有按钮后完成对TestingMachine设置。 第12步:设置模型停止时间
由于Flexsim的默认设置是不会自动停止模型的。而在本例中,是加工固定总数的产品;所以我们需要进行相应设置,使得在处理完所有产品后,模型自动停止。
本模型中,我们可以在传送带Conveyor处设置,使得第1700个产品离开传送带进入sink时,模型自动停止。
鼠标左键双击Conveyor,在弹出的属性窗口里选择栏,如图10-17:
图10-17打开Conveyor的Triggers栏
点击最后的其右边的,弹出其代码编辑窗口,加入如下语句“ if(getoutput(current)==1699 ) stop(); ”(即当Conveyor送走第1700个产品时,模型自动停止仿真),如图10-18所示:
图10-18 添加停止模型语句
点击相应后完成设定。
至此,一个完整的模型就全部建立好了。
10.3模型运行
第13步:编译
图10-19 主视窗上的运行控制按钮
按主视窗的 按钮。完成编译过程后就可以运行模型了。 第14步:重置模型
为了在运行模型前设置系统和模型参数的初始状态,总是要先点击主视窗底部的 键。
第15步:运行模型
按 按钮使模型运行起来。
仿真进行过程中,可以看到红、绿、蓝三种不同颜色的产品从系统中流过,经过不同机器组的加工,最后离开系统,如图10-20:
图10-20 仿真场景
第16步:加快仿真模型运行速度
如果我们只是关心仿真结果,而对仿真的过程不感兴趣,则我们可以加快仿真速度,迅速得到结果。
图10-21 仿真速度控制比例条
如图10-21,鼠标左键一直按住比例尺,移动到合适的比例位置,以便迅速得到结果。
10.4 运行结果及分析
本例中,我们希望通过改变三种产品的先后投产顺序(如先生产5个类型2的产品,再生产2个类型3的产品,最后生产10个类型1的产品),比较采用不同投产顺序对以下几个方面数值得影响:
生产时间
设备工作时间
产品加工完成后,在该设备等待时间
产品在该设备平均停留时间
每个设备的输入\输出产品数
当仿真运行自动结束后,我们打开Flexsim的工具栏里的Stats
目录
工贸企业有限空间作业目录特种设备作业人员作业种类与目录特种设备作业人员目录1类医疗器械目录高值医用耗材参考目录
下的Standard Report选项,如图10-22所示:
图10-22 打开标准
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
栏
我们通过来增加、以及来减少需要输出的报告内容,使得报告包含以上所列的5个部分的数据:idle是空闲时间,processing是工作时间,blocked是产品在设备等待时间,stats_staytimeavg是平均停留时间,stats_input是输入产品数,stats_output是输出产品数,设置完成后,如图10-23所示:
图10-23 增加或减少所需要生成的报告内容
点击后生成图10-24所示表格:
图10-24所生成的报告
从上表中我们可以很方便的看到总运行时间是7728min,以及各个设备的输入\输出产品数,处理时间等信息。
由上表可以发现,TestingQueue中等待加工的产品等待时间最长,我们可以认为这是整个加工系统的主要瓶颈,如果要提高整体产出率,那么首先需要添加TestingMachine机器组的机器。除了TestingMachine机器组,MillingQueue的平均等待时间很长,因此也是需要改善的。
10.5课后作业
1. 按照上面的步骤,改变1,2,3种类型产品的投产顺序,输出相应的仿真报告,对比各项相关数据,从中选出最佳方案。
2. 除了上面所说的主要瓶颈,其实系统还存在很多可以改善的地方,请指出还有哪些地方是有待改善的,理由是什么。
3. 适当添加工作组机器,找到一种比较完善的生产配备方案。
4. 采用Experimenter或者Optquest找到最优方案。