|
|
+ e$ m3 y1 o$ ~& X我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
* y& |) S0 `! v首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
* v$ I/ L- b! p/ O然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果' {" ^, A. G8 R. ?1 D) ?$ M
接着我们就可以编程序了,源代码如下:; C) e X$ K# b+ j
begin P_process_name arriving
- o" m L! T+ }+ [7 g move into Q_queue //load进入队列中" F1 o% t; @# k& u" K2 {3 [
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘- z0 ]7 {. k/ B9 s
begin , i% S4 h# P4 o B; q" e
order 4 loads from OL_orderlist to die //取其中的4个消失
# ^3 [% x8 T1 r+ n) O, V( e; k8 O set load type to L_new//设置第5个进来的Load为L_new类型的0 I7 d4 L% O$ _$ a [
send to P_next//进入后续流程
+ J: A: g I) {0 }8 n4 D1 V% Z end$ [: d8 m4 p A
else//如果OrderList中的托盘数少于4 则进入# r) W" W( @5 t1 E, L
wait to be ordered on OL_ orderlist
/ Y" v% l6 ?6 b* o. b3 {end% V: A+ L3 M! Z' j: k
这段代码还可以精简为:
; f! ?# y1 T3 j8 T0 ~% ]begin P_process_name arriving. i* r V! u, C" Y( n: J1 ?* n
move into Q_queue //load进入队列中
+ a0 F6 v% ?! E2 k* ` if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘/ H) i- S# s- B- Y+ l& G- _
begin
' a' L) j+ j9 `9 k$ ^+ P3 c4 @ order 5 loads from OL_orderlist to die //OrderList中的5个全部消失
0 R3 v. g5 Y7 }6 m9 C" n+ I6 m/ M create 1 load of load type L_new to P_next //创建一个新的Load
4 {+ O$ B! i8 p& }' T2 f: N end$ U6 D7 j6 v* I" L. \3 F* i# h
else//如果OrderList中的托盘数少于4 则进入: o; H& ^6 b* J, h! x8 T
wait to be ordered on OL_ orderlist
5 W, r' I0 n: s4 _end
|/ f1 c! |! S* v( [$ U: y这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|