|
' c1 ]+ H1 }! [" s6 x: K我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。6 J9 W' g! D- i: w
首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。* {) O7 O0 _) ]+ s6 ]
然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
% ]6 H8 {1 n0 O3 g接着我们就可以编程序了,源代码如下:. I7 U$ n+ j5 R
begin P_process_name arriving" Z; t6 X. `+ M
move into Q_queue //load进入队列中
) [4 ~( c% K" E if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
+ c3 N" [8 ]# |" U) R. S7 Z begin
1 }1 D! ]% J& @$ A; K3 w: b order 4 loads from OL_orderlist to die //取其中的4个消失" e X7 |+ j) {" A" V0 ]* c
set load type to L_new//设置第5个进来的Load为L_new类型的- c6 B3 M1 _9 ?5 S; M- b" B
send to P_next//进入后续流程 , {, h- |: i1 E1 u
end
1 s$ ^$ r5 |4 s' u% H else//如果OrderList中的托盘数少于4 则进入; c" q4 d1 t/ N% {
wait to be ordered on OL_ orderlist" O! S9 f$ D( a+ |3 C( J/ q
end
7 Y( e& {8 ]$ q3 Y% P4 L. ?这段代码还可以精简为:
: N0 {: K/ M. e1 n. l# W# {begin P_process_name arriving
) {+ ?" m. J; C& ?( x: |5 I move into Q_queue //load进入队列中
Q' ^4 x4 g% y$ Z1 Z if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
' C' L1 e0 H) `, m9 E* G9 M3 R begin
3 q- n5 Z8 v! B3 ^; W: d! w1 \2 D- ] order 5 loads from OL_orderlist to die //OrderList中的5个全部消失) P0 A& v3 t& {, L5 b+ i, `; O
create 1 load of load type L_new to P_next //创建一个新的Load2 d/ V3 K% V$ Z- \7 |
end
* o/ M8 \# _! z3 q0 e else//如果OrderList中的托盘数少于4 则进入
* |6 N8 v5 O! r: I& J/ \ wait to be ordered on OL_ orderlist7 \, } D1 e3 K
end
, s6 V0 g! B5 L这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|