|
+ | {' t" R7 g" c
我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。 P. S2 U2 V4 L
首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。 q8 g1 C8 C! N
然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
- B/ Q; l! F/ j( ?接着我们就可以编程序了,源代码如下:7 G( h3 |( q& @. @$ u
begin P_process_name arriving
# J. `" H5 T8 ~' |% ~1 @! o move into Q_queue //load进入队列中
2 i( U) }& ~8 X9 m% f if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
$ F4 R- i7 W/ ~, x& u begin
1 ^! t9 h" m7 S order 4 loads from OL_orderlist to die //取其中的4个消失% ~' V' a2 j) B/ ?5 q
set load type to L_new//设置第5个进来的Load为L_new类型的2 w& P0 f$ U( X2 f) \( U
send to P_next//进入后续流程 : v8 Q( @& @' d
end
7 U _; Q! _7 N$ j* |0 m! ?& r$ @ else//如果OrderList中的托盘数少于4 则进入
9 Y; g: Z4 {9 n% L O' t' Z) T8 f wait to be ordered on OL_ orderlist3 c. L$ ?! G+ I% B B& J
end
: T# }! l6 y5 {. S2 @" k这段代码还可以精简为:
7 ?, d- Y. V3 D8 r1 h! Hbegin P_process_name arriving
) ? r7 R) a# q" c4 l0 E move into Q_queue //load进入队列中' j. E# M5 l9 P3 s
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘( U8 ?, U+ W$ n4 Z6 `- o
begin
l8 ^0 h) l F8 ?6 R/ b$ G9 D8 d4 N order 5 loads from OL_orderlist to die //OrderList中的5个全部消失; p; X4 s4 Q8 I i! O- R
create 1 load of load type L_new to P_next //创建一个新的Load3 I. j4 H [1 }( L, a( X `
end
! q0 s" {+ z8 T* G else//如果OrderList中的托盘数少于4 则进入7 D" Y* k" r! i$ t: g
wait to be ordered on OL_ orderlist5 m4 p, [; [/ q) u
end% k6 K. W# c" [& A
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|