|
5 M; e/ r% S/ v4 B, F7 T; Z2 a, G我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。" i* c% k: g# j) E; X( G5 @
首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
4 @8 ^0 S( A0 P1 `) ^; P F然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果- i/ P% b% I' r5 c
接着我们就可以编程序了,源代码如下:
8 x% P( ]2 r5 ~/ _; P/ Y2 Cbegin P_process_name arriving
7 v4 W' I: c/ R0 A" Z* L move into Q_queue //load进入队列中
" W# H$ t1 ?# P# H% c if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘1 x( E& `5 ^8 Z/ ?5 J2 I
begin
* d+ i* ?+ @; B order 4 loads from OL_orderlist to die //取其中的4个消失- d% A9 K1 Y( ]; S8 |3 j$ T
set load type to L_new//设置第5个进来的Load为L_new类型的
3 L2 k% c0 v: {, L send to P_next//进入后续流程 ( Q- r' d+ G. |( ~
end
& L+ i! _5 |( i$ M else//如果OrderList中的托盘数少于4 则进入
) f- m. p! E: |( g, ` wait to be ordered on OL_ orderlist$ e3 O0 B6 O) y9 f/ |) s
end
% ?) n6 X* X) ?* A1 I这段代码还可以精简为:
5 D2 v% [5 `" Y9 d+ M. y+ i/ @5 zbegin P_process_name arriving% A# X/ P) X3 ?1 j" l" E
move into Q_queue //load进入队列中
4 D |% x0 {" n( n, t if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘. @% q5 {' x0 g3 o2 x' Z6 j
begin ! M' _' L( `( G
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失+ F9 d( q; {1 @9 D/ h# c/ {
create 1 load of load type L_new to P_next //创建一个新的Load
% a; x* x) v* r end7 j( ^- C: B6 u5 ~
else//如果OrderList中的托盘数少于4 则进入
7 ~% L' T+ b' D wait to be ordered on OL_ orderlist
3 M' e' T/ u4 j) R7 N" Qend
V: Y# U; h& U% Y9 C3 g$ ?2 _这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|