实验详细步骤.docx
《实验详细步骤.docx》由会员分享,可在线阅读,更多相关《实验详细步骤.docx(14页珍藏版)》请在冰点文库上搜索。
实验详细步骤
实验5配货系统仿真与分析
14.1建立概念模型
14.1.1系统描述
一个小型的发货商有10种产品运送给五个客户,每个客户有着不同的订单,这个发货商的10种产品都有很大的供货量,所以,当有订单来时,即可发货。
产品是放在托盘上输送出去的。
14.1.2系统数据
订单到达:
平均每小时产生10个订单,到达间隔时间服从指数分布。
产品到达:
产品拣选时间服从指数分布,根据订单确定每种产品的需求数量。
产品包装:
固定时间10秒。
14.1.3概念模型
14.2建立Flexsim模型
双击桌面上的Flexsim图标打开软件,你可以看到Flexsim菜单、工具条、实体库,和正投影模型视窗,如图14-1所示。
图14-1Flexsim软件界面
第1步:
模型实体设计
模型元素
系统元素
备注
TexturedColoredBox
货物
货物为同一类型,分别由Source2-Source10服从指数分配方式发送。
Pallet
托盘
不同的包装使用不同的托盘,共记5种,分别标记为1,2,3,4,5,由Source1分别在不同的时间段放出。
这里,我们用一个标有类型值的空托盘表示来自于一个顾客的订单。
Combiner
包装机
根据全局表进行包装。
Source
原材料库
产生托盘和货物。
Conveyor
传送带
运送包装好的货物。
Sink
成品库
货物包装后的最终去处
表14-1实体与系统元素的对应关系
第2步:
生成实体
从实体库中拖出(按住鼠标左键不放,拖至正投影模型视窗即可)11个Source(每个Source代表一类货物)实体,Combiner实体、Conveyor实体、Sink实体各1个,把各实体按照概念模型中的位置摆好,如图14-2所示。
图14-2生成所需实体对象
第3步:
连接端口
连接端口时,根据流程图,我们只需将Source与Combiner,Combiner与Conveyor,Conveyor与Sink之间使用A连接(按下A键不放,鼠标左键点击输入实体不放,拖至输出实体松开鼠标左键和A键即可。
若要取消A连接,则按下Q键不放,鼠标左键点击输入实体不放,拖至输出实体松开鼠标左键和Q键即可)进行连接即可,连接时注意输入输出顺序。
如图14-3所示:
图14-3实体的“A”端口连接
第4步:
设置连接线
端口连接完成后,我们为了使视图更加好看,同时也为了利于以后的建模,因此我们考虑将这些连接线设为不可见。
单击建模视窗左侧的菜单弹出按钮
,可以看到如图14-4的弹出菜单:
图14-4设置连接线属性视图
单击ShowConnections选项前的方框,除去其前的√,可以看到模型视窗中的连接线都不见了。
注意,这只是视觉效果,而实际上我们刚才所作的连接没有被消除,也就是说,各实体间的逻辑连接还是存在的。
如图14-5所示:
图14-5隐藏实体间的连接线
为了使界面更加清晰简洁,我们再去掉ShowNames选项前面的√,使得模型中各实体的名字属性等标签不显示出来。
如图14-6所示:
图14-6隐藏实体的名称属性等标签
第5步:
定义Source
在模型中,共有11个Source实体,第一个Source定义为产生托盘,其余10个Source产生待包装的十种货物。
托盘的到达时间固定的,每3600个单位时间产生10个托盘。
我们双击对应于托盘那个Source1实体,打开其参数视窗。
改变其ArrivalStyle的默认选项“Inter-ArrivalTime”,选择“ArrivalSchedule”,并将“FlowItemClass”选项的下拉列表中选择“Pallet”,将“NumberofArrivals”数值改为5,点击“RefreshArrival”按钮刷新列表,修改列表中的数值,如图14-7所示:
图14-7定义Source的ArrivalSchedule表
对于产生货物的Source2-Source10实体,我们采用默认设置。
第6步:
定义全局表
下面我们定义一个全局表。
首先,点击工具栏中的“ToolBox”按钮,打开“GlobalModelingTools”视图,在“GlobalTables”一项中点击“Add”按钮,系统为我们添加了一个名为“GlobalTable1”的全局表,如图14-8所示:
图14-8加入一个名为GlobalTable1的全局表
“GlobalTable1”就是我们要编辑的全局表。
我们单击“Edit”按钮,打开“GlobalTableParametersWindow”视图,如图14-9所示:
图14-9打开全局表的参数窗口
因为我们要建立一个10行5列的全局表,所以我们将“Rows”选项改为10,将“Columns”选项改为5,并将“Name”改为“Orders”,点击“Apply”更新表格,并添加数据如图14-10所示:
图14-10编辑全局表
编辑的过程中,我们可以随时点击Apply按钮来保存我们的编辑结果,防止发生意外而进行重复劳动。
编辑完成后,点击OK按钮保存并关闭视图
第7步:
定义Combiner
下面我们来设置Combiner实体。
我们双击Combiner实体,打开它的参数视图,如图14-11所示:
图14-11打开Combiner的参数窗口
然后我们点击名为“ProsserorTriggers”标签,如图14-12所示:
图14-12ProsserorTriggers标签视图
我们在“OnEntry”选项的下拉列表框中选择“UpdateComponentList”一项,如图14-13所示:
图14-13选择OnEntry触发的功能函数
点击OK确定设置即可。
对于Conveyor与Sink实体我们采用默认设置。
14.3模型运行
第8步:
设置Experimenter
我们模型的运行共分4个阶段,每个阶段3600个单位时间,连续进行,共记14400单位时间。
模型的运行总时间长度在Experimenter中设置。
单击界面右下方的
按钮,打开Experimenter窗口,将SimulationEndTime改为14400。
这里,我们只运行一次仿真,因此将仿真次数改为1。
如图14-14所示:
图14-14设置Experiment窗口
单击确定关闭窗口。
第9步:
编译、重置、运行模型
单击
按钮,对模型进行编译。
编译完成后,单击
按钮,重置模型。
最后单击
按钮,开始仿真。
我们看到在不同的阶段,托盘包装的货物个数是不同的,Combiner根据全局表来设定托盘包装的货物的个数,从不同的Source中获取不同数量的货物。
如图14-15所示:
图14-15模型的运行
当仿真运行到14400单位时间的时候,自动停止。
现在已经完成了建模过程。
来看一看这个模型产生的一些统计数字。
下面您就可以根据以前学习的内容来分析数据了。