|
|
% `1 P G, v* u6 {2 s# R3 E$ V
我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。" d" `0 K# T$ M7 Y, Y
首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。+ I9 K8 }% o& j( T# U9 r* F
然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
( p! f2 k; {4 k- L+ R接着我们就可以编程序了,源代码如下:: X. L8 N' a+ \4 J% J
begin P_process_name arriving2 G) W9 s9 e+ ]6 a; o% J- J
move into Q_queue //load进入队列中4 H" h5 x2 F# C [' R
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘6 p- O. H. \1 n6 O/ ?! d/ @
begin
# D9 q# e7 |7 m order 4 loads from OL_orderlist to die //取其中的4个消失" u* B0 i+ V) N L$ H- y
set load type to L_new//设置第5个进来的Load为L_new类型的
0 Q7 |: A4 T$ k6 O) m# {2 q send to P_next//进入后续流程
. v2 a: h, N1 O0 E- O2 G3 @/ I end
( Q( k6 e$ g4 O. r else//如果OrderList中的托盘数少于4 则进入
1 k" o2 D# t5 @* ` wait to be ordered on OL_ orderlist
1 I$ i$ e7 t, Lend# V* \, e) s# m" U# H& c! M
这段代码还可以精简为:+ O# F5 R4 R; z+ \6 _$ |
begin P_process_name arriving+ C8 P4 Y. u8 Z
move into Q_queue //load进入队列中
* z" t4 q6 t8 ~! \% a- a: t7 { if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
# V1 N! ~; T, r9 ` begin
2 I: q' ?; B) W) e7 q5 q% x order 5 loads from OL_orderlist to die //OrderList中的5个全部消失/ _/ P/ m9 i/ C
create 1 load of load type L_new to P_next //创建一个新的Load
V5 G& Z$ S" d0 Q, q) i- c end
3 V2 N- r7 I# i- q, W else//如果OrderList中的托盘数少于4 则进入
x: i7 v/ O# ]1 v) ~ wait to be ordered on OL_ orderlist3 c! ]2 f' g& D( o! |
end# B6 Z1 d0 r3 l. a; Q& r% M
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|