|
* Q' v. O! Z* N: q% B7 D v我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
+ d; r4 T; b* c5 j首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
9 o2 M- s. g ^- ?- ~9 F$ n( B然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
: ]& I( k% p- \5 c+ D接着我们就可以编程序了,源代码如下:% _% M! S7 q5 i' ^9 i; g
begin P_process_name arriving
& u1 L+ {7 W6 s" E, V- _8 o) N move into Q_queue //load进入队列中
. a/ U3 P3 J8 @ if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘; H$ E& a: I3 G/ [6 M7 m7 b8 y; N
begin
- N! {& K; h& V! i4 C order 4 loads from OL_orderlist to die //取其中的4个消失% Z. g. ?1 o {( {: N/ \
set load type to L_new//设置第5个进来的Load为L_new类型的
7 C* a" K4 v+ t# t9 |/ G: _6 N1 B send to P_next//进入后续流程 : S/ _3 A! h) V8 y9 F3 e$ o
end$ Q& p' m0 W& p! J& T
else//如果OrderList中的托盘数少于4 则进入5 J$ K5 v' y$ h
wait to be ordered on OL_ orderlist2 ]$ W# i3 k# _, p- c' R, H3 g
end
! X" ]) @5 b! K- L# ?这段代码还可以精简为:) e( P4 q5 ]) {& N- Z, z4 O9 R
begin P_process_name arriving4 f3 V2 J$ e/ F: q
move into Q_queue //load进入队列中3 U# v% U. [8 P8 @$ M) j
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
( L* M9 J/ s! ?' l begin # @' j" [* A% J* T
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失
' v$ a; m3 h/ o' u2 m create 1 load of load type L_new to P_next //创建一个新的Load
( Q5 `/ a: j4 @ K8 e/ u end
5 J7 ^4 c3 X$ A. p9 t else//如果OrderList中的托盘数少于4 则进入
: Q; ]( b8 L$ d wait to be ordered on OL_ orderlist2 a+ ]/ o* [$ Z( S& j' i
end
# j( `1 S+ e. r5 h0 V- C! U这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|