|
6 k) z3 }9 P; o/ D% h b我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。7 Z2 G) g. o+ m+ p2 R. d
首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
6 _% z8 `. J% e: |6 }; p( M然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果% J& n) r) @0 A
接着我们就可以编程序了,源代码如下:6 p2 L- ^4 y3 B- V6 W7 o
begin P_process_name arriving
, Q( {2 G% Q; R4 K move into Q_queue //load进入队列中
% ?4 `, s( k+ ~ if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘" L' J% U8 Q; D% S* i# j
begin 5 j9 W2 u+ y( \, b
order 4 loads from OL_orderlist to die //取其中的4个消失
% x# u% [, u ]; d" c/ H set load type to L_new//设置第5个进来的Load为L_new类型的& x: D7 H3 U4 b% u* A8 t" T, Y
send to P_next//进入后续流程 7 | `! B- E- Q2 a8 O
end6 T7 U4 k. X& D& e' \
else//如果OrderList中的托盘数少于4 则进入1 V/ G% V. e" c$ b
wait to be ordered on OL_ orderlist
7 o/ q: H" |% r) \) E$ G" \; @% w( @( Tend
2 u3 u3 B) G, u6 l# ~这段代码还可以精简为:
' K/ {. e/ \1 a$ i$ Y2 H7 Y @begin P_process_name arriving
+ H; ?8 ?* a6 D. s, J* b move into Q_queue //load进入队列中
0 |& v3 m; t# \7 [2 D if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘4 s' B% v6 P. a/ f; E" o; D1 S
begin 2 H% h6 C) o* c2 C; S7 r |
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失7 [/ `: v, U- m& K0 s, L, q
create 1 load of load type L_new to P_next //创建一个新的Load
2 E# m* T8 x4 Y8 r0 d( S$ m2 V end
+ v4 \1 g$ j5 M7 w c, V else//如果OrderList中的托盘数少于4 则进入" f8 ], k0 r( x4 ]. [4 k g7 T% O! ?
wait to be ordered on OL_ orderlist# D1 q. ]- r1 U O
end3 _8 I: r* H3 q- X5 N
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|