|
1 模型描述
模型基本布局如下图所示:
发生器随机产生零部件,接着进入暂存区1,操作员按照以下流程工作:操作员行走到暂存区1,取起零部件,行走至处理器1,将零部件放在处理器1上加工,加工时间为10个单位,操作员等待10个时间单位后,取起零部件,行走至处理器2,将零部件放在处理器2上加工,加工时间也为10个单位,操作员等待10个时间单位后,取起零部件,行走至暂存区2,放下加工后的零部件。之后重复以上的操作。
2 模型布局
3 功能实现和参数设定
(1)连接
发生器与暂存区1——“A”连接;
暂存区1与处理器1——“A“连接;
暂存区1与操作员——“S”连接。
(2)参数设定
双击打开“暂存区1”属性窗口
点击临时实体流选项卡,勾选“使用运输工具”,点击使用运输工具右侧的代码编辑图案,打开代码编辑窗口,在10-29行编辑以下代码:
treenode op=centerobject(current, 1); //定义操作员为op
treenode p1=outobject(current, 1); //定义处理器1为p1
treenode p2=node("处理器2",model()); //定义处理器2为p2
treenode q2=node("暂存区2",model()); //定义暂存区2为q2
treenode ts=createemptytasksequence(op,priority,preempt); //为操作员创建一个名为ts的空任务序列
inserttask(ts,TASKTYPE_TRAVEL,current);//在任务序列中为操作员插入一个行走任务,目的地是暂存区1
inserttask(ts,TASKTYPE_LOAD,item,current);//插入一个装载任务,对象是item,地点是暂存区1
inserttask(ts,TASKTYPE_TRAVEL,p1);//插入一个行走任务,目的地是处理器1
inserttask(ts,TASKTYPE_UNLOAD,item,p1);//插入一个卸载任务,将item放到处理器1上
inserttask(ts,TASKTYPE_DELAY,NULL,NULL,10,STATE_BUSY);//插入一个延迟任务,延迟时间为10s,状态为繁忙
inserttask(ts,TASKTYPE_LOAD,item,p1);//插入一个装载任务,对象是item,地点是处理器1
inserttask(ts,TASKTYPE_TRAVEL,p2);//插入一个行走任务,目的地是处理器2
inserttask(ts,TASKTYPE_UNLOAD,item,p2);//插入一个卸载任务,将item放到处理器2上
inserttask(ts,TASKTYPE_DELAY,NULL,NULL,10,STATE_BUSY);//插入一个延迟任务,延迟时间为10s,状态为繁忙
inserttask(ts,TASKTYPE_LOAD,item,p2);//插入一个装载任务,对象是item,地点是处理器2
inserttask(ts,TASKTYPE_TRAVEL,q2); //插入一个行走任务,目的地是暂存区2
inserttask(ts,TASKTYPE_UNLOAD,item,q2);//插入一个卸载任务,将item放到暂存区2上
dispatchtasksequence(ts);//分派任务
图:10.1:任务序列
单击“确认”关闭窗口
“确定”——“重置”——“运行” |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|