|
8 p7 @5 e6 z6 k. A2 v6 r/ K我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。1 Y. `/ A" e; A9 e
首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
6 W& z- Z$ ] J& ]- z! A然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果5 P8 l" V3 s6 ]. R# ^3 B( k' d
接着我们就可以编程序了,源代码如下:
a+ a6 Z; k6 sbegin P_process_name arriving
9 h% n* n9 D5 Q2 | move into Q_queue //load进入队列中
! n+ h. Y0 ]& X y, `" m if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
0 y+ y: L: i I- u& @ begin 9 k' f+ S& e, h: n* l. N
order 4 loads from OL_orderlist to die //取其中的4个消失
: f7 R9 l7 s1 Y; ]# q/ a; H* M k# G+ N set load type to L_new//设置第5个进来的Load为L_new类型的
g b) ~( S3 i send to P_next//进入后续流程 2 K2 p7 U V6 v7 m8 e
end
8 ^& g& c) [# T/ W7 t else//如果OrderList中的托盘数少于4 则进入% E' W6 `3 x% J5 w% Y/ {$ x; a& o
wait to be ordered on OL_ orderlist$ {3 }8 V2 R5 P) `& ]8 `: J
end+ M( N& j1 n( k- m
这段代码还可以精简为:
& M8 u+ v, u8 Qbegin P_process_name arriving1 j2 [6 d1 Y9 p+ `* S1 n ^
move into Q_queue //load进入队列中
8 R+ j) M+ h& ]0 t if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘) Z: }+ f+ H/ Y
begin
! k3 B: Z: C& c6 o8 {4 D. t order 5 loads from OL_orderlist to die //OrderList中的5个全部消失
2 T/ V& v3 Y5 U0 c/ X R5 Y create 1 load of load type L_new to P_next //创建一个新的Load% p* Y8 Y1 e8 E ~; S4 x3 Q; N1 K
end+ s3 L7 |: I/ N R) ^8 \
else//如果OrderList中的托盘数少于4 则进入
3 k4 V. g; Q$ p/ i% V wait to be ordered on OL_ orderlist
H) q1 p: W; P$ a% Iend5 z; |+ o0 p+ J( H) w. D3 p
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|