|
|
. m' R; r4 z4 d9 E+ l
我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
0 ^# d( _3 b( j, h( M首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
' O% j7 H3 _. ^4 {3 |4 f5 B7 @6 \然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
) ^$ h1 c' Z3 m; r2 F+ ]+ V9 ]5 u接着我们就可以编程序了,源代码如下:
8 u& r, V+ N* I8 G: Mbegin P_process_name arriving) d4 ?, y: P! I8 K: `. A
move into Q_queue //load进入队列中
! R2 S: j L$ Q& X7 ] Z if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘 q$ M. _" e2 d/ C5 j
begin 8 I9 t! I" G; o* u% n& g3 z* N' D2 E
order 4 loads from OL_orderlist to die //取其中的4个消失0 f W: B8 m+ r( y$ W0 ?
set load type to L_new//设置第5个进来的Load为L_new类型的$ c1 G5 x) l) A9 N2 ^+ C
send to P_next//进入后续流程 , \8 c- \" D/ w! O8 ~1 q) e
end' k- ^2 m* l$ m- `
else//如果OrderList中的托盘数少于4 则进入, q q; v! e0 }5 ?) Z1 X5 K+ d# b
wait to be ordered on OL_ orderlist
2 B r* G# B( R( vend
+ P0 H5 f6 z6 y3 i; q6 u9 A这段代码还可以精简为:( I1 _$ B. Y# X9 b/ {
begin P_process_name arriving
5 k0 N+ M. }: n2 g3 F move into Q_queue //load进入队列中6 a) M4 _ S) F
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
. e; D# \6 B: x5 p$ R6 X begin * m5 l( v7 |& O5 x z
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失
* s3 r9 \0 U$ G" h create 1 load of load type L_new to P_next //创建一个新的Load
# `/ y" c: m8 Z end
4 P! j, w$ c' @4 y# f9 ]8 t9 E else//如果OrderList中的托盘数少于4 则进入
& \; G2 q$ T Y wait to be ordered on OL_ orderlist
# t* ]& o/ A0 V/ [. }* v: s, Mend4 K( j/ O$ z# I% \. j4 x/ v
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|