|
1 A( L s9 w2 x) H
我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
8 [$ J# _' |& a/ D' S+ Y2 G首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
; o- e# X; r- R$ I1 A7 I8 P8 o然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
2 {$ Y5 h2 C! D N! k K接着我们就可以编程序了,源代码如下:
8 Y: v: Z( K5 c2 _begin P_process_name arriving
j% t7 i% R: q move into Q_queue //load进入队列中( Z5 n) `% }" U ?# q
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘. f6 p) g3 b) S% d2 U$ |/ K; J9 A( A
begin % F: _/ i+ t9 D; R
order 4 loads from OL_orderlist to die //取其中的4个消失
! R& Y% S2 v' h' `' c' ? set load type to L_new//设置第5个进来的Load为L_new类型的
. ~) c( ^/ F' ~ send to P_next//进入后续流程 ; H3 |8 L; ^. ]+ |( q% D! p
end0 k, ^: ?* H8 C2 Z$ Y) `5 ~( i
else//如果OrderList中的托盘数少于4 则进入* s' z" w$ h- P( ^
wait to be ordered on OL_ orderlist
3 h6 Y! n6 L7 X5 |: [4 c Iend
3 o! g" s1 N# M这段代码还可以精简为:
# T6 R# B3 M* Z1 s5 Tbegin P_process_name arriving
4 K3 Y% L" n S" g% k move into Q_queue //load进入队列中
( |) T$ R( i L5 Q$ Z! G D8 n if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘- E7 B9 S$ t! P, |8 I0 m0 q# _. E
begin 5 k+ D4 N( g8 N) n* I' c
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失/ A1 j7 g1 c+ z
create 1 load of load type L_new to P_next //创建一个新的Load8 d4 ^0 s& f+ ~( I1 v$ J
end, ]+ E8 x# L& Y! f# H: C: U
else//如果OrderList中的托盘数少于4 则进入( b9 u9 \! R* V- e& v& |
wait to be ordered on OL_ orderlist7 P5 {" Z8 D' p# Y& L0 ]/ i
end3 k9 b! C: d% }" [/ Y
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|