|
|
' D* u& J h" [) D; S
我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
! C1 P$ v1 r4 ~1 I. a! J首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
; L9 I: ~6 m1 { |% f/ H8 k' p9 B然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果4 @; x, q, s" f2 N+ F7 m$ s
接着我们就可以编程序了,源代码如下:' _9 M9 A/ T% |9 ^& v% X
begin P_process_name arriving2 p( U: Q |* g$ C
move into Q_queue //load进入队列中
. s( \* F, J0 C; m# M+ O& l& _ if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘* h' }6 ?- ~2 _2 {& U1 {+ _: c
begin
' F5 v/ @( j. L* _ order 4 loads from OL_orderlist to die //取其中的4个消失
) e7 B8 `8 S' ^5 _) Q set load type to L_new//设置第5个进来的Load为L_new类型的# X+ i& _' x4 Y* N4 n8 I' O& ?
send to P_next//进入后续流程
0 B! Q5 M4 ]& T: d end, ~; a3 a! l. B8 z- v7 a
else//如果OrderList中的托盘数少于4 则进入7 ~4 @: I; T8 ?% G6 N
wait to be ordered on OL_ orderlist
" O3 c, J# W) Iend" s: a, K$ i. Z# |" G1 ~8 i
这段代码还可以精简为:3 c) ]9 n" s1 u- x( |
begin P_process_name arriving: P( \$ R. V3 l: Q8 X
move into Q_queue //load进入队列中, W5 H: m* z: F. T2 N
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘* Y8 Z) [' c% Q. k* F- f
begin
: O' [: d1 Y9 r5 \: s0 A order 5 loads from OL_orderlist to die //OrderList中的5个全部消失
4 r q& Z; ^9 ] create 1 load of load type L_new to P_next //创建一个新的Load
* E& P9 P9 D+ B" ]4 ? end
8 e8 t* X; O7 P5 O9 D else//如果OrderList中的托盘数少于4 则进入3 [/ \2 M, B4 i% c1 l
wait to be ordered on OL_ orderlist: K* ^+ `3 c% L' \6 X
end- ^, a3 \* t6 r' q5 Q: h: O
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|