|
|
0 \' Q x C, l/ a; K# c我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
# u+ |- P) L" t n9 `" c首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
Q/ X% ^; ^6 [" _然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
8 y$ A7 f( D; x! a3 {6 E) U# {接着我们就可以编程序了,源代码如下:3 _/ I0 X: B% {) w/ A$ \% O9 v
begin P_process_name arriving3 c; I( s" C" v8 Y0 M
move into Q_queue //load进入队列中, v' ]5 P. L( |$ l& p: F( I
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘, R; ]# J0 c& `% e1 y. Z
begin * v) w/ d. U4 q* ?! U4 N
order 4 loads from OL_orderlist to die //取其中的4个消失! f+ w) [7 z1 N* r0 l5 z, E# m4 W
set load type to L_new//设置第5个进来的Load为L_new类型的
7 u+ _* {8 r: K; H3 f/ } send to P_next//进入后续流程
" b: D3 f, W; `! L+ i0 ]7 a end
1 w; V L: W2 ?3 @% ^! b2 D else//如果OrderList中的托盘数少于4 则进入
3 |- d# C7 W4 W$ I wait to be ordered on OL_ orderlist
" i) i3 V. u! R" Rend7 E# t$ E: z d8 m% M' z
这段代码还可以精简为:( `2 H9 t: \4 Y4 k' T
begin P_process_name arriving
+ V% L9 {$ C, c) {! g; K6 c! X move into Q_queue //load进入队列中0 q) f. L/ x: ?2 e6 R+ h0 @1 v
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
* G( ]# \5 R% n- h2 K2 r begin 3 @- m+ f/ ^" Y: ~
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失
6 n( l. O, D6 z& `# C create 1 load of load type L_new to P_next //创建一个新的Load1 B" W! u X; M% K
end
: Z3 G8 a7 e5 @9 T# T. w6 `7 ^ else//如果OrderList中的托盘数少于4 则进入
. O4 H* f9 z( C, m wait to be ordered on OL_ orderlist8 c3 J+ x9 c H
end$ m! S, y/ A) z# G: t: l
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|