|
|
4 Q6 J& Z1 s/ |- k# H我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
& {7 ?' Y" f9 o* w首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
% ]- y4 ~; p7 O6 u! e, x然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果& x. t: e) Z; K6 w3 b
接着我们就可以编程序了,源代码如下:
. p2 G! z9 O' d9 U, @begin P_process_name arriving8 y) l6 |" L F% F
move into Q_queue //load进入队列中
7 j3 _% p4 \' m$ | if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘/ ~4 v; {% t; Z% y( g
begin 9 g6 ]' H( z6 w: l
order 4 loads from OL_orderlist to die //取其中的4个消失
0 F( L6 u, }' ^9 S5 @ n5 x3 `: d set load type to L_new//设置第5个进来的Load为L_new类型的
5 g2 t: _& `) b' |; V/ b send to P_next//进入后续流程
; p) o7 o* E M {$ X end
( [4 t& f5 p6 B" v6 h6 z1 f! C5 S else//如果OrderList中的托盘数少于4 则进入, M1 K9 ~9 w0 G' B* Y" h3 X( x) F. A" ]
wait to be ordered on OL_ orderlist+ G0 n8 _$ g% ]6 ^4 p d
end9 T- W1 g9 i5 L6 V. Y
这段代码还可以精简为:
0 I$ ~+ f7 _$ x6 z- Bbegin P_process_name arriving
7 G, ^: _9 j/ E; B2 ?2 W move into Q_queue //load进入队列中0 l5 @% Q/ f7 F
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘# M' N$ o+ i# c( I: o* s3 ^$ K
begin
) t- P5 K1 M) _0 K order 5 loads from OL_orderlist to die //OrderList中的5个全部消失% X; F+ a7 J3 u, P
create 1 load of load type L_new to P_next //创建一个新的Load
# y5 j( y& e; x2 H0 w% l end
S8 ?8 N& Z* B! x: E( t else//如果OrderList中的托盘数少于4 则进入& z) {- G/ M& H1 ~4 F. h4 ?: F
wait to be ordered on OL_ orderlist
/ G+ F. M% m1 s: wend
2 ^. }, v8 m0 q, `1 f这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|