|
|
6 o1 x: j* H) l* M9 N: B- J
我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
6 A* u5 L2 ~! `3 K( p- D- B首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
. ~! R" H# w) D8 g然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果7 P- C( j8 e* |* s8 A0 M
接着我们就可以编程序了,源代码如下:
4 m+ |. c% @' a ^- H6 [begin P_process_name arriving
. x9 n7 K0 W4 L move into Q_queue //load进入队列中0 B# A+ [ `# ]8 y& v) Z( W
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘8 {5 }" r. C3 e6 v# i5 H. N
begin
( N0 [* [ q; C, Z order 4 loads from OL_orderlist to die //取其中的4个消失2 S; p; k, z8 B; u" T
set load type to L_new//设置第5个进来的Load为L_new类型的. b3 j: l- ^. e1 k; j
send to P_next//进入后续流程 - S3 w% F* B1 B; T* | x
end* P/ _7 f# u- t) m) g: G, B
else//如果OrderList中的托盘数少于4 则进入
3 h Q: F( r7 S, H wait to be ordered on OL_ orderlist
3 u: Y& r" @% G+ U2 nend
5 l* ~) J8 q5 c" s! k: d% m这段代码还可以精简为:% {- |$ z9 W4 J
begin P_process_name arriving
# i+ Y4 t. n1 w; B7 _) w$ u6 {& }. u move into Q_queue //load进入队列中
2 Z3 l0 V' f2 {/ L* v; b if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
3 J, R$ @6 @0 ~& o: q begin
. l4 F* {& {0 t order 5 loads from OL_orderlist to die //OrderList中的5个全部消失 n5 O! s+ q- b& H; w9 ~1 H
create 1 load of load type L_new to P_next //创建一个新的Load) y+ I' Q- j5 m& `
end
/ l0 O D5 h6 z else//如果OrderList中的托盘数少于4 则进入: H" a9 P4 \+ S O2 d
wait to be ordered on OL_ orderlist
. g) d, r K5 ?; ]end8 Z3 k& T- K. m0 M3 ?
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|