设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3661|回复: 4

[求助] 怎样获得AGV小车的实时位置?

  [复制链接]
发表于 2014-3-18 22:53:03 | 显示全部楼层 |阅读模式
    有20台机床布置在一条通道的两侧,AGV在中间通道上做往复直线运动,给这些机床上料和下料。程序中是用了20个Track来铺设通道,编排为S0--S20。现在实现了AGV在等待区接收任务,执行完毕任务后回到等待区。意思是每次执行完任务之后必须要回到原点才能执行下一道任务。实现原理是,AGV每次都会停在等待区的一个固定位置,用Generator 每隔5秒去遍历AGV的任务列表,有满足条件的任务,取排序第一个的任务赋予AGV。这时AGV在等待区内,因此AGC:=Depot.cont;        if AGC/=void then  ...
, B4 \* ^& x  x, _9 E即A,B,C三个Track段。AGV去A段上料,B段下料,返回C段(等待区)。这是我目前的流程。
% t( f, \! g0 F' L9 @1 O% x     ! _& d" z6 e: T4 [) Z' e2 Y* N9 N
这个和实际的AGV行为不符,实际的AGV在途可以接收任务,不用返回等待区就可以执行下一道任务。因此想更改这个规则。请教如何获取AGV的实时位置? 不然我怎么给AGV赋任务?  * j4 x8 S4 b7 x( \
        9 f% h5 N" q) k1 f& d
     
 楼主| 发表于 2014-3-18 22:53:42 | 显示全部楼层
请大家不吝赐教
发表于 2014-3-22 01:47:21 | 显示全部楼层
gxzhouyong 发表于 2014-3-18 22:53 1 s, E. c( r; S" p8 A! p$ U& F; U
请大家不吝赐教
/ f4 _5 A, T# S( I/ a, d0 i& s
初学者,爱莫能助啊
 楼主| 发表于 2014-3-22 16:32:46 | 显示全部楼层
taoyifei2000 发表于 2014-3-22 14:31
- J: L0 J/ z5 {6 H- s% F; W你说的没错,AGV在运行的过程中,只要处于空闲状态是可以实时接收任务的,而不是非要到达指定的区域接任务 ...

$ X! H+ A) j: j5 N       多谢版主,目前正是这个思路。
/ q2 c7 D8 |, q* w    需要两个程序:2 v; I( S1 M: x
    任务主动寻找AGV:任务列表中有任务 符合条件可以搬运了,触发 监控程序,监控程序再去找寻AGV的位置。将符合条件的下道工序的目标地址付给AGV。AGV再去根据这个目标地址的list去执行新任务。
" j9 E! b2 ?3 @1 I     AGV主动寻找任务: AGV下料后,如果任务列表没有符合条件的任务,即监控程序不触发,则返回C段(等待区)。如果有负荷条件的任务,则去执行。( V4 e8 j8 x% U" N) ~! w
      求教,在任务寻找AGV的时候,怎样编程实现寻找AGV的位置?   一共20个track,判断这20个track.cont是否有不为空的?  然后获得这个AGV,给它赋予目标地址的list?  现在再想有没有简单的方法。
 楼主| 发表于 2014-5-9 08:47:27 | 显示全部楼层
关于这个问题,最后只要用obj.location,就可以获得agv的实时位置了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-9-14 21:02 , Processed in 0.012934 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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