|
|
7 c: T2 J- v$ |1 @7 l% z
我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
0 A: X: s& t5 e2 Y首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
! p) i* B; N2 c, P然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
! e2 L4 A! I2 @接着我们就可以编程序了,源代码如下:
) I% o! f D4 N0 a0 m0 C3 o. pbegin P_process_name arriving
; \& \9 H* C: ?, X move into Q_queue //load进入队列中* D: @ H- D# l3 Z
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘4 U: |8 g) O' {, ~
begin
( s; S$ f+ N( l# v8 y$ s order 4 loads from OL_orderlist to die //取其中的4个消失
. y: E9 @( x9 ?6 S1 V' ^ set load type to L_new//设置第5个进来的Load为L_new类型的 p$ U- x' W: f1 V5 N/ s
send to P_next//进入后续流程 : i9 q3 n4 A/ G6 v
end
9 x7 v4 S' z! V7 u+ I) H7 f else//如果OrderList中的托盘数少于4 则进入- C% q' f# [7 N7 ^
wait to be ordered on OL_ orderlist: j# v9 B' F& T3 o
end
5 T4 v- o e) k9 o8 n( z0 i) E这段代码还可以精简为:
. k+ S5 p" k: D' o, ~- qbegin P_process_name arriving0 V7 i- q5 p3 z2 B
move into Q_queue //load进入队列中/ R5 B! m4 v. \' i- u8 z1 v
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘* x, |9 l v. F3 f, Q# _
begin . J) W8 ]- l: n6 @: } x
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失9 r7 U0 L8 t' I$ \/ f* O) `
create 1 load of load type L_new to P_next //创建一个新的Load
7 k) Q# o; y" s6 G% ~0 x$ s end
" S, u$ P" x4 a" @7 t( w else//如果OrderList中的托盘数少于4 则进入
( e) p$ N0 w& U# o. n wait to be ordered on OL_ orderlist
* P* S0 Z2 I V" Nend" ?4 h$ w& y: |0 V4 ]
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|