畅享博客 > 供应链仿真优化 > Witness 仿真建模 > [原创]WITNESS使用常见问题解决方案
2007-9-13 12:05:49

[原创]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的图标。


推荐到鲜果: 查阅更多相关主题的帖子: witness 问题

评论

您正在以 匿名用户 的身份发表评论  快速登录
(不得超过 50 个汉字)
       看不清,换一个
提示消息
(输入完内容可以直接按Ctrl+Enter提交)