|
1 _/ ~7 m) x# p! j8 n A我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。& q" D4 X# h3 Z) M, ?3 r/ S
首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。 W" ^2 U, Y `6 `% M, M
然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果* U, i; Y( ^9 Z7 Q$ }
接着我们就可以编程序了,源代码如下:5 n% s2 t. S. Z0 @1 \/ y
begin P_process_name arriving
) D; A9 c) {: _ move into Q_queue //load进入队列中
0 |$ y2 w" H2 W* C if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
! \- K: C0 C5 u B0 K. z begin
- r; n' C! {) `# L5 u& a order 4 loads from OL_orderlist to die //取其中的4个消失0 Z; N3 ~ j5 w4 ^, k+ W: d( E
set load type to L_new//设置第5个进来的Load为L_new类型的! y% f1 b7 W$ F
send to P_next//进入后续流程
1 V' N) ^& ~& A& Q$ M' P; I9 l end/ K1 ~+ y! e. h; U0 z7 s2 G
else//如果OrderList中的托盘数少于4 则进入* E9 ~- L* ^& F: f% i7 o
wait to be ordered on OL_ orderlist6 J' ]' E. S8 O( m' n, k& {
end3 ]5 F4 u. n d+ f: h3 K
这段代码还可以精简为:
M2 d# y; u% P0 ebegin P_process_name arriving
' t6 T6 k) h% e$ P move into Q_queue //load进入队列中
* u* {) w4 p# Y# o9 _$ i3 j/ Y if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘; T: Q5 O4 L3 @1 ?; T" H5 e
begin
8 i- U; l' {3 X0 T( X+ m2 p order 5 loads from OL_orderlist to die //OrderList中的5个全部消失
2 ^& }5 |: `9 R' B( m create 1 load of load type L_new to P_next //创建一个新的Load
: B+ _3 ^8 K% X) @! P: L end
) C6 D8 F! m/ f6 A/ M else//如果OrderList中的托盘数少于4 则进入
4 {. T+ K8 `) q wait to be ordered on OL_ orderlist, W) {2 e. _7 j$ l* I& B
end8 _: r- @7 }/ T# O
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|