[原创]WITNESS使用常见问题解决方案
1)如何实现Labor上、下Vehicle?
在运输系统中,如果车辆Vehicle和人员Labor不是一一对应的关系,即一个人驾驶一辆车,而是m个人驾驶n辆车,这时就涉及到人员上下车辆的控制问题,那么在witness软件中如何实现?
下面一个例子说明:假设一个生产运作系统由一辆运输车Truck、1名工人Labor001和一台机床Mach1组成,Labor001既需要操作机床进行加工作业,还需要开动Truck去运输零件,平面布局如下图LaborAttachedToVehicle.jpg。
具体流程为:
该系统加工一种零部件,零部件由该系统的上道工序送入原料仓库Raw;
车辆空闲时停在T4处;
当机床Mach1前的缓冲区B1中零件数量低于5个时,Labor001开动Truck通过路径T2到Raw处提取零件,然后由路径T3上将零件运输至B1;
当车辆在T3处将零件卸载入B1后,如果B1里零件数量大于5个时,Truck停靠到T4,工人Labor001被释放;如果B1里零件数量少于5个,则Truck继续由Labor001驾驶到T2进行取货;
机器进行加工作业时,需要工人辅助操作;
模型建立:
模型见附件
模型说明:
(1)将Labor添加到Vehicle
该模型需要将Labor添加到Vehicle上,让Labor和Vehicle一起实现“工人驾驶车辆取货”这样的现实过程的模拟,这一点在T4的Output to...中实现,参见LaborAttachedToVehicle2.jpg。
语句说明:
IF NPARTS (B1) < 5 AND AttachLabor (Truck(1),Labor001(1)) = 1
PUSH to T2
ELSE
Wait
ENDIF
上述语句实现的功能为:当B1中零件数量低于5个时,同时能够获得Labor001时,将Truck送到路径T2上。
AttachLabor(element_name, labor_name)函数:
将制定的Labor元素附着到制定的Machine或Vehicle上,如果附着成功,返回1,否则返回0;
(2)将Vehicle上的Labor元素释放出来
当车辆行驶到T4上时,因为车辆停下没有工作了,需要将Labor001释放出来,以便让Labor001进行加工作业,实现释放Labor的功能在T4的Action on entry...中设定,界面如附件LaborAttachedToVehicle3.jpg
上图中的第一句使用DetachLabor函数将Truck(1)上的Labor001(1)释放出来;
第二句更换Truck的图标。
LaborAttachedToVehicle.JPG ( 15 KB )
LaborAttachedToVehicle2.JPG ( 65 KB )
LaborAttachedToVehicle3.JPG ( 71 KB )
推荐到鲜果: 查阅更多相关主题的帖子: witness 问题



评论