|
|
" v. m: J9 r; \4 u; c. w我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
7 N- Y+ R. R+ P2 o首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
9 t3 S3 Z) o: a) n* H- J; c然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
* N/ B" M5 B% `0 w* t接着我们就可以编程序了,源代码如下:8 T: M Q! z, R; o# H- t
begin P_process_name arriving. d E: H. ]9 q# P4 n+ Y/ F C
move into Q_queue //load进入队列中" w& {4 l) O/ R& A- Z
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘$ s0 i. }9 A% L4 R q
begin . K1 H9 w6 ^+ u9 U
order 4 loads from OL_orderlist to die //取其中的4个消失6 ~/ ~8 D) r9 u8 A
set load type to L_new//设置第5个进来的Load为L_new类型的
, T7 X7 j4 Q8 r9 q0 a6 l9 u/ g send to P_next//进入后续流程 ; s/ Z0 M8 G: |: J" \5 ^- n
end6 Y7 |" X( I' O! g1 ^7 g
else//如果OrderList中的托盘数少于4 则进入
" T* ?3 }7 I+ V5 S& d, ` wait to be ordered on OL_ orderlist3 U( C& e2 _2 E
end
5 ^- x3 D8 E( z/ F+ C, Z8 u这段代码还可以精简为:
- l2 n$ E5 b- h( pbegin P_process_name arriving
% }3 t2 N; C- d move into Q_queue //load进入队列中
. v% K2 Q9 M9 _, T0 q, k if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
: p( o0 k1 t+ h% \$ t! r: m; D7 D begin
& s1 {/ }& r& T0 H2 C( R7 G# P) Q order 5 loads from OL_orderlist to die //OrderList中的5个全部消失. ~7 N& ]3 Q; M
create 1 load of load type L_new to P_next //创建一个新的Load
2 U7 s F' x" d* V/ I' H4 J end# a" G! a) g& E. v a5 U; w
else//如果OrderList中的托盘数少于4 则进入
3 i: T7 Z$ c, D$ e$ T% z wait to be ordered on OL_ orderlist" ?/ ^; ?1 P% U* c! G; P# ^
end4 u( {1 _- i& e
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|