设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3099|回复: 2

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

  [复制链接]
发表于 2011-10-25 15:25:46 | 显示全部楼层 |阅读模式
我的模型中Mus在多个路段移动。在路段上需要随时扫描一些条件,并根据扫描结果执行相关的操作。不同路段需要扫描的条件不同,执行的操作也不相同。2 y8 c' N' Y) S6 y' R7 {: y
我为MUs定义了method属性,在mus进入路段入口时触发method,并在method中让method每1秒钟自调用一次。
. U+ E: Q0 l9 J1 _: R8 ^) H但由此造成的问题是,mus在随后的过程中一直调用这个method属性。我现在是在这个method的最外层加了个判断,根据所处路段位置执行不同操作。* t" \( h7 N' X7 P( P7 H
现在的问题是能否在mus离开路段时,终止method属性的自我调用?这样我就可以把不同路段的逻辑拆分到不同method中,method程序的结构更清晰,而且相应的计算速度也快一些。
, m1 t' Y5 o4 b+ d. N先谢谢大家啦
 楼主| 发表于 2011-10-25 22:16:28 | 显示全部楼层
taoyifei2000 发表于 2011-10-25 19:11 7 X/ z- T: b5 u) l
学会使用deletemethcall命令,用法详见help,我实现过,可行的。: O7 o1 t: t% o% P5 I' T; |9 v' G) T: [
但是要注意和methcall命令的关系,最好把m ...
; {% F" r! |; k5 w
收到!非常感谢!
发表于 2011-11-25 20:16:29 | 显示全部楼层
本帖最后由 五五 于 2011-11-25 20:18 编辑
/ J5 R$ B, ?( E; ^/ T) T) K& J
/ G8 u' h  i5 V. o- l0 Rwhile ture loop9 Q0 v- r* g9 f" E2 V4 E7 `
  if 未进入路段 then 9 [$ x1 a, I" S9 S* C% D
    waituntil 进入路段 prio 1+ n' G- o+ [0 z; Z- A: B: t. X
  end % d% O8 \- C1 G& U
9 v8 v2 g' \5 t& c( k
  if 不符合所有条件 then, P% R  l5 z7 o* \
   waituntil 条件1 or 条件2 or .. or 离开路段 prio 1
, _% r$ W& `0 O( ]# c) r, L4 r  end
' S4 W' b. b9 G$ h$ q
8 X! ~( [0 k3 c8 Y  if 条件1 then
: O& W9 c( `6 r3 d3 S! ]  elseif 条件2 then
; N4 n( E. J) Z! c  ...
5 @, a( E0 R8 A; q* l/ e5 |8 s9 a5 n3 e/ N' E! l7 H
  elseif 离开路段 then( ^2 R& G' q8 ]
     exitloop5 u3 P  v! Z0 w0 d* k' A  W4 L
  end& U3 K) F- L4 q9 D0 z4 ]5 Y
end" z9 y9 y7 }; ?  s
9 ~, o1 ]7 q/ i% p1 e. V# @- n. D1 }
希望有帮助~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-12 14:51 , Processed in 0.022366 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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