|
|
" m$ D0 q6 \# M# V- ]我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。- o) y) l* O4 X# x, s
首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。& m$ s" d) \; K+ G% j
然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果, s& k* S( M7 A
接着我们就可以编程序了,源代码如下:" U$ o7 }5 n% ]7 D2 y! T" \
begin P_process_name arriving- \* T* l+ H. p# m+ ]
move into Q_queue //load进入队列中4 |5 q ^# ^; o
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
. o% d- M: l6 r begin n' Q$ ^+ g+ @9 P6 t( B( F$ I6 `
order 4 loads from OL_orderlist to die //取其中的4个消失, S& Y4 Z1 |: `3 Z4 w6 l. E5 Q
set load type to L_new//设置第5个进来的Load为L_new类型的
( Y4 F2 _3 l2 y) _" C% ^4 W/ A3 h send to P_next//进入后续流程 ( B; F E! _% q1 `7 k
end5 e+ ]9 \' n, }7 g. c( f
else//如果OrderList中的托盘数少于4 则进入
% s2 A3 u+ F0 c! M% D# j wait to be ordered on OL_ orderlist# P$ J& `! t4 V+ n( k1 @
end
6 w0 E3 ~8 U3 r这段代码还可以精简为:
. z4 ?' p2 \4 C7 ]' Ebegin P_process_name arriving
3 Y6 F7 \$ [; H- J$ r move into Q_queue //load进入队列中1 q* u; R, Z/ v
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
5 {$ m u7 ?+ k5 \9 |# }; } begin
3 N( y" C3 L7 P6 Z+ s order 5 loads from OL_orderlist to die //OrderList中的5个全部消失0 L' h5 X' U* Y, S
create 1 load of load type L_new to P_next //创建一个新的Load
; Q! Q! K( O/ c4 r' I5 g6 h end& ^1 O! Z- ?- l5 g; z
else//如果OrderList中的托盘数少于4 则进入
8 C, {; m# B9 h- b; S/ y wait to be ordered on OL_ orderlist2 @! c/ f& ^$ U+ t
end, Z% v" B9 p3 |" r8 D
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|