《4SimTalk语法与案例分析.ppt》由会员分享,可在线阅读,更多相关《4SimTalk语法与案例分析.ppt(47页珍藏版)》请在课桌文档上搜索。
1、第四章 SimTalk语法与案例分析,主要内容,一.SimTalk语法二.医院排队系统仿真案例三.纸箱制造厂制造作业流程仿真 四.飞机降落系统仿真,一.SimTalk语法,1.SimTalk概念可扩充基本对象功能的不足SimTalk可以改变对象的传递方式SimTalk可以开发新的对象借助与Method来实现以上功能,一.SimTalk语法,2.Method架构分为3部分:外部参数传递Is定义局部变量Do代码end,例:计算A+B+C?其中A=5;B=4;C=7;,一.SimTalk语法,3.命名方式名称开始的第一个字母一定要是英文字母,之后可以是数字也可以是“_”,其它的各种符号不被接受名称的
2、长度不可以超过20个字节大小写不影响命名使用者自动的名称不可以和语法中的关键字相同,一.SimTalk语法,4.eM-Plant的保留名称Reset,取名Reset的Method对象,在使用时按下时钟上的Reset键时,即执行该事件Init,取名Init的Method对象,在使用时按下时钟上的Init键时,即执行该事件EndSim,仿真结束时,取名为EndSim的Method会自动被执行,一.SimTalk语法,4.常用变量定义Boolean,只有true和false两种状态Integer,整数值Real,实数String,字符Object,指向对象Table,对应tablefile对象,一.
3、SimTalk语法,4.常用变量定义Boolean,只有true和false两种状态Integer,整数值Real,实数String,字符Object,指向对象Table,对应tablefile对象,一.SimTalk语法,5.变量类型转换函数Num_to_str(integer),Str_to_num(sting)Num_tostr(real),Str_to_num(sting)Bool_to_num(boolean),Str_to_bool(string),Time_to_str(time),Obj_to_str(object)Str_t_date(string),一.SimTalk语法,
4、6.常用字符串操作函数Copy(,)incl(,)omit(,)Strlen()toLower(),toUpper()Ascii(),chr(),一.SimTalk语法,7.数值运算符号+,-,*,/,-整除,余数And,or,not,=,=,/=,一.SimTalk语法,7.数值运算符号+,-,*,/,-整除,余数And,or,not,=,=,/=,一.SimTalk语法,8.典型语句SingleProc.cont.move(singleProc1);先说明路径(绝对路径、相对路径),加上分隔点,再说明命令,加上分隔点,而后再加上参数,最后加上终止的符号;SingleProc.cont.mo
5、ve(singleProc1);SingleProc.cont.move;,一.SimTalk语法,9.实体传递方式两者均为被动两者均为主动传送者被动,接受者为主动传送者为主动,接受者为被动,eM-Plant执行的过程中采用以上一工序推到下一工序的方式来进行,下一工序不具有主动的能力,因此采用的是推式理论来执行,一.SimTalk语法,10.条件判断语句If.size=“c20”then.move(yard201);Else.move(yard202);End;,一.SimTalk语法,11.循环判断语句Isi:integer;-定义变量iDoFrom i:=1;-i从1开始循环Until i
6、50到50结束Loop循环符号Print I;-输出i值到结果显示框i:=i+1;-i自加End;-循环结束符号End;-程序结束符号,一.SimTalk语法,12.中断判断语句 Waituntil是当某个method的条件没有被满足时,允许中断此method,直至条件被满足时,才继续执行 Waituntil singleproc.empty prio 1,二.医院排队系统仿真案例,作业:某医院的医生服务时间符合N(2.3,1)的正态分布,病人的到达规律符合参数值为2.4 Min的指数分布,假设当新病人到达时,排队总人数超过5人,则该病人离去,试采用eM-Plant仿真软件求:1.该医生8小时
7、内服务病人的总人数 2.病人的平均等待时间 3.病人的平均在医院时间 4.病人的最大在医院时间 5.医生忙的概率 6.排队平均队长,二.医院排队系统仿真案例,实体、属性、活动、事件、资源实体:病人属性:无活动:等待、接受服务事件:进入队列、服务设备为空、服务完成资源:一个可排5人的队列,一个服务台,二.医院排队系统仿真案例,1.构建仿真模型,二.医院排队系统仿真案例,2.输入参数某医院的医生服务时间符合N(2.3,1)的正态分布。病人的到达规律符合参数值为2.4 Min的指数分布。,二.医院排队系统仿真案例,2.输入参数某医院的医生服务时间符合N(2.3,1)的正态分布。病人的到达规律符合参数
8、值为2.4 Min的指数分布。,二.医院排队系统仿真案例,2.求该医生8小时服务总人数设定仿真时间设置一变量i,放入method自加至系统终止利用Gauge和numIN,numMU,numOUT参数计算,二.医院排队系统仿真案例,3.病人的平均等待时间 每进入buffer一个实体则统计一次当前buffer中实体的个数,记入tablefile表中,当仿真结束时,取平均值,二.医院排队系统仿真案例,don:=n+1;-判断进入buffer实体的个数 tablefile11,n:=.model.frame.buffer.numMU;Endsim中写入代码:tablefile1,1:=tablefil
9、e1.sum(1,1.1,n)/n;,二.医院排队系统仿真案例,4.病人的平均在医院时间 计算某个实体进入系统和出系统的时间,仿真结束后,二者相减,取平均值,并选出最大值。tablefile12,n:=.statavgLifeSpan;EndSim:tablefile2,1:=tablefile1.sum(2,1.2,n)/n;,二.医院排队系统仿真案例,5.病人的平均在医院时间 计算某个实体进入系统和出系统的时间,仿真结束后,二者相减,取平均值,并选出最大值。lifecycle:tablefile12,n:=.statavgLifeSpan;EndSim:tablefile2,1:=tabl
10、efile1.sum(2,1.2,n)/n;,二.医院排队系统仿真案例,6.病人的最大在医院时间 选择整个列表,求出最大值放入tablefile表中 if tablefile3,1tablefile12,m thentablefile3,1:=tablefile12,m;end;医生忙的概率,二.医院排队系统仿真案例,7.医生忙和闲的概率 利用对象的属性求解tablefile4,1:=singleproc.statworkingportion;tablefile4,2:=singleproc.statwaitingportion;,二.医院排队系统仿真案例,8.病人的平均排队等待时间 利用对象
11、的属性求解 tablefile13,n:=.models.frame.buffer.statwaitingtime;if n=1 then tablefile14,n:=tablefile13,n;else tablefile14,n:=tablefile13,n-tablefile13,n-1;end;,三.纸箱制造厂制造作业流程仿真,三.纸箱制造厂制造作业流程仿真,1.学习目的了解仿真的特点及其在制造业的应用。学习如何建构模型了解eM-Plant基本的对象和操作学习如何通过eM-Plant进行信息收集及分析,三.纸箱制造厂制造作业流程仿真,2系统仿真的目的 通过系统仿真来了解某纸箱制造厂作
12、业的瓶颈站的使用率,生产线的投料率、在制品与生产周期与生产效率的关系,为纸箱制造厂内现场管理提供决策支持,三.纸箱制造厂制造作业流程仿真,3系统说明,三.纸箱制造厂制造作业流程仿真,4.产品类型:E型,B型和AB型1)E型:所有纸中最薄者,为1mm。在市面上常看到的彩色包装箱属于此类,此类纸箱应用范围非常广泛,如精美化妆品包装、礼盒等,适用于一般高单价产品。2)B型:常用于内盒包装,有些产品包装常常外部用一个大纸盒包装、内部用小纸盒分别包装,而这些小纸盒的包装为B型。常在市面上看到的有鞋盒、CPU等3)AB型:外层包装纸箱,一般常用于大型纸箱。,三.纸箱制造厂制造作业流程仿真,5 不同的纸箱的
13、生产流程1)E:压线作业-印刷裁剪-堆高机-糊纸-包装2)B:印刷裁剪-堆高机-糊纸-包装3)AB:压线作业-印刷裁剪-堆高机-打钉-包装,三.纸箱制造厂制造作业流程仿真,6.纸箱制造厂各台机器的数量及对应产品加工时间和准备时间,三.纸箱制造厂制造作业流程仿真,7系统假设 1)纸箱原料来到间隔服从时间为UNIFORM(25,30)分钟的均匀分配,其中E、B、AB来 到的比例为3:5:2。2)每种类的机器前均设有一个无限长度的等候区,且等候区采用先到先服务的方式。3)纸箱产品在两个机器之间的搬运时间可以忽略不计。4)该纸箱制造厂每天工作24小时,仿真30天。,三.纸箱制造厂制造作业流程仿真,8系
14、统输出数据 1)三种纸箱产品分别的生产周期和平均生产周期 2)三种纸箱的月产能 3)每台机器的使用率 4)印刷剪裁台前的平均等候长度 5)系统内的平均在制品数量,四.飞机降落系统仿真,1.学习目的 通过系统仿真分析飞机降落系统的运作情况,评估该跑道在服务绩效上的表现,达到降低成本提高效率的目标,四.飞机降落系统仿真,2.系统描述 某机场A假设仅有一个飞机跑道服务飞机降落。飞机要降落先需要在跑道的上空盘旋,得到塔台指示才可以降落。一个跑道上空最多可以有5架飞机盘旋,若飞机太多则容易发生碰撞。若飞机来到时已盘旋的飞机数已达到5架,则会飞往另外一个机场B降落。,四.飞机降落系统仿真,3.相关数据1)
15、飞机来到的概率服从指数分布EXP(8)分钟2)飞机来到的比例(空中巴士A340(A)、波音 747(B)、波音737(C)=4:6:5)3)不同类型飞机降落时间及其服务费如下:,每个月机场会进行盈亏计算,假设盈余计算为每月的 总收入减去该机场每月所需支出的基本营运费用,基本营运费用总和为45000。,四.飞机降落系统仿真,4 系统假设1)假设每天的营运时间从早上9:00开始,至晚上9:00结束。每月以30天工作来计算。本问题假设仿真一个月以360小时计算,不考虑休息时间。2)只有一个降落跑道,且以此只能服务一架飞机3)空中盘旋的飞机最多只有5架。4)空中盘旋的飞机采取先到先服务的原则。,四.飞
16、机降落系统仿真,5.系统输出数据1)飞机平均停留在系统中的时间2)机场每月服务的飞机数3)跑道的平均使用率4)飞机排队的平均长度5)该机场平均一个月的盈余。6)计算该机场平均每月到B机场降落的飞机数,四.飞机降落系统仿真,5.系统输出数据 该机场主管希望能将此机场建为国际性机场。这样不仅会带来航运量的增加,也会导致现有的盘旋区可提供等候的飞机数量不足。但是增加盘旋区会增加机场的基本营运费用,因此,该主管的问题是在保证机场可以获利20000元的前提上,如何选择飞机的来到率和盘旋区飞机数量。,四.飞机降落系统仿真,5.系统输出数据1)飞机来到的增加会导致飞机的服务费用减低,每减少单位时间的来到会导
17、致飞机基本服务费用降低5元);2)盘旋等候区的增加,每增加一个等候区长度,就会导致基本营运费用上升1000元。3)为了方便起见可以做3个组合:来到时间Exp(7)、等候区6个/来到时间Exp(6)、等候区7个/来到时间Exp(5)、等候区8个,作业题,1.三个仿真实验:医院仿真、纸箱制造厂仿真、飞机降落系统仿真,不用参考任何资料和代码可以独立完成。2.针对一个具体的问题,如超市出口收银台个数设定。能完成以下问题:1)逻辑建模:用流程分析图描述出作业流程2)数据收集:确定需要什么数据,如何收集,在系统中如何使用,虚拟出相应的数据,作业题,3)系统假设:为了完成该系统的建模应该假设那些哪些条件?4)分析该系统中实体、属性、活动、事件、资源5)仿真建模:把逻辑模型转化为仿真模型,可以使用的eM-Plant对象包括Source、Drain、EventController、SingleProc、Buffer、PlaceBuffer、Line、Connector、Entity、Container、Transporter、Variable、Method、TableFile等6)仿真输出结果,