12 垃圾回收场仿真与分析.docx
- 文档编号:29248854
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:28
- 大小:1.20MB
12 垃圾回收场仿真与分析.docx
《12 垃圾回收场仿真与分析.docx》由会员分享,可在线阅读,更多相关《12 垃圾回收场仿真与分析.docx(28页珍藏版)》请在冰豆网上搜索。
12垃圾回收场仿真与分析
第十二章垃圾回收场仿真与分析
12.1建立概念模型
12.1.1系统描述
近几十年来,由于人类的滥砍、滥伐,无情的破坏我们的大自然,地球上能用的资产和能源逐渐地减少,环保团体发现如果我们不再注重保护环境,终有一天我们会失去地球这个美好的家园。
所以近年来,环保团体大力的提倡垃圾回收,位于某地的一家垃圾回收站,把回收来的资源分成铁铝罐、保特瓶和塑胶三大类后存储起来。
下面这个模型就是对该资源回收站的仿真。
12.1.2系统数据
垃圾到达的时间间隔服从均值为15,标准差为3的正态分布;
分拣垃圾的时间间隔服从最大值为7的的指数分布;
储存垃圾的容器容积各为500单位;
垃圾经过分类处理后需要起重机和叉车运送到储存容器。
12.1.3概念模型
12.2建立Flexsim模型
第1步:
模型实体设计
模型元素
系统元素
备注
Flowitem
回收到的垃圾
Source
产生垃圾
Queue
垃圾暂存区
Separator
垃圾分拣装置
将回收到的垃圾分拣后输出
Conveyor
传送设备
FlowNode
传送设备
Reservoir
垃圾存储容器
Rack
垃圾存储容器
Crane
垃圾搬运设备
Transporter
垃圾搬运设备
第2步:
在模型中加入Source(发生器)
从库中拖入一个Source到模型中。
右键点击该实体,选择Properties(属性),如图12-1所示:
图12-1右键点击Source后的弹出菜单
在弹出的属性页中选择Visual项目,改变Position,Rotation,andSize中的RZ(绕Z轴方向旋转的角度)为45,使Processor偏转45度角放置。
如图12-2所示:
图12-2实体属性菜单中的实体位置、转角和尺寸编辑
点击Apply和OK保存设置。
更改后布局图如图12-3所示:
图12-3调整Source角度后的布局图
说明:
所有固定实体资源都可以通过这种操作来改变摆放的角度,故本章后面的类似实体摆放将不再截图描述操作细节。
第3步:
在模型中加入Queue和Separator
从库中拖放一个Queue和一个Separator到模型中。
如图摆放它们的角度和位置。
其中Queue和Separator的摆放角度(RZ值)都为45度。
如图12-4所示:
图12-4调整实体角度后的布局图
第4步:
在模型中加入Conveyor(传送带)
拖放两条Conveyor到模型中。
如图12-5所示:
图12-5加入Conveyor后的布局图
更改Conveyor的摆放角度和布局。
先改变Conveyor属性页中的RZ值为-45度,如图12-6所示:
图12-6改变Conveyor角度后的布局图
双击Conveyor打开参数页,点选Layout项目。
更改section1中得length数值为5;
点击AddCurved添加一段弯曲得传送带,设置其radius为3。
如图12-7所示:
图12-7Conveyor布局编辑窗口
点击Apply和OK保存并关闭窗口。
同样对另一条Conveyor也做布局上得改变。
更改section1中得length数值为5;
点击AddCurved添加一段弯曲得传送带,设置其radius为3。
如图12-8所示:
图12-8改变Conveyor角度和布局后的布局图
第5步:
在模型中加入FlowNode(流节点)
在库中得下拉菜单中选择FixedResources。
然后从库中拖入三个FlowNode到模型中,按照图12-9所示位置摆放。
图12-9加入FlowNode后的布局图
第6步:
在模型中加入Queue和Reservoir(储液罐)
从库中拖入三个Queue和两个Reservoir到模型中,如图进行摆放。
其中Reservoir可以在库中得FixedResources中找到。
如图12-10所示:
图12-10加入Queue和Reservoir后的布局图
第7步:
在模型中加入Rack(货架)
从库中拖入一个Rack到模型,并调整其摆放得角度(RZ为90度)。
如图12-11所示:
图12-11加入Rack后的布局图
第8步:
在模型中加入Crane(起重机)、Transporter(叉车)和Operator(操作员)
从库中拖入Crane、Transporter和Operator到模型中,如图12-12所示摆放。
其中Crane在实体库的MobileResources中可以找到。
图12-12加入Crane、Transporter和Operator后的布局图
第9步:
连接端口
根据模型回收分类的顺序,先对固定实体进行连接(注意A连接是有方向的)。
A连接的次序依次是:
Source连接第一个Queue,Queue连接Separator,Separator同时连接到两条Conveyor和第一个FlowNode上,3个FlowNode依次连接最后连到一个Queue上,两条Conveyor分别连接两个Queue,上面的两个Queue再分别连接到两个Reservoir上,最下面的Queue连接到Rack上。
然后进行S连接:
将Operator连接Source后面的Queue,将Crane连接三个Queue中的上面两个,最后将Transporter连到最下面一个Queue。
最后布局图如图12-13所示:
图12-13连接好端口后的布局图
第10步:
Source参数设置
双击Source打开属性设置页。
选择Source项目下的Inter-Arrivaltime中的NormalDistribution。
如图12-14所示:
图12-14Source属性菜单中的Inter-Arrivaltime下拉菜单
点击Inter-Arrivaltime下拉菜单后的参数编辑按钮
进行指令参数设置:
在弹出页中对参数做如下更改(粗体为改动部分):
“ANormaldistributionwithmeanof15andstandarddeviationof3usingrandomnumberstream1”。
如图12-15所示:
这个指令表示Source产生实体的时间间隔服从均值为15,标准差为3的正态分布。
图12-15NormalDistribution的参数编辑页
不要忘记点击OK对修改进行保存。
接下来要对产生流动实体的颜色进行修改。
点选参数页中的SourceTriggers项目,在OnExit下拉菜单中选择SetColor。
如图12-16所示:
图12-16OnExit触发的下拉菜单
点击OnExit下拉菜单后的参数编辑按钮
进行指令参数设置:
在弹出页中对参数做如下更改(粗体为改动部分):
“Assignitemthecolor:
colorblue”
这个指令表示Source产生实体时给每个实体一种颜色blue(蓝色)。
如图12-17所示:
图12-17SetColor指令的参数编辑页
设定好后保存退出。
第11步:
Queue参数设置
双击打开一个Queue的参数设置页,点选Flow项目,在UseTransport前面点击打勾,表示需要操作员对流动实体进行搬运。
如图12-18所示:
图12-18Queue的参数编辑页
说明:
因为这个模型中的四个Queue都用到了Operator、Crane或者Transporter,所以对它们都需要进行同样的设置。
第12步:
Separator参数设置
双击打开Separator参数设置页。
在ProcessTimes项目下的ProcessTime下拉菜单中选择ExponentialDistribution(指数分布)。
如图12-19所示:
图12-19Separator的ProcessTime下拉菜单
点击ProcessTime下拉菜单后面的参数编辑按钮
进行指令参数设置:
在弹出页中对参数做如下更改(粗体为改动部分):
“AnExponentialdistributionwithlocationvalueof0andscalevalueof7usingrandomnumberstream1”如图12-20所示:
这个指令表示Separator处理实体的时间间隔服从最大值为7的的指数分布。
图12-20ExponentialDistribution的参数编辑页
点击Separator项目,点选Split(分解),在SplitorUnpackQuantity下拉菜单中选择SpecificNumber。
如图12-21所示:
图12-21Separator的SpitorUnpackQuantity下拉菜单
点击SplitorUnpackQuantity下拉菜单后面的参数编辑按钮
进行指令参数设置:
在弹出页中对参数做如下更改(粗体为改动部分):
“Split(orUnpack)quantityof3。
”如图12-22所示:
图12-22SpecificNumber指令的参数编辑页
这个指令表示Separator将把实体分解为三份输出。
保存退出。
第13步:
Conveyor参数设置
双击上面第一条Conveyor,打开参数页。
点选Triggers项目,在OnExit下拉菜单中选择SetColor。
如图12-23所示:
图12-23Conveyor参数设置页的OnExit触发下拉菜单
点击OnExit下拉菜单后面的参数编辑按钮
进行指令参数设置:
在弹出页中对参数做如下更改(粗体为改动部分):
“Assignitemthecolor:
colorgreen”如图12-24所示:
这个指令表示Conveyor在把实体送走的时候随机触发动作将实体染为绿色。
图12-24SetColor指令的参数编辑页
保存退出。
用同样的方法让下面的一条Conveyor在把实体送走的时候随机触发动作将实体染为黄色(即修改SetColor指令为coloryellow)
第14步:
Reservoir参数设置
双击一个Reservoir打开参数设置页。
在Reservoir项目下将MaximumContent改为500。
这个指令表示Reservoir的最大容量为500个。
同样对另外一个Reservoir也做同样的设置,使其最大容量为500个。
如图12-25所示:
图12-25Reservoir参数编辑页
第15步:
Rack参数设置
双击打开Rack参数设置页。
改变Rack项目下的MaximumContent为500。
指令表示Rack的最大容量为500个。
如图12-26所示:
图12-26Rack参数编辑页
第16步:
加入和设定Recorder(记5录器)
我们要使用3个Recorder对Separator工作时的状态和信息进行动态显示。
从库中拖入3个Recorder,如图12-27所示进行摆放。
图12-27加入3个Recorder后的布局图
首先双击模型上部左边的Recorder,打开编辑窗口,如图12-28所示:
图12-28Recorder的参数编辑页
单击DataCaptureSettings(数据收集设置)选项,弹出编辑框如图:
在TypeofData下拉菜单中选择StandardData(标准数据)。
如图12-29所示:
图12-29DataCaptureSettings参数编辑页
选择StandardData后编辑窗口会对应显示出两个下拉菜单。
在ObjectName下拉菜单中选择Separator#(#代表你自己模型中的数字),表示该Recorder要记录的是Separator#的数据。
如图12-30所示:
图12-30StandardData参数编辑页
在Datatocapture下拉菜单中选择Staytime(停留时间),表示该Recorder要显示的是Separator#的停留时间。
如图12-31所示:
图12-31StandardData参数编辑页
设置完毕后,然后单击Next,回到初始编辑窗口。
单击DisplayOptions(显示选项)。
在弹出的编辑窗口中的GraphTitle中填入:
SeparatorStaytime。
这个操作添加了Recorder的名称。
设置完成后点击Done完成设置。
如图12-32所示:
图12-32DisplayOptions参数编辑页
最后保存退出。
再对该Recorder外观进行设置。
右键单击它点击properties打开属性编辑页。
在Visual项目下的Color选项中,点击
,在弹出的颜色选择框中选择一种颜色作为该Recorder的背景颜色,这里我们选择橙色。
如图12-33所示:
图12-33Recorder属性编辑页
再将RX值改为90,将Recorder绕X轴转90度;将Z值改为3.00(即SY值的1/2),使Recorder在Z轴方向提高3个单位,与其它实体处于同一个水平面。
如图12-34所示:
图12-34Recorder属性页中编辑实体的位置、转角和尺寸
保存退出。
得到的模型图如图12-35所示:
图12-35编辑完第一个Recorder后的布局图
再对模型上部右侧的Recorder进行设置。
用和设置前面的Recorder同样的步骤。
在DataCaptureSettings中,进行如下设置:
TypeofData:
StandardData;
ObjectName:
Separator#(#号代表你自己模型中Separator的编号);
Datatocapture:
Content(容量)。
设置完后如图12-36所示:
图12-36DataCaptureSettings参数编辑页
单击Next。
同样单击DisplayOptions(显示选项)。
在弹出的编辑窗口中的GraphTitle中填入:
SeparatorContent。
如图12-37所示:
图12-37DisplayOptions参数编辑页
点击Done保存退出。
然后设置该Recorder的属性。
在其属性编辑窗口中进行如下设置:
Z值改为3;RX值改为90;SX值改为6。
如图12-38所示:
图12-38Recorder属性页中编辑实体的位置、转角和尺寸
保存退出,得到的模型图如图12-39所示:
图12-39编辑完第二个Recorder后的布局图
最后对模型下部的Recorder进行设置。
用和设置前面的Recorder同样的步骤,在DataCaptureSettings中,进行如下设置。
TypeofData:
StandardData;
ObjectName:
Separator#(#号代表你自己模型中Separator的编号);
Datatocapture:
State(状态)
设置完后如图12-40所示:
图12-40DataCaptureSettings参数编辑页
单击Next。
同样单击DisplayOptions(显示选项)。
在弹出的编辑窗口中的GraphTitle中填入:
SeparatorState。
设置完后如图12-41所示:
图12-41DisplayOptions参数编辑页
点击Done保存退出。
然后设置该Recorder的属性。
在其属性编辑窗口中进行如下设置:
将Color设置为淡黄色;
将SX值设置为8.00;
将SY值设置为8.00。
如设置完后如图12-42所示:
图12-42Recorder属性编辑页
最后得到的模型图如图12-43所示:
图12-43编辑完所有Recorder后的布局图
第17步:
打开数据记录开关
点击菜单栏中的Stats,在StatsCollecting的弹出菜单中点击AllObjectsOn,这时可以在模型中看到所有实体都有被绿色框选中,这个操作相当于打开了数据收集开关;再点击StatsCollecting弹出菜单中的HideGreenIndicatorBoxes,隐藏绿色选框。
操作设置完后如图12-44所示:
图12-44菜单栏中的Stats下拉菜单
12.3模型运行
第18步:
编译
到此,我们可以对模型进行编译和运行了。
单击主视窗底部的
按钮。
编译过程完成后,就可以进行模型的重置和运行了。
第19步:
重置模型
单击主视窗左下角
按钮。
重置模型可以保证所有系统变量都是初始值,并将模型中所有流动实体清除。
第20步:
运行模型
单击主视窗底部
按钮。
可以看到模型开始运行,流动实体从Source发出,经过Queue短暂存储后进入Separator分解为三份再通过三条路径到达三个临时存储实体的Queue,然后通过Crane或者Transporter送到Reservoir和Rack。
同时可以看到Recorder对Staytime、Content和State三个数据进行动态展示。
如图12-45所示:
图12-45运行中的模型截图
要停止运行,可随时按
按钮。
后面你将学到如何按特定时间长度和特定重复次数来运行模型。
当模型定义中用到随机分布时,多次运行模型是很重要的。
要加快或减慢模型运行速度,可左右移动视窗底部的运行速度滑动条。
图12-46模型运行速度控制栏
移动此滑动条能改变仿真时间与真实时间的比率,它完全不会影响模型运行的结果。
12.4数据分析
让模型运行一段时间,可以从模型图中直观的看出该模型的瓶颈所在。
由于Crane的工作效率比较慢,导致传送带发生了堆积,并影响倒Separator的效率,所以要优化这个系统,我们可以考虑提高Crane的速度,或者增加更多的Transporter来改善这种情况;同时在Reservoir和Rack存储满(500个)之后也会出现堆积和系统停滞,可以考虑增加存储设施或者输出设施(比如增加一个Sink)来解决这个问题。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 12 垃圾回收场仿真与分析 垃圾 回收 仿真 分析