设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4421|回复: 2

[求助] 如何终止一个MUs自身的method属性?

  [复制链接]
发表于 2011-10-25 15:25:46 | 显示全部楼层 |阅读模式
我的模型中Mus在多个路段移动。在路段上需要随时扫描一些条件,并根据扫描结果执行相关的操作。不同路段需要扫描的条件不同,执行的操作也不相同。# M. R/ j$ O! ]* _0 n) S" z
我为MUs定义了method属性,在mus进入路段入口时触发method,并在method中让method每1秒钟自调用一次。
4 d- {8 `1 `& F  u! M% V5 Z但由此造成的问题是,mus在随后的过程中一直调用这个method属性。我现在是在这个method的最外层加了个判断,根据所处路段位置执行不同操作。
* Z, f5 j0 o; u. k5 f$ n7 S现在的问题是能否在mus离开路段时,终止method属性的自我调用?这样我就可以把不同路段的逻辑拆分到不同method中,method程序的结构更清晰,而且相应的计算速度也快一些。) U, z2 m9 n0 o! Y. O; t* Y9 Q/ M6 X
先谢谢大家啦
 楼主| 发表于 2011-10-25 22:16:28 | 显示全部楼层
taoyifei2000 发表于 2011-10-25 19:11
$ Z% B3 t! p+ L4 |) J) b1 e学会使用deletemethcall命令,用法详见help,我实现过,可行的。
3 {* i9 w0 h  o. z但是要注意和methcall命令的关系,最好把m ...
: v2 A% t" n5 w/ x) h+ T( g
收到!非常感谢!
发表于 2011-11-25 20:16:29 | 显示全部楼层
本帖最后由 五五 于 2011-11-25 20:18 编辑
7 Y4 O# f- R3 [( _  B' M& V2 d, V$ h6 n
while ture loop
4 Y, a. F+ F- r% O  o  if 未进入路段 then
+ m7 `! |* q4 Q: Y( I    waituntil 进入路段 prio 1
5 F& a8 Q( D: }  end
+ x5 B+ {, t/ L3 Q. G* h- \4 ~% f- a+ s- t9 Y4 C& S4 O
  if 不符合所有条件 then2 s7 z9 @$ T# c, ^* Z
   waituntil 条件1 or 条件2 or .. or 离开路段 prio 1
, ~5 |: [: R; q8 `" x% L) G  end- U7 G/ Q9 j- }. [0 B) P0 b! @! x8 M

7 I2 h+ `& J9 A& d/ v1 S  if 条件1 then
  o) ^6 O2 P+ x. _. v  elseif 条件2 then$ R8 N  Q7 q, [' F6 W5 \6 X4 Z7 d
  ...3 g! B0 E- \; r+ g

* q0 |5 Z" ?1 s/ D  elseif 离开路段 then0 P6 m# [5 m0 Z, r/ l: U
     exitloop
0 q' G# P2 w* K$ {" q4 |  end4 m" x0 _: Q0 ^9 t: o
end
7 k- P! R1 H5 J: {( }
  [& F. k/ k: D# b( W希望有帮助~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-6 16:15 , Processed in 0.011341 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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