|
|
. o j: i2 ?3 O! T& H- R7 U
我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。* u% ~# d- U- P8 A) A
首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。5 J0 ?" F. W4 q/ W) E$ P; s
然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
) x3 ~- |* s Z: X0 G4 q接着我们就可以编程序了,源代码如下:
m& L$ @8 F' X) k4 rbegin P_process_name arriving M5 X5 z$ Y* {3 L5 S4 D
move into Q_queue //load进入队列中- ?2 @6 q: E* X% k+ s" W+ W8 \
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
, K" v) z: A1 ` begin - G i( @( I$ h- x5 f% S `
order 4 loads from OL_orderlist to die //取其中的4个消失
( g8 I! o) J/ N* j set load type to L_new//设置第5个进来的Load为L_new类型的
) ?$ U @( t `, T3 A send to P_next//进入后续流程
0 Q- r, c& J& _4 b- q end' H! |* q) ^' q' |, L8 D% }- q- y
else//如果OrderList中的托盘数少于4 则进入
$ U! \2 K/ Z& a/ X wait to be ordered on OL_ orderlist8 }& t5 @8 }2 d7 O+ L
end
, h( r! y8 j' F; }! Z这段代码还可以精简为:
7 k! O, U# Q/ s* z' ]begin P_process_name arriving7 x) \5 T# i7 q
move into Q_queue //load进入队列中
/ _. [) ?5 D; z if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
0 r, g1 K# G1 K O, B- K) X' e; u begin
* I9 l* v& s0 o* n! H$ Q order 5 loads from OL_orderlist to die //OrderList中的5个全部消失3 V. u( E: T9 j
create 1 load of load type L_new to P_next //创建一个新的Load9 G6 Z8 p) Z4 y8 S
end1 v; x8 {$ J6 W1 N) q- M# I
else//如果OrderList中的托盘数少于4 则进入% F6 \7 K4 E( w; z& ~& E! a5 u
wait to be ordered on OL_ orderlist
: U* o5 m5 k" N( L3 m; uend
$ m; |* i5 B3 D, I% P5 \ F这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|