设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8256|回复: 9

[求助] 用AGV模板发生了以下错误,请解!

  [复制链接]
发表于 2011-11-5 16:38:28 | 显示全部楼层 |阅读模式
问题在哪里?

本帖子中包含更多资源

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

x
 楼主| 发表于 2011-11-14 10:37:54 | 显示全部楼层
没有解决,再顶一下。
 楼主| 发表于 2011-11-17 11:03:27 | 显示全部楼层
/* called by:        entrance ctrl of the object 'track'
7 w5 q1 }. h5 Y, @1 x8 j*/
' B: r) |% `3 c1 P* e3 [is
& u: r. b! W! r0 y  o        part, GlobalDistObj, assignLObj:object;row,Lan:integer;" e3 P# J3 N) R. F/ }
do
$ l  |: n) j6 b$ f+ }( K        Lan := rootfolder.Internal.Tools.AOLlanguage;
3 V4 L2 m+ k* S+ }8 d' q  V        if current = @.Destination -- else return
! `( Z6 g9 u( a* F& u( }        then3 z( M2 \2 I" u" {/ r* e
                @.Destination := void;
# T8 r* E2 ?7 C9 E8 F, _$ y                if @.occupied then- @0 [9 o7 U- k) w& S7 Z
                        part := @.cont;
) b& z" o( t4 s$ [, T, w1 `- [. \" ]                        @.transpOrder := void;
! ]5 ]: E/ `. ^) _                        part.move(partExit);-- unload is already possible                        rgManager.freeVehL.writeRow(0,rgManager.freeVehL.yDim + 1,
' V& W& G" n. m" A9 U* A. t& J% \                                @,root.eventcontroller.simTime);
6 b4 z/ R6 T$ c# t, W1 Z3 Z                        @.HasOrder := false;' z" N8 [3 C1 ~, K% i5 g/ F
                        @.DrivingHome := true;
) d+ A/ H( E3 v                        rgManager.tryToStartTransOrder;
/ z0 x0 o0 S7 S& W  N                        if @.Destination = void
! @* k* W" v% I# w$ @; N& U# _                        then -- no transport order for vehicle @( h4 J2 p( w& a/ I# `! z  L/ P
                                @.Destination :=
4 w& d4 k1 T" z& s9 ?& G# Z                                rgManager.nearestFreeStation(@,track.~);& h" V. \4 e1 D" e7 e2 z( T# o
                                newDirection(@);   
, Q: y8 {7 \: E7 l0 y9 x3 j+ {" ~                                if @.Destination /= void then3 K. x+ ~! w+ R0 s2 b5 W
                                        @.Destination.NumReservation :=
# z0 S* }. p! z, `, Z                                        @.Destination.NumReservation + 1;
& \* o  w& E" x4 ?# p4 I% G                                end;0 b# b' W' Y/ j3 l4 u1 |
                                @.CurrIcon := "drivingHome";
+ G* `- X* m! A! z) w; }6 w) s                                @.DrivingHome := true;
3 J1 d! r# s- t; q                        end;
: p( T: [# b, \& z& z% |. N                else -- the vehicle @ is empty, both vehicle and part are in the same dock station
/ L6 v9 B7 ~. G8 w: V9 V- ^                        part := @.transpOrder;" P. Y/ x9 |: p/ v$ l  j3 r4 s
                        part.move(@);-- load part
( R) j1 w- v4 z- r7 j* ^6 O* r7 ]                        @.CurrIcon := "load";) B8 X7 ]) Q) b- q8 u5 |
                        GlobalDistObj := part.globDestination;
4 M; y" c- j! F: c6 g                        assignLObj := rgmanager.rgAssignL;$ r3 {7 s8 ]/ M. ]
                        row := assignLObj.getRowNo(GlobalDistObj);& U: n! G$ s! b  W) [4 O
                        if Row = -1 then -- since 70
; b% P  p# s1 M                                if lan=1 then% p; a2 J$ W# @; Z' H2 K1 A: @
                                        promptmessage(to_str("Unbekanntes Ziel: \"",GlobalDistObj,"\""),: f7 `7 m5 w0 h- b. t0 x1 X
                                                to_str("in der Andockstation: \"",?.~.name,"\""));' g+ I2 m  A; t1 p/ h
                                else
# ^, V: G' A5 v2 Y, l9 {+ \& _                                        promptmessage(to_str("Unknown destination: \"",GlobalDistObj,"\""),
0 Y$ q( ]6 L5 o3 k+ h7 D3 o* M                                                to_str("in docking station: \"",?.~.name,"\""));                                ! x8 Q" X* T1 I% ~
                                end;
