|
9 U8 S% Q& V0 k1 T
我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
: e8 D0 a: j; F1 C, ~* Z ~3 v C首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。0 P) ]' y1 E1 R! S4 j
然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
2 e m. l0 ^2 K e1 U( b1 L接着我们就可以编程序了,源代码如下:
5 q j9 F5 D) nbegin P_process_name arriving
8 M8 I. O) O0 N1 U" T7 A" u9 X move into Q_queue //load进入队列中
) g7 h& {* H7 n0 F- W4 X h+ { if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘6 p2 T; ?; v: W$ [9 ]
begin 2 V& W: r" h# ]9 a2 g( D6 n) A F
order 4 loads from OL_orderlist to die //取其中的4个消失
8 b) _ T: O& M8 ^, K set load type to L_new//设置第5个进来的Load为L_new类型的/ K- F5 ^( Z; _( _
send to P_next//进入后续流程 6 e, r$ m! T. S
end
7 p1 z- w3 u3 P else//如果OrderList中的托盘数少于4 则进入
9 x' z- B+ L- S( M3 k4 a( d; T* U wait to be ordered on OL_ orderlist
& _3 m( g& G7 k- w$ E2 Z2 u/ Rend- v6 O. c- F) B+ ~
这段代码还可以精简为:
! y" ]7 z: H7 }7 r7 l" Bbegin P_process_name arriving% P- H& {5 Q; m+ ^
move into Q_queue //load进入队列中. ^( r- e% z- I& S
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘0 _) T3 T5 I4 A" ?+ [
begin ! {$ r4 Q6 g+ K$ V0 {
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失; F9 L& Y; r, \: u/ c
create 1 load of load type L_new to P_next //创建一个新的Load
! O1 B' E- T) N, }( u, @7 w end
9 }% d; g2 n2 o* X" J! W else//如果OrderList中的托盘数少于4 则进入2 \. H0 {. L' |% V6 d
wait to be ordered on OL_ orderlist. U \; v' O" K$ x& _" ~
end
: D6 C& J5 a$ @; q' }: b0 I- n这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|