|
|
+ M) Z* E3 `, S2 U我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。! U. Y; J" P$ v6 b6 P8 v$ \
首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。7 X8 v6 h S' v3 a; i
然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
& k7 m' G& G% u9 y, [5 e8 I# u0 S接着我们就可以编程序了,源代码如下:0 S. ]6 W9 l& E: |5 p5 f
begin P_process_name arriving3 {. C2 H( U3 I K# G
move into Q_queue //load进入队列中5 i1 \6 o* G" u5 l2 M8 m) ~4 L
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘- h( Z" s- C: o& C3 o! Z% i0 |
begin
4 \" K$ R ]( s# I order 4 loads from OL_orderlist to die //取其中的4个消失3 W2 ^$ P" y6 {. v
set load type to L_new//设置第5个进来的Load为L_new类型的- K3 R' ?$ g) n8 ^
send to P_next//进入后续流程
: N9 c- \. Z: v0 t end3 I2 n, }1 ], T2 F$ C. R- ?
else//如果OrderList中的托盘数少于4 则进入2 h& E; h8 a& S& t4 x* ~+ A) B
wait to be ordered on OL_ orderlist
7 p7 ^* z9 e( Kend# a' s' c! ]6 s8 J2 b
这段代码还可以精简为:
1 N) I% G4 G' ^9 fbegin P_process_name arriving
3 [1 w/ t1 X' a2 v move into Q_queue //load进入队列中
x* M5 F" O* |/ K, B5 e' F if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
) ]* f" @" N; P% R% P5 }: G begin ; }( M( t1 n Y. o/ l7 Y
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失
# C6 ?2 z' ?; M! f! t& Q2 }+ f create 1 load of load type L_new to P_next //创建一个新的Load2 p" e0 _& ?( T( P! F' p7 y3 p2 o
end
. x# `. ?# P# P else//如果OrderList中的托盘数少于4 则进入
5 h0 s, t! C% P wait to be ordered on OL_ orderlist$ }8 O, Z* {' R' e- Z2 p5 U: U8 l+ c
end9 @6 E4 a& T: p! }2 E6 ]6 R4 H
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|