|
|
; B& U. v, W/ m8 k1 f
我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
8 D; ~( v6 }5 d+ H9 X首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
7 N* K8 z# Z, p9 t, Y( x. b然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
. c4 N! h* a) ~6 Q5 l$ s( e接着我们就可以编程序了,源代码如下:
, Z( I8 v8 e, F4 M, }% X2 ybegin P_process_name arriving! V( S# b" r1 \) E/ m
move into Q_queue //load进入队列中
& n! d$ C; d( {7 B L( [/ t if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘2 K: I& U: C3 R
begin
8 h0 ?8 m" V. V# ^, { order 4 loads from OL_orderlist to die //取其中的4个消失$ c2 f/ S8 a6 M1 _% o' ]
set load type to L_new//设置第5个进来的Load为L_new类型的7 Y! F6 ^! h) g
send to P_next//进入后续流程
0 v, Z0 [; j: ^2 z2 B' |; Q) g: n end, G( _& W: a7 E; v. Z
else//如果OrderList中的托盘数少于4 则进入 i; ~' l; P+ H. R b
wait to be ordered on OL_ orderlist
% ] W% L# {) A. r* t. Hend
8 a/ B$ W: J6 }) |/ e这段代码还可以精简为:
. G7 T) X: X4 cbegin P_process_name arriving
# \5 y) h, a [- T( I8 H move into Q_queue //load进入队列中' \- U2 Z& j% n7 O3 {
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
8 T+ z6 i9 s R5 \ begin
) ]8 w- G T9 Y order 5 loads from OL_orderlist to die //OrderList中的5个全部消失! J" [, a) J9 w& z" e2 r
create 1 load of load type L_new to P_next //创建一个新的Load6 z, H8 u7 W: o! F
end& o A2 x0 V0 g# L, z/ L1 q8 b
else//如果OrderList中的托盘数少于4 则进入
; t9 ~9 x: h8 Z+ e wait to be ordered on OL_ orderlist3 k1 F: J/ ~# `1 @5 x
end
: M' M4 V L1 {( m4 M4 S' o% X这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|