|
|
# |) _) r: M1 {# L0 l( c0 M; K我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。 y; y9 n3 {9 n9 ~
首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
* ^' h2 E6 b+ a: s6 Z! E然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果) }& N, g( w4 v* b; N7 e/ Z
接着我们就可以编程序了,源代码如下: U3 x O: b6 u
begin P_process_name arriving
' V& t; G9 h5 D* j& c- i( h move into Q_queue //load进入队列中# c6 W8 B) e7 S
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
0 e% ~* y. ]* M$ u' ~1 n& M. x begin
' ?" Q+ `- d9 k; _/ {, [ order 4 loads from OL_orderlist to die //取其中的4个消失/ }+ |" V1 Q4 b% y c0 t
set load type to L_new//设置第5个进来的Load为L_new类型的
6 l5 R4 j" x+ M& `1 I. [9 o3 B' s send to P_next//进入后续流程 ' g! ~9 Z9 q% V4 Y
end/ s( V2 N8 f0 p) k8 E
else//如果OrderList中的托盘数少于4 则进入- Y) |: a% H3 |* B) u: Y3 Y1 C
wait to be ordered on OL_ orderlist
. T/ y3 ?7 z I2 B0 T1 T1 _end
1 D/ ~+ ~' ]) s- X9 B9 B0 [这段代码还可以精简为:
$ f" {$ n' f% ]& F* e( _begin P_process_name arriving3 w' a* r7 m8 [4 D/ Y" i
move into Q_queue //load进入队列中2 ^% ]& E- s, H) K3 ?
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
% x( v6 K' W. A begin
2 g! j& y( I9 u/ I- |. u order 5 loads from OL_orderlist to die //OrderList中的5个全部消失: `9 Y% C; R9 P( ]
create 1 load of load type L_new to P_next //创建一个新的Load
! d$ m: t5 ~/ T5 z end
9 T0 G# @0 S1 H4 P: o* T4 y else//如果OrderList中的托盘数少于4 则进入
7 O" d* p. P' g8 X; w6 t+ J! Z! Q wait to be ordered on OL_ orderlist1 [" r# \* N& V( i, p! k
end9 [ m/ F, X: {( g+ x. B
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|