|
* u: w6 f2 L; g f, S0 A: {
我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
8 ~( I- s3 J0 \5 ^; i2 i首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
9 k6 X' @8 X2 ?2 U然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
& r5 E9 v" N1 I' {接着我们就可以编程序了,源代码如下:5 r X- ~8 z. e9 Z
begin P_process_name arriving
* [: n- j% e3 C move into Q_queue //load进入队列中1 z( z4 h/ Z" P+ ~9 t
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘 n6 ^4 X% J: w7 W. V- [/ I
begin
/ b* Z8 L. s3 o* _ order 4 loads from OL_orderlist to die //取其中的4个消失2 Q9 T+ K$ U P- t, B7 p6 x
set load type to L_new//设置第5个进来的Load为L_new类型的
+ R. ^: W: n) u send to P_next//进入后续流程 # X/ h J3 m' \/ v/ W2 ^; G- w
end7 k; \7 T2 g$ \
else//如果OrderList中的托盘数少于4 则进入% z* `# i2 q& F4 p- l6 N! }
wait to be ordered on OL_ orderlist
2 `. I$ P, M }2 h/ M& {" xend8 _' j9 u" y ?4 {
这段代码还可以精简为:
) v" B; Y7 J, v2 }* Ubegin P_process_name arriving6 J/ ?1 y/ g/ T: S+ B6 @" \0 U. D) p
move into Q_queue //load进入队列中$ D$ c7 p; x; T- p' j) F- D8 D
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘3 @6 V8 P, E! x0 Z
begin 1 t* y$ C7 a7 N
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失4 C: J7 d# u, ~# O$ `- D/ e/ O
create 1 load of load type L_new to P_next //创建一个新的Load h4 b3 p# I6 C0 I* Y9 c7 u; G, N; f
end
" r U/ G! d/ C0 z& Y) o else//如果OrderList中的托盘数少于4 则进入
. n6 J' s) ^0 p( J# |" ~ wait to be ordered on OL_ orderlist
3 N+ |: P7 b8 q* U- aend
, \ q$ X9 o' {, m这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|