生产系统建模与仿真.docx
《生产系统建模与仿真.docx》由会员分享,可在线阅读,更多相关《生产系统建模与仿真.docx(22页珍藏版)》请在冰豆网上搜索。
生产系统建模与仿真
生产系统建模与仿真
实验报告
实验一Witness仿真软件认识
一、实验目的
1、学习、掌握Witness仿真软件的主要功能与使用方法;
2、学习生产系统的建模与仿真方法。
二、实验内容
学习、掌握Witness仿真软件的主要功能与使用方法
三、实验报告要求
1、写出实验目的:
2、写出简要实验步骤;
四、主要仪器、设备
1、计算机(满足Witness仿真软件的配置要求)
2、Witness工业物流仿真软件。
五、实验计划与安排
计划学时4学时
六、实验方法及步骤
实验目的:
1、对Witness的简单操作进行了解、熟悉,能够做到基本的操作,并能够进行简单的基础建模。
2、进一步了解Witness的建模与仿真过程。
实验步骤:
Witness仿真软件是由英国lanner公司推出的功能强大的仿真软件系统。
它可以用于离散事件系统的仿真,同时又可以用于连续流体(如液压、化工、水力)系统的仿真。
目前已成功运用于国际数千家知名企业的解决方案项目,有机场设施布局优化、机场物流规划、电气公司的流程改善、化学公司的供应链物流系统规划、工厂布局优化和分销物流系统规划等。
◆Witness的安装与启动:
Ø安装环境:
推荐P41.5G以上、内存512MB及以上、独立显卡64M以上显存,Windows98、Windows2000、WindowsNT以及WindowsXP的操作系统支持。
Ø安装步骤:
⑴将Witness2004系统光盘放入CD-ROM中,启动安装程序;⑵选择语言(English);⑶选择Manufacturing或Service;⑷选择授权方式(如加密狗方式)。
Ø启动:
按一般程序启动方式就可启动Witness2004,启动过程中需要输入许可证号。
◆Witness2004的用户界面:
Ø
系统主界面:
正常启动Witness系统后,进入的主界面如下图所示:
主界面中的标题栏、菜单栏、工具栏状态栏等的基本操作与一般可视化界面操作大体上一致。
这里重点提示元素选择窗口、用户元素窗口以及系统布局区。
Ø元素列表窗口:
共有五项内容,分类显示模型中已经建立和可以定义的模型元素。
Simulation中显示当前建立的模型中的所有元素列表;Designer中显示当前DesignerElements中的所有元素列表;System中显示系默认的特殊地点;Type中显示Witness系统中可定义的所有元素类型;SystemFunction中显示Witness系统中可以定义的所有函数类型。
Ø用户元素窗口:
系统提供的默认用户元素窗口中提供了各种元素的可视化效果的定义,不过在建模过程中,当这些缺省的设置不能很好的表示实际系统时,用户可以在该窗口定义自己的相关元素的名称、可视效果等,保存以便日后使用。
定义方法可以鼠标右击页框标题,将出现弹出式菜单,其中可以添加、重命名、删
除、加载原有设计元素组等项目。
向页框中添加自定义元素的步骤一般分为Define、Display、Detail三步。
自定义元素设定完毕后,需要保存成*.des文件,通过菜单File/saveAs,然后选定文件类型为DesignerElementFiles(*.des),输入文件名即可。
Ø系统布局区:
也叫系统布局窗口,在布局窗口中,设置实际系统构成元素的可视化效果以及它们的二维相对位置,可以清楚的显示实际系统的平面布局图。
Witness一共提供了八个窗口,可以通过这些窗口,使提仿真项目以不同的角度显示其可视化效果。
对系统布局窗口的设置主要有三项内容:
添加元素、设置窗口名称及窗口背景色。
如何添加元素在实验步骤中介绍。
设置窗口名称及窗口背景色可以通过菜单Window/Control…,如下图所示。
◆Witness建模元素:
现实商务或事物系统总是有一系列相互关联的部分组成的,如制造系统中的原材料、机器设备、仓库、运输工具、人员、加工路线等,服务系统中的顾客、服务台、服务路线等。
Witness软件使用与现实系统相同的事物组成相应的模型,通过运行一定的时间来模拟系统的绩效。
模型中的每个部件被称为“元素(Element)”。
该仿真软件共有五类元素来构建现实系统的仿真模型:
Ø离散型元素:
它是为了表示所要研究的现实系统中可以看得见的、可以计量个数的物体,一般用来构建制造系统和服务系统等。
主要包括:
Ø零部件(Part):
可以代表在其它离散型元素间移动的任何事物。
零部件
进入模型有两种方式:
一是被动式,即被动地等其它元素来取;二是主动式,即零部件主动地以固定时间间隔、不规则的时间间隔、随机的时间间隔等形式进入模型。
✧机器(Machine):
机器是获取、处理零部件并将其送往目的地的离散型元素,如一台车床、一个机场登记服务台、一个机器人焊接工等。
有7种机器来建立不同类型处理过程的模型:
⑴单处理机(single),一次处理一个零部件;⑵批处理机(batch),一次处理多个零部件;⑶装配机(assembly),将多个零部件组装成一个组件输出;⑷生产机(production),一个零部件输入后产生多个输出;⑸通用机(general),输入一批零部件,输出的是相同数目或不同数目的一批零部件;⑹多周期处理机(multiplecycle),模拟机器衽的是经过许多独立的处理周期来完成一次操作;⑺多工作站机(multiplestation),它有多个不同的部件加工位置,每个部件将依次通过每一个工作站,完成一系列的工序。
✧输送链(Conveyor):
是实现带传送和滚轴传送的离散元素,在设计输送链时,可以对它的长度、最大容量、部件移动每单位长度所需的时间等项进行设定。
它有固定式和队列式两种。
固定式(Fixed),保持其上面零部件间距不变的输送链;队列式(Queuing),这种输送链允许部件累积,假如该输送链上的部件被阻塞,部件仍不断滑向一起,直到这个输送链被塞满。
✧缓冲区(Buffer):
用于存入零部件的被动型元素,它既不能主动获取零部件,也不能主动送出零部件。
一般是将缓冲区与机器相结合,成为机器的输入或输出缓冲区。
✧车辆(Vehicle),用来将一个或多个零部件从一个地点运送到另一个地点,如卡车,起重机、铲车等。
车辆必须沿着轨道(Track)行动。
✧轨道(Track),一种代表车辆运输部件时所遵寻的路径。
轨道是单向的,车辆在“尾部(rear)”进入并向“前部(front)”运动。
✧劳动者(Labor):
劳动者是代表资源,负责对其它元素进行处理、装配、修理或清洁的离散型元素,如机器人,工具等。
可以对模型中的劳动者设置班次,用不同的工作方式,休息和加班时期来进行试验。
劳动者具有使用优先权。
✧路径(Parth),是设定零部件和劳动者(或其它资源)从一个元素到达另一个元素的移动路线的离散型,在模型中用它来代表现实系统中行程的长度和实际路线。
✧模块(Module),根据模型设计和分析的需要将模型中其它一些元素集合在一起,形成一个模块。
Ø连续型元素:
用来表示加工或服务对象是流体的系统,如化工、饮料等。
主要包括:
流体(Fluid);管道(Pipe);处理器(Processor);容器(Tank)。
Ø运输逻辑型元素:
主要用于建立物料运输系统,包括:
✧运输网络(Network):
由一系列的路线,工作站和单件运输小车组合在一起构成。
分为自动提供能量和路线集提供能量两种类型。
使用运输网络必须注意两点,一是在同一个网络中,只能使用路线集,工作站和单件运输小车;二是网络所应用的类型和班次也被应用于所有配置在该网络中的路线集,单件运输小车和工作站。
单件运输小车(Carriers):
单件运输小车沿线集或工作站来运输部件,它的运输方式取决于网络的类型。
使用单件运输小车应注意七点:
一是每个小车的搬运量只能是一个部件;二是小车可以从一个网络移动到另一个网络;三是可以在每个网络中使用多个类型的单件运输小车;四是小车只有在路线集提供能量的网络中才能跨越式运动;五是一个单件运输小车的入口规则支持“PUSH,PERCENT和SEQUENCE”输出规则;六是可以把一个小车从一个模块推到另一个模块;七是当定义一个小车的时候,必须把它配置到网络中去(注:
WITNESS只有在模型运行时才去检查这一点)。
✧路线集(Section):
是一种代表单件运输上车所走路径的提供动力的单体要素。
在模型中,路线集是网络的组成部分。
✧工作站(Station):
是代表一个点的提供动力的单体要素,该点在路线集的起始或末尾,在这个点上,可以对单件运输小车或者其里面的部件实施操作。
共有四种类型的工作站:
基站(Basic)、装载站(Loading)、卸载站(Unloading)、停泊站(Parking)。
Ø逻辑元素:
逻辑元素用来处理数据、定制报表、建立复杂结构的元素,通过这些可以提高模型的质量和实现对具有复杂结构的系统的建模。
主要包括:
✧属性(Attribute):
属性是反映单个部件、劳动者或者单件运输小车特性的元素。
可以在仿真过程中改变属性的值,属性的值可以变量也可以常数。
✧变量(Variable):
变量的的数据类型有整型、实数型、名型和字符型四种。
WITNESS中系统变量、全局变量和局部变量三种类型。
✧分布(Distribution):
用来代表从“现实世界”搜集的数据在模型中具有规律的变化。
在建立模型时,既可以根据自己搜集的数据情况采用自定义分布,也可以采用WITNESS提供的最适当的标准分布。
✧函数(Function):
函数元素是能返回有关模型状态的信息或者使得模型显得更具有真实性的一组命令集合。
WITNESS提供了大量能直接使用的函数,同时也能创建自己的函数。
✧文件(File):
它是可以使我们从仿真模型外部将数值输入模型(从一个“READ”型文件)或从模型中输出值(到一个“WRITE”型文件)的一个元素。
如,我们能从其它软件生成的文件读入如周期时间这样的值,或者生成适当的报告。
✧零部件文件(Partfile):
“READ”型零部件文件是从外部数据文件读入零部件清单到模型中去的一个逻辑元素。
“WRITE”型零部件文件是将零部件清单写入外部文件的逻辑元素。
零部件文件可用于从一个模型中生成输出,然后将其用于另一个模型中。
零部件文件对于追溯零部件离开仿真的确切时间和零部件在那时的属性值也是很有用的。
使用零部件文件必须注意两点:
一是不要在一个不要在一个仿真运行时对同一个文件进行读和写的操作。
二是假如有两个模型在仿真运行,应该保证它们不对同一个文件进行写入操作,但是从同一个文件中读出是可行的。
✧班次(Shift):
是一个能用来创建一个班次模式或一系列班次模式的逻辑元素,它作用于一连串的工作和非工作时期。
其它元素仿真班次工作时可以引用班次模式。
Ø图形元素:
图形元素可以将模型的运行绩效指标在仿真窗口动态的表现出来。
主要包括:
Ø时间序列图(Timeseries):
时间序列图是以图形方式来画出仿真随时间变化的值,从而表现仿真结果的图形元素。
垂直的Y轴代表值,水平的X轴代表时间。
✧饼状图(Piechart):
饼状图用来在仿真窗口表示仿真结果,显示如何使用一个或一组元素的图形元素。
例如,我们可以用一个饼状图来分块表示一个给定时段的空闲时间,装配时间和工作时间。
✧直方图(Histogram):
直方图是一种在仿真窗口用竖条式的图形来表示仿真结果的图形元素。
在模型中适当的地方我们可以用“record”、“drawbar”、“addbar”行为在直方图中记下值。
◆Witness中的规则:
我们一旦在模型中创建了元素,就必须说明零部件,流体,车辆和单件运输小车在它们之间是怎样流动以及劳动者是怎样分配的,这就要用到规则。
WITNESS共有三类不同的规则:
Ø输入规则(inputrules):
指零部件进入系统或进入某个模型元素的规则。
如是主动进入还是被动拉入。
设置输入规则有两种方式:
一是通过元素细节(detail)对话框中的“FROM”按钮;二是通过Element工具栏上的“VisualInputRules”
图标,弹出如下所示的输入规则对话框,然后进行输入规则的设定:
Ø输出规则(outputrules):
输出规则用于设定当前元素中的零部件、流体、车辆和单件运输小车输出的目的地和数量以及输出方式。
输出规则的设定方式与输入规则在致相同。
Ø劳动者规则(laborrules):
用于详细说明实体元素为完成任务所需要的劳动者类型和数量。
有三种劳动者规则:
一是NONE规则,表示该元素不需要劳动者;二是MATCH规则,用来为某个元素完成的任务按给定规则匹配所需的劳动者。
三是WAIT规则,定义一个元素如何等待。
◆WITNESS的建模与仿真过程:
(1)定义系统元素:
可以通过在布置窗口中点鼠标右键,选定快捷菜单中的“define”菜单项,来定义模型基本元素的名称、类型、数量;
(2)显示系统元素:
在定义了元素的
基础上,要定义元素在各种状态下的现实图形。
本步骤可以通过右击要定义显示特征的元素,通过选定弹出式菜单中的“display”菜单项,来进行设定。
各种元素的平面布置可以在witness的布置窗口中设定,也可以通过导入被仿真系统设施布置图的.dwg文件来设定。
(3)详细定义:
本步骤详细定义模型基本元素工作参数以及各元素之间的逻辑关系,如系统结构、被加工对象在各台机器上的加工时间分布、加工对象的工艺路线、以及其他规则等。
可以双击鼠标左键,通过弹出的“detail”对话框来设定。
(4)运行:
通过试运行和修改模型,重复前三步得到正确的计算机仿真模型之后,对系统进行一定时间范围的运行,并在屏幕上动画显示系统运行的过程,运行方式可以是单步的、连续的和设定时间的。
本步骤通过witness提供的“run”工具栏来进行操作。
(5)报告:
系统运行一段时间后,显示系统中各元素的运行状态统计报告。
通过该报告,可以分析系统中可能存在的各种问题;或通过某项指标,来比较可选方案的优缺点。
如机器的利用率、产品的通过时间、在制品库存等。
该操作通过使用“reporting”工具栏来实现。
(6)归档:
witness还提供了归档“documentor”模块,可以让我们提取计算机模型的各种信息,生成word文档或直接打印出来。
主要是生产报告模块没有包含的有关元素的说明型文字、规则、活动、中断和基本信息。
(7)优化:
witness还提供了系统优化“optimizer”模块。
如果一个系统的绩效将因为其构成元素的配置不同,而得到不同的结果,并不需要建立多种配置的计算机模型。
我们可以直接使用同一个计算机模型,然后通过“optimizer”模块来设定每一元素的可变属性值的取值范围,得到一个取值范围集合,并设定表示绩效的目标函数是取最大值还是最小值,进行优化仿真运行,就可以得到前n个最优绩效的系统配置(n可自行设定)。
实验二生产物流仿真系统设计
一、实验目的
1、学习、掌握Witness仿真软件的主要功能与使用方法;
2、进一步颔会生产系统的组成与功能;
3、学习生产系统的建模与仿真方法。
二、实验内容
运用WITNESS仿真软件平台建立一个家具组件LEG的从原料TIMER到最终产品的简单生产流程系统的仿真模型。
该模型由锯、磨、检验、车削、油漆等主要加工工序并辅之以原料库、皮带式输送链以及中间缓冲器等组成。
模型的总体布局如下图所示。
通过该模型的运行,来仿真该家具组件LEG的生产过程。
LEG的生产流程为:
原料TIMER按照一定的时间间隔以3个为批量主动进入系统,存入缓冲器STOCK中,锯床将TIMER加工成半成品的LEG后送入皮带输送链BeltConveyor,两台磨沙机Sander进行磨沙加工,经过缓冲器Table进入检验inspection工序,检验不合格品又返回磨沙工序。
合格品进入CoatingTank处理后,进入车床(两台)车削加工后进入最后一道工序上油漆Vanisher,成为成品,被送出系统。
三、实验报告要求
1、写出实验目的;
2、写出简要实验步骤;
3、完成运行模型与统计分析步骤的相应问题。
四、主要仪器、设备
1、计算机(满足Witness仿真软件的配置要求)
2、Witness工业物流仿真软件。
五、实验计划与安排
计划学时6学时
六、实验方法及步骤
实验目的:
通过运用WITNESS仿真软件平台建立一个家具组件LEG,进一步对Witness工业物流仿真软件进行更一步了解和熟悉。
实验步骤:
●第一步:
启动WITNESS软件系统,打开给定的空模型文件;(由于WITNESS教学版软件新建模型时无法导入新的模型元素库,故利用其它已有导入元素库的空模型文件来建立新的仿真模型)
●第二步:
定义模型元素
◆定义原料库stock元素:
✓右击模型布局区,选择define,打开模型元素定义窗口:
✓
✓选择元素类型为buffer;数量为1;
✓输入元素名称stock;
✓点击create按钮,在元素选择区的simulation下就会添加上stock模型元素;
◆运用以上相同的方法,添加如下模型元素:
✓machine:
saw、sanders
(2)、inspection、lathes
(2)、varnisher;
✓buffer:
table、rework、CoatingTank;
✓conveyor:
BeltConveyor;
✓labor:
operator;
✓part:
timber、leg;
●第三步:
可视化模型元素
◆绘制背景图形:
✓点开左边元素选择区中system项,右击BACKDROP,选择display,打开backdrop的displayedit窗口:
✓
✓选择draw模式,选择绘制矩形图形rectangle,点击铅笔按钮,打开图形绘制窗口如下:
✓
✓选择边框线和内部填充均为黑色,点击multipledraw按钮;
✓在布局区内绘制四个矩形,并按前面的总体布局图示布置。
◆可视化stock元素:
✓右击元素选择区中的stock元素,选择display,打开displayedit窗口;
✓选择draw模式,选择icon项,点击铅笔按钮,打开图标绘制窗口;
✓选择stock的显示图标ICON号为217,显示倍数为1,点击draw按钮;
✓参照总体布局图,在布局区中适当位置点击鼠标,即绘出stock元素的图标(在displayedit窗口打开的情况下,点击选中任何一个图标,移动鼠标呈双箭头形时,按住control键和鼠标左键,可以拖放改变元素图形的大小)。
✓运用类似的方法和步骤,绘制stock元素的名称name;
✓在displayedit窗口选择partqueue项,点击draw按钮,打开紧后所示的窗口;
✓选择零件timber在stock中的放置类型queuetype为queue;
✓排列方向为自下往上即选择down;
✓显示的前景颜色foreground为黄色;
✓示大小displaysize:
3;
✓完成上述选择操作后,点击draw按钮;
✓点击stock图形中的适当位置,即绘出零件在stock中的排列。
✓
◆运用可视化stock相同的方法和步骤,进行其它元素的可视化如下:
✓saw:
元素图标icon=222、size=x1;状态显示icon=238且将color勾上showstatus;partqueue为queue、left、size3;以及laborqueue。
✓BeltConveyor:
icon=236、x8;partqueue为queue、right;
✓Sanders:
icon=240、x1;状态icon=238、x1、showstatus;partqueue=queue、left、x1;laborqueue=queue、up、x8;
✓Table:
icon=227、x1;queue=queue、down、x3;
✓Inspection:
icon=227、x1;状态icon=238、x1、showstatus;partqueue=queue、right、x8;laborqueue=queue、up、x8;
✓Rework:
与stock相同;
✓CoatingTank:
icon=229、x4;partqueue=queue、left、x1;状态icon=238、x1、showstatus;
✓Lathes:
icon=232、x2;状态icon=238、x1、showstatus;partqueue=queue、left、x2;
✓Varnisher:
icon=233、x4;partqueue=queue、left、x3;inputbuffer=queue、down、x2;
✓Operator:
idle=queue、up、x8;
✓Timber:
style=icon、icon=241;
✓Leg:
style=icon、icon=240;
◆对上述所有元素可视的同时或可视化后,要参照实验模型的总体布局移动或安排各模型元素的位置(在displayedit窗口打开的情况下,可以鼠标拖动模型元素,在displayedit窗口中的锁形图标为打开时,还可分别移动一个元素的各个显示部分)
◆安排好各元素的位置,形成模型的总体布局后,为了使流程更形象、直观,可通过backdrop的displayedit来添加一些箭线(参看前面的本实验的总体布局图)。
◆建立machine的状态标志键key:
✓右击元素选择区中system栏下的backdrop,选择display;
✓选择draw模式,选择key项,点击draw;
✓在布局区中的适当位置画出能表明machine各种状态的标志键。
●第四步:
详细定义模型元素
◆详细定义timber元素:
✓双击timber元素,打开其detailedit窗口:
✓选择进入系统的形式为主动形式active;进入的间隔时间interarrival遵寻均值为30,标准差为5,随机数流为1的正态分布:
NORMAL(30,5,1);进入批量为3;
✓点击TO。
。
。
按钮,输入timber进入系统的目的地:
pushtostock;
◆详细定义stock元素:
capacity=10;
◆详细定义saw元素:
✓在saw的detailedit窗口中的general标签页中定义:
type=general;inputquantity=1
inputfrom=pullfromstock;
cycletime=TRANGLE(4,6,8,2)(即最小值为4,最可能值为6,最大值为8,随机数流为2的三角分布)
laborrule=operator;
actionsonfinish=changetimbertoleg;
icon=219
outputquantity=3;
outputto=pushtoBeltConveyoratrear;
✓在saw的detailedit窗口中的setup标签页中定义saw的调整规则:
点击add/remove按钮,添加saw的调整项目bladeA、bladeB;
bladeA:
调整模式setupmode=no.ofoperations;
调整间隔时间按加工的零件数量计算:
no.