|
|
( ?+ l! K5 `( A& I
我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
/ @+ ~- w( p, M- M0 G6 f. @" P; @首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。% j3 Q( {/ t' Y2 C. Q% d
然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果) \! P- m( e6 ?/ t- S; f! @
接着我们就可以编程序了,源代码如下:
: y9 r0 X5 \* c7 q& c( ]7 fbegin P_process_name arriving
3 m8 l: ?2 C8 H6 n1 Q% w7 X. M- W move into Q_queue //load进入队列中
/ ^% h- [& C$ v+ X+ j& Z if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘* h. f& v' e) I- k
begin # k4 [# ~+ Z' W+ v1 S- P- J# p
order 4 loads from OL_orderlist to die //取其中的4个消失
X! W3 p% ?0 J+ L: { set load type to L_new//设置第5个进来的Load为L_new类型的
2 c4 I& d8 h ^ send to P_next//进入后续流程 - u) u4 [5 g0 X( X u a- O" z
end
) R& m* X+ H$ x& Z+ v/ k: c8 Y else//如果OrderList中的托盘数少于4 则进入
$ e; a' p: p% E wait to be ordered on OL_ orderlist7 L4 P# ~% u+ l7 s2 V$ K5 I1 h. o
end3 c5 t$ J3 M- r* j
这段代码还可以精简为:5 [/ m* `8 Z" r# a/ C
begin P_process_name arriving
5 N* M& e4 \) z0 P move into Q_queue //load进入队列中
+ y1 n; Z' d# X$ D, v; b if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
! M3 s1 f6 g4 H: \ begin
& @5 Q5 T E2 V G% n0 V1 ` order 5 loads from OL_orderlist to die //OrderList中的5个全部消失
$ a/ g( h3 ?& H; t+ X- p create 1 load of load type L_new to P_next //创建一个新的Load
" Y w+ V1 J* D, }" Q/ ? end& z- Z6 F4 f i4 y) D
else//如果OrderList中的托盘数少于4 则进入
! _' z/ W5 |) y" Y# u9 D2 G3 h wait to be ordered on OL_ orderlist
4 d; d" q, ~, Wend/ T& i1 R; ]3 I v
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|