设为首页收藏本站

最大的系统仿真与系统优化公益交流社区

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8726|回复: 2

[原创] 用OrderList与Queue结合实现叠盘系统的方法分享

  [复制链接]
发表于 2015-5-18 21:21:01 | 显示全部楼层 |阅读模式

9 R8 ]  ~$ M; }1 ]5 c我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
: y0 E: p. _  m# o首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
! X; [1 Z7 B3 j' {然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
( Q$ d4 |6 \( ?4 Q5 V( j* |. z4 |接着我们就可以编程序了,源代码如下:
8 E  T& E; X! K' ~6 j3 x% tbegin P_process_name arriving, L9 ~' X4 P- N& v2 F8 [. e  _
           move into Q_queue        //load进入队列中/ x9 y4 c( Z: [* ^3 a, Z! n
        if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘8 G1 K* \' Z4 P+ L/ t8 b
         begin        
* K$ E0 z# D; ], i6 Y) r                order 4 loads from OL_orderlist to die //取其中的4个消失
9 n1 ^0 x& e# i" T' k# w+ _                set load type to L_new//设置第5个进来的Load为L_new类型的9 S  L$ w$ Y" M5 W8 B+ v
                send to P_next//进入后续流程                        + g: l9 H! {7 N+ |: U) k, @- C
         end
$ T1 D6 j  P" |* ]' H9 C        else//如果OrderList中的托盘数少于4 则进入
3 o2 i+ L% Y+ G0 v# h: R$ a                wait to be ordered on OL_ orderlist3 G% q! l* g, U1 N9 z" x" A# Z7 y
end$ e0 i& f' U7 T6 i8 B# B3 B& E, f6 J
这段代码还可以精简为:4 F' m# M8 H' D( n% o' O
begin P_process_name arriving7 w, s3 j& v6 o( E( k# y6 L1 U" q
           move into Q_queue        //load进入队列中
- `# c. X& G1 A         if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘* ?. \8 x; C% o
         begin        
! K1 o4 `" h" b( q' u                order 5 loads from OL_orderlist to die //OrderList中的5个全部消失' b  S1 x0 j3 u0 p) S
                create 1 load of  load type L_new to P_next        //创建一个新的Load, e+ T* {1 }9 e) k
end& g) N. C( l( p6 ], m" O
        else//如果OrderList中的托盘数少于4 则进入
1 o; H7 `6 J# s; O" P. a2 N3 F                wait to be ordered on OL_ orderlist! |" O7 w  H7 N
end
2 M; D2 D7 d- g2 p6 V这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1仿真币 +182 收起 理由
linweixu168 + 182 很给力!

查看全部评分

发表于 2015-5-23 18:08:33 | 显示全部楼层
平时做项目也会遇到这种情况,作为初学者,长知识了,谢了,,,,,,,有时间把我们的解决方案贴上来
发表于 2015-8-2 10:13:41 | 显示全部楼层
不错,谢谢您的分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|SimulWay 道于仿真   

GMT+8, 2026-9-10 13:50 , Processed in 0.027801 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表