5 B  R, [3 o: d+ ]7 ^                        else, g$ Q* ?2 t) a# b$ x6 Y% u! _
                                @.Destination := assignLObj[1,row];" `9 k3 x7 M8 h. B* L
                        end;                        5 D5 \- I( t0 M* h2 u* L8 u! l
                        newDirection(@);
9 M: M/ M4 F& r. A& a4 C                        @.HasOrder := true;
0 ?5 d0 @. J( }. D0 ?% g2 F7 u# c0 R                end;
) D0 }" h# {& j% H        end;$ t# Z5 X+ c6 z) [3 W9 K: N; k4 ?8 g& A
end;        -- of the method& i# {: X5 |3 B9 v3 z9 I2 E
 楼主| 发表于 2011-11-17 11:08:06 | 显示全部楼层
本帖最后由 kuka 于 2011-11-17 11:10 编辑
, K+ S! l" W8 \% U
5 [& o* u- [3 D- h8 h7 a这是AGV_putin中arrive的method。
2 @" e" H+ E/ J" h' \% E, G( |' C5 B
& V3 g; \$ {9 O5 U* x当到达物料速度越高时,这个报警更多,
  p! [9 h/ t6 R4 w$ u; h) C5 R可能是到达物料分给了小车,而小车上已有有物料不能接受,所以发生了冲突。, J% Z( e; i; w6 W9 x6 h0 D: O
程序解决这个冲突程序是暂缓到partExit,但是AGV模板提示这个无效。
发表于 2011-11-25 19:15:24 | 显示全部楼层
是不是partexit未定义或者路径不对?% X& ^+ Z" @: v$ j. T1 X# g' B* T: `

+ r& k7 i" ?( ^6 F4 e2 |8 t另外一个小建议,就是move,所有的move都可以这样( i( [2 R& i. m/ @% e, t
if not move() then debug end
! X- \& F+ B" e  j' p& R4 X, a2 @这样一旦move有问题就会报错 便于检查和修改
发表于 2011-11-25 19:20:37 | 显示全部楼层
另外弱弱的问一句 AGV是神马 o(╯□╰)o
 楼主| 发表于 2011-11-26 19:26:51 | 显示全部楼层
AGV(Automated Guided Vehicle)自动导引小车。# y# @: H8 S' t' f$ d
plant simulation中的free libraries有AGV模板,* D) C% Z$ u; F; G/ K5 U
里面也有案例。
$ h% D5 V4 c& `0 |我运行过案例,没有发现这种报错,可能案例模型没有发生冲突,运行不到if下面这块。* V; K1 i2 m) Z: h8 J- c5 H/ n
- Y6 p9 f% B- t( V
我开了一下模板,的确没有定义partexit,它可能是一个队列对象,不知道怎么定义。
发表于 2011-11-26 20:09:15 | 显示全部楼层
因为是用的move,可以直接在模型里建立一个缓存模块,比如buffer之类的,容量定义为-1,move的目标指向这个缓存就可以了,囧。。。不过其实我个人不推荐这种解决方法,因为实际中并不存在这种缓存。。。
发表于 2011-11-26 20:10:15 | 显示全部楼层
本帖最后由 五五 于 2011-11-26 20:10 编辑
% o' _( ~8 ~" x& i( b) F- v0 y% w! F8 @5 s' [, Q/ E& `5 o4 J
那么 Automated Guided Vehicle 是不是就是小车的自动寻路系统那个呀 还是还有其他功能或者模块咩
发表于 2011-11-26 20:12:36 | 显示全部楼层
kuka 发表于 2011-11-17 11:08 * b7 e7 K0 u, _  E' V/ V
这是AGV_putin中arrive的method。) ]/ i; {. K) k5 i  J
2 F% e# ]8 d5 C& p4 H3 _$ j  A1 U! k
当到达物料速度越高时,这个报警更多,

* \6 u  W/ g) I; S另外 一般对于容量有限的小车 我个人觉得还是更早引入容量控制比较好些 而不是在装运是才报警
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-23 13:34 , Processed in 0.022036 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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