|
|
1 \1 {8 g. V3 T7 B我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。# L. i* j! R( b* R0 D
首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
2 j( z/ m' d6 L! e然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果, e0 y0 M$ Z1 B! R
接着我们就可以编程序了,源代码如下:# D! Z1 d$ @) u0 Q8 o) `
begin P_process_name arriving1 _4 q# n- M$ b* `$ v) T& O
move into Q_queue //load进入队列中
+ d' z9 C) m6 w2 ` if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
, o% B& x0 H8 N0 N begin 8 O! Z5 P; k1 J6 T
order 4 loads from OL_orderlist to die //取其中的4个消失8 W" I- H. ~9 t! L0 |' d$ w: L5 q; N
set load type to L_new//设置第5个进来的Load为L_new类型的
4 M* F" \2 T- C) l send to P_next//进入后续流程 + y3 B2 F- u! E; d2 c# h# R9 L
end$ l+ L. H7 q/ m& M
else//如果OrderList中的托盘数少于4 则进入6 G9 ]" W6 e: O4 \$ t0 H
wait to be ordered on OL_ orderlist
) g- p! J* j" [& Y! rend9 W' }, Z$ u, @# }
这段代码还可以精简为:
5 I7 f6 I, v8 qbegin P_process_name arriving! ^4 J# T& f5 n" }) _
move into Q_queue //load进入队列中8 N% N, N( A) T G D% l
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘( x" l3 S3 _% \* I' ]9 I# J
begin ( O( `( i4 ~7 _2 E
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失% Z6 k! Z3 d- P# D D! A
create 1 load of load type L_new to P_next //创建一个新的Load
: V9 S) E$ b5 @# e" @9 I1 ` end6 t( P9 [; D; n3 R9 \
else//如果OrderList中的托盘数少于4 则进入
- g7 Z$ {9 n+ W' c/ s' v7 W wait to be ordered on OL_ orderlist
% Z6 S4 q0 Q) n% @5 b# K Z. |end# i( V4 f" K3 `( V: }
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|