eMplant系统仿真报告.doc_第1页
eMplant系统仿真报告.doc_第2页
eMplant系统仿真报告.doc_第3页
eMplant系统仿真报告.doc_第4页
eMplant系统仿真报告.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

生产系统仿真报告课程名称 生产系统建模与仿真学生学院 专业班级 2009年6月5日目录一、 仿真建模及原理-3二、 系统绩效评估-12(1) 该生产线的生产节拍和平均节拍-12(2) A 型号与B 型号PCB日产量-13(3) 各机台的平均利用率-14(4) 系统内平均在制品数量-15三、 问题探讨-18(1) 系统中的瓶颈工序-18(2) 瓶颈工序前缓冲区内产品数量平均值-18(3) 如果改变 PCB 到达系统的速率,能否影响PCB 的日产量?若能,如何影响-20四、 小组每位成员的在设计中的贡献率-20一、仿真建模及原理建立基本模型1在对象类别数据库中新增一个Training_的资料夹(Folder),并在Training中创建一个新的Folder,将Folder的名称更改为Mus(Move Units)2复制设置两个entity修改entity的名称,分別為A及B。点选MUs(Move Units)中要复制之对象,之后 鼠标左键+Ctrl 拖拉至Mus的资料夹中。打开A,选择custom attributes,选择new.将name改为n,选择date type 为string,value设为a。同理设置B。如下图3修改A和B的图标 4建立一個Source,八個SingleProc,八个buffer,一個Drain。按要求(在印刷电路板(PCB)生产线上生产两种型号的 PCB,分别为 A 型号和 B 型号,两种 PCB 在印刷之后首先经过检验站,当 PCD检验结果为“不合格”时,则必须经过“油墨去除”线进行油墨去除作业、水洗烘干作业、再回到油墨印刷机重新加工,若“不合格”品为 A 型号时,则回到白墨印刷站重新加工;若“不合格”品为 B 型号时,则回到黑墨印刷站重新加工。)连接并按对各对象过行改名,如图5增加一个EventController事件控制器, 透过事件控制器来控制事件何时发生。并在将settingend 设罡为一天,开始仿真如下图6插入一个Method,并更改名称为reset。编reset中的程序为isdodeleteMovables;end;意思为當要刪除機台上所有的MUs時,我們按reset即可。7设置每个buffer的参数双击buffer,编辑AttibutesCapacity为-1,即每个缓冲站设为无限容量。编辑TimesProcessing time为0。 8设置每机床的加工时间(1)一台机床只有一种加工时间双击打开白墨印刷机床。将TimesProcessing time选择为正态分布,对应的srteam,mu,sigma,lowerbound,upperbound分别输入1, 0:20, 0:02, 0, 0:50,OK确定。对烘烤机A,检验站A,烘烤机B,检验站B,水洗烘干也用相似的操作方法。(2)一台机床对不同产品有不同加工时间插入一个Method,并更改名称为setparam,编辑程序isdoif .n=athen ctime.setparam(normal,1,15,2,0,50);else ctime.setparam(normal,1,16,2,0,50);end;.moveend;意思为当实体的属性n为a,则b1(黑墨印刷)的加工是间符合正态分布(normal,1,15,2,0,50)。如果是其他属性则b1(黑墨印刷)的加工是间符合正态分布(normal,1,15,2,0,50)。打开b1前的buffer3,controlsexit同理可设置油墨去除机床的加工时间。9设置A型号 PCB与 B 型号 PCB 到达数量比为 2:1建立一张TableFile,打开entry,在Attibutestable选项中选TableFile如下左图 打开TableFile,设置各参数如上右图。10在entry出口处对A和B两种产品分流插入一个Method,并更改名称为diab编辑程序if .n=a then .move(buffer); else.move(buffer3); end;意思为当实体的属性n为a,流向buffer,其它则流向buffer3。因为只有a和b两个实体,这样就将其分流。11实现不合格产品(概率5%)的回流(1)插入并改名为counter,其它默认。(2)插入一个Method,并更改名称为init,编辑程序isdocounter:=0;end;意思为Init之对象主要是将Variable变量的数值正确起始值置0。(3)插入一个Method,并更改名称为rework,程序为isdocounter:=counter+1;print counter;if counter=20then .quality:=bad;counter:=0;else .quality:=good;end;print .quality;.move;end;意思为指定程序运行一次,counter变量要自动加一,假如counter 刚好等于20,就将(MUs)的属性quality指定为“bad”,并另counter的值归零。Else若counter 的值不等于20.quality := “GOOD”; (MUs)的属性quality指定为“GOOD”。将烘烤机A的controlsexit连接rework。(4)插入一个Method,并更改名称为move,程序为if .quality=good then .move(buffer3); else.move(buffer6); end;意思为判断对象属性是否这good,是则移到buffer3,不是则移到buffer6。同理可设建counter1,rework,move1实现检验站B处的不合格产品加流。12建立排班表(1)插入一张shiftcalendar表,打开ShiftCalerndar,先点起继承钮以中断继承。输入排班名称。设置各参数如图该工厂实行两班制,first为第一班,从2:00到4:00,中间6:00-8:00休息,second为第二班,从14:00-0:00,中间18:00-20:00休息。(2)将每台机床controls中的shiftcalendar选择ShiftCalerndar。并且将entry中的operating modeblocking前的勾去掉。 到此时基本模型构建完,如下图所示二、系统绩效评估(1) 该生产线的生产节拍和平均节拍;此生产线的生产节拍是由生产时间除以总产出数量得出。操作原理:通过程序设计输出实际产品A和B以及总产出量,时间定为一天工作16小时。最后令时间除以实际产品产出量具体做法如下:首先建立五个variable,改名为outA(A产品产出量)、outB(B产品产出量)、sumout(总产出量)、simtime(时间)=16:00:00(即工作时间为16小时)和jiepai(生产节拍);然后建立一个Method,输入如下程序代码: isdoif .n=a then outa:=outa+1; 如果n=a,即有产品a通过时,outa进行计数 elseoutb:=outb+1 ; 如果na,即不是产品a通过时,outb进行计数end;counterab:=outa+outb;对outa与outb的累计数进行相加jiepai:=simtime/counterab;end; 最后在shippingcontrolsentrancemethod;运行事件控制,得出的结果如下即生产节拍是20.425秒/件(2) A 型号与B 型号PCB日产量;A,B型号PCB日产量的操作原理以及具体方法均在上一评估那里可以得到。从运行结果可以得出A型号PCB日产量OUTA为1862件B型号PCB日产量OUTB为958件。(3) 各机台的平均利用率;各机台平均利用率可以通过利用chart来统计得到。具体操作步骤:首先建产一个chart,右击 chartopen statistics wirzadclass勾选singleprocOK,然后双击chartdisplaygraghtable图形和表格OK,运行事件控制。由图可以得出白墨印刷(w1)的利用率=48.54%烘烤机A(w2) 的利用率=50.79%检验站A(w3) 的利用率=43.51%油墨去除(r1) 的利用率=4.07%水洗烘干(r2) 的利用率=3.75%黑墨印刷(b1) 的利用率=53.80%烘烤机B(b2) 的利用率=65.44%检验站B(b3) 的利用率=58.60%(4) 系统内平均在制品数量。系统内平均在制品数量是由每个产品滞留在系统的时间和(wholetime)除以系统工作总时间(simtime)即avgquantity =wholetime/simtime。操作具体方法如下:首先建立两个variable,改名为wholetime、avgquantity、建立三个method,改名为diab、endsim和method、一个TableFile1然后在diab输入如下程序代码;isdoif .n=a then .move(buffer); 如果n=a那产品移动到buffer缓存站else.move(buffer3); 如果na 那产品移动到buffer3缓存站 end;tablefile11,.id:=eventcontroller.simtime; 把每个产品通过的时间记录为第一 列时间数据end;在endsim添加输入如下程序代码:isdoavgquantity:=wholetime/simtime;end;在method添加输入如下程序代码:tablefile12,.id:=eventcontroller.simtime;把每个产品通过的时间记录为第二列时间数据tablefile13,.id:=tablefile12,.id-tablefile11,.id;第三列数据=第二列时间数据-第一列时间数据wholetime:=tablefile1.sum(3,1.3,*); 每个产品滞留在系统的时间之和即如图所示程序输入完成后保存,最后在entrycontrolsexitdiab; shippingcontrolsentrancemethod;双击TableFile1,然后如图对1-6列进行意义说明。然后在每一列的TIME那里右击formatdatatypetime;运行事件控制,得出如下结果即平均在制品数量(avgquantity)为31.9186件/秒。三、问题探讨(1) 系统中的瓶颈工序在哪里?由上述第三评估中的图表可以得出烘烤机B(b2)的工作率最高,也就是系统中的瓶颈工序。(2) 瓶颈工序前缓冲区内产品数量平均值是多少?瓶颈工序前缓冲区内产品数量平均值是由缓冲区的产品数量(wbuffer3)除以系统工作总时间(simtime)即avgbuffer4=wbuffer4/simtime。具体操作如下:首先建立两个variable,改名为wbuffer4、avgquantity、建立三个method,改名为buffe4、endsim和method1、一个TableFile1(在这里endsim和method其实不需要建立,直接在第四个评估那里相对应的程序代码进行添加即可)。在buffe4输入如下程序代码;isdo tablefile14,.id:=eventcontroller.simtime;把每个产品通过的时间记录为第四列时间数据end;在endsim添加如下程序代码:Avgbuffer4:=wbuffer4/simtime; 即endsim的程序代码如图所示在method1输入如下程序代码;isdotablefile15,.id:=eventcontroller.simtime; 把每个产品通过的时间记录为第五列时间数据tablefile16,.id:=tablefile15,.id-tablefile14,.id; 第6列数据=第五列时间数据-第四列时间数据wbuffer4:=tablefile1.sum(6,1.6,*); 缓冲区内总的产品数量end;TableFile1的操作同第四个评估,请看图。最后,buffer4controlsentrancebuffe4; exitmet

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论