|
|
0 p( T! h4 L6 U0 w
我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。- `0 ^1 C+ H0 {) p! e' J. B
首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。# m5 r& y6 z$ J' j, y/ S
然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
2 J8 x: B/ }+ r% I5 u* S0 a接着我们就可以编程序了,源代码如下:( U- Q: Y- a' Q; Z; k. ?4 E% }
begin P_process_name arriving: c5 \( U: L# f) W6 u
move into Q_queue //load进入队列中
* m- g% V1 F- R: c5 u if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
/ [8 w& x/ w3 u, D3 G begin 2 d0 z- W- f# i
order 4 loads from OL_orderlist to die //取其中的4个消失5 Z8 M; u! X$ a/ k3 B7 _* D, N
set load type to L_new//设置第5个进来的Load为L_new类型的) G4 Y1 X# i3 Y7 l5 V& {! b
send to P_next//进入后续流程
2 q& n( t/ c' Y/ B x end* S d/ [$ b1 v4 |7 ^2 q
else//如果OrderList中的托盘数少于4 则进入- U6 x' b" v' i v
wait to be ordered on OL_ orderlist3 h+ S: h. R1 O! g8 {8 Z" {+ n
end3 _7 r o! t( M2 y% N, e) w
这段代码还可以精简为:& k) z! B, x0 Z9 g& y7 g
begin P_process_name arriving* O' q, G* d2 Y- O) Y
move into Q_queue //load进入队列中4 q; i& J: ~5 U3 n4 o
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘, E' E7 v" t8 V' J
begin 2 f* m/ D4 H" ^" ?/ x) P
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失
3 P* e# u' I4 m* M create 1 load of load type L_new to P_next //创建一个新的Load! P- u) G6 S0 S1 r" o0 ]7 W
end: K& ]1 U9 b: |6 H( m+ q
else//如果OrderList中的托盘数少于4 则进入" ]* r- V' n. ^1 n. Y
wait to be ordered on OL_ orderlist0 d7 {# Z6 L: g* j
end
8 ]9 ~% h* M" { D这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|