|
|
( \/ F1 h6 J4 X1 Q$ |
我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。2 a5 Z$ W) ^; F- P W, C k
首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
5 D0 T( Z( ~; m6 c然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
6 T0 }- \3 Z$ i) k6 K接着我们就可以编程序了,源代码如下:
6 m$ _( p0 @# E, L9 m7 a8 }. y) dbegin P_process_name arriving! v5 }4 K$ o' a2 j4 S
move into Q_queue //load进入队列中
9 ^! p ^! {8 U) Y$ W+ t if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘3 f! W& v) z$ Z! K- O
begin
4 ]. y. M% Y W4 h& I. x R order 4 loads from OL_orderlist to die //取其中的4个消失
+ H- U3 T$ E" s set load type to L_new//设置第5个进来的Load为L_new类型的1 e. G% V8 i( o
send to P_next//进入后续流程 " ^+ D; z* i: G
end
/ }' `8 k {+ _ else//如果OrderList中的托盘数少于4 则进入7 u N( b' G1 S, m3 W
wait to be ordered on OL_ orderlist
& g; |8 ^: Y( y' q/ tend) {9 O7 m, j6 @. F' @% j
这段代码还可以精简为:. u' v- |- P- R- Q" K
begin P_process_name arriving' w1 S6 z% C7 x+ V3 [( ^( r
move into Q_queue //load进入队列中
( f H& [8 y8 H. ]2 y. Q# e% D if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘3 m% Y% r( i# q! B& Y9 Q, `
begin & p; y# y9 _& O. H# Y/ S8 R
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失1 P b' A# e. _) f. w: i3 `
create 1 load of load type L_new to P_next //创建一个新的Load
8 a) ^2 L3 |! G end9 I7 a5 V' |0 V E, q3 \/ K
else//如果OrderList中的托盘数少于4 则进入
8 ^4 w) k5 b0 Z6 X. O1 J3 A4 d6 @ wait to be ordered on OL_ orderlist: v* U$ F8 b Y6 X; g
end
5 ~$ {( C( S3 z这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|