|
3 I! p P* ~2 T( T6 K( ]我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。( y* C6 h1 o1 Q6 t* D8 S. z) ]
首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
. ]" A. w, l& p0 l O" C; ~3 [2 W9 i然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
2 [) c8 ]5 b' |5 v+ ]接着我们就可以编程序了,源代码如下:
8 O- Z8 G ~9 q9 a1 I" d3 }begin P_process_name arriving
- a% H$ X1 v. y+ m move into Q_queue //load进入队列中
% h, X' q, i- [! c2 a if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘2 H# j' y4 ~$ Q8 S( x
begin
1 K: J8 n" B6 w order 4 loads from OL_orderlist to die //取其中的4个消失
9 B! \* e: i$ s- i# q. p set load type to L_new//设置第5个进来的Load为L_new类型的0 p& t' }% Q: `+ e+ a4 L
send to P_next//进入后续流程
1 U! Y* N* A; `; j end" R+ b0 l: H. J5 R& [
else//如果OrderList中的托盘数少于4 则进入0 `1 V2 q3 i; {: w |! }1 ^9 K' ~( d
wait to be ordered on OL_ orderlist
3 @" X2 T5 J/ F2 | bend0 {. M; ]! \0 \2 |" U
这段代码还可以精简为:1 u; Q& m h3 `
begin P_process_name arriving6 T5 |8 r7 c) G& ]4 N! m, k
move into Q_queue //load进入队列中0 U( ^" a, y0 s8 i) |
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
! [! W7 w1 ]+ x8 } j( G& q begin / l4 v, R% a% u, r$ X- N( x' c) t
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失6 a/ Q1 d# f+ W a4 `8 G
create 1 load of load type L_new to P_next //创建一个新的Load+ n( R$ s. `1 N( ]# l+ P6 }
end
5 D2 M; q: `' A else//如果OrderList中的托盘数少于4 则进入
2 E+ _' o9 h% ` wait to be ordered on OL_ orderlist
$ S6 j0 F6 s) tend
6 F0 o# e: B4 H; A. m6 e* P+ `, g这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|