|
$ x' i% `6 V4 r l$ M2 B. c {
我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。, f& w3 y" h! s6 r; b- P% `
首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
5 ? t% X9 r' ~然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
T6 H+ S" m' d- U# g7 }5 c8 F/ ^ {接着我们就可以编程序了,源代码如下:
+ N1 Z: j1 E( V% kbegin P_process_name arriving
W q8 a: }9 D/ o4 U% A9 i move into Q_queue //load进入队列中
7 A8 g G# Q1 H: Z% {" n/ j if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
0 q Y- f8 E( S2 F! F begin 4 Y$ S) G' C' M
order 4 loads from OL_orderlist to die //取其中的4个消失
x0 D5 f/ X- `$ D+ w/ s. W. N4 B set load type to L_new//设置第5个进来的Load为L_new类型的
8 {& U, A$ h8 I send to P_next//进入后续流程 2 _" u0 t+ i! A4 t
end8 X2 Z2 U6 b$ k' y4 f' ~
else//如果OrderList中的托盘数少于4 则进入/ b1 X( j; F3 i8 X: K! }
wait to be ordered on OL_ orderlist
% @+ Q" Q3 l# C+ A" Iend# `) R; N/ c- B; B% }& ~5 y6 h
这段代码还可以精简为:6 \( G; j; ]) c/ p6 a
begin P_process_name arriving' U& a6 k$ b6 M; [, i" ^, R/ K
move into Q_queue //load进入队列中3 }; b5 |+ Z" _. W' O
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘4 y% @5 \& c( q& m+ Q4 U
begin
4 K3 L% M' e6 v8 E3 `' u order 5 loads from OL_orderlist to die //OrderList中的5个全部消失
0 `2 U. R* E5 s9 T Q% S create 1 load of load type L_new to P_next //创建一个新的Load
. d7 j: Q/ `9 N* ?9 o end( C$ V8 Z; d' v; S$ d( ]
else//如果OrderList中的托盘数少于4 则进入 k( w, J4 Y p2 S, ~8 ~
wait to be ordered on OL_ orderlist
6 ^4 n" k1 I0 K+ {, Aend
; `8 V) s- b1 M0 V' ]" ^+ G这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|