|
|
! K- ^$ K- Z9 K& v& G* f6 A* D3 x. W0 R
我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
0 m ]1 o+ p7 e: @7 Z首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。# [- w8 A; _2 E2 e: L
然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
6 Y1 w8 v4 T. s4 P: p接着我们就可以编程序了,源代码如下:9 B$ }2 ~) _ I4 _. L! u2 ~) X4 t
begin P_process_name arriving
1 k, U) O0 C$ \) R" j, e( \) X* P5 v move into Q_queue //load进入队列中- [, g2 W6 E% w. l$ [& L. F! }
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
6 a5 J6 S) v' e" @: p begin . R2 p4 j+ k! ] O$ ~/ j" Z# f* J
order 4 loads from OL_orderlist to die //取其中的4个消失! g0 |/ j, J6 j
set load type to L_new//设置第5个进来的Load为L_new类型的4 {3 x* r( u. `( X$ o# K
send to P_next//进入后续流程
& B; ^* B% c) w) v* W0 V/ d( U6 [ end
" {$ O" U q! W% U( Y/ h else//如果OrderList中的托盘数少于4 则进入! F# E0 l: m& d @
wait to be ordered on OL_ orderlist7 H1 D5 Z$ R4 J- b4 q- p
end: B- N- Y! A- S4 h5 E# R8 b4 N
这段代码还可以精简为:9 b6 B* O! g, D
begin P_process_name arriving
6 T: L! Y) @/ E* \. O move into Q_queue //load进入队列中 S/ @, ^1 a+ E) s" p3 E( ]
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
5 d- @+ U, p2 N6 _/ w: S4 W% Y begin ' [- |2 s' F# L( Y1 N
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失
, N0 X1 Y2 U% Q) N1 y2 }) R7 n create 1 load of load type L_new to P_next //创建一个新的Load
" ^& o/ h* l. Z9 J end
D# B* ~' m l8 S8 w else//如果OrderList中的托盘数少于4 则进入
- @ |" s1 l; _ f- G* U- [ wait to be ordered on OL_ orderlist7 O3 G8 C1 Q2 B8 L1 y! v
end
5 R/ x6 r: B# }+ z( B这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|