设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3626|回复: 2

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

  [复制链接]
发表于 2011-10-25 15:25:46 | 显示全部楼层 |阅读模式
我的模型中Mus在多个路段移动。在路段上需要随时扫描一些条件,并根据扫描结果执行相关的操作。不同路段需要扫描的条件不同,执行的操作也不相同。9 y2 d) f: g) Y) a0 Q6 [4 E
我为MUs定义了method属性,在mus进入路段入口时触发method,并在method中让method每1秒钟自调用一次。! {6 Z& y0 p0 q0 T6 P& v2 G
但由此造成的问题是,mus在随后的过程中一直调用这个method属性。我现在是在这个method的最外层加了个判断,根据所处路段位置执行不同操作。7 F1 S; |$ R: E! R7 `
现在的问题是能否在mus离开路段时,终止method属性的自我调用?这样我就可以把不同路段的逻辑拆分到不同method中,method程序的结构更清晰,而且相应的计算速度也快一些。
! f, Z" H+ x! V: U4 W2 M先谢谢大家啦
 楼主| 发表于 2011-10-25 22:16:28 | 显示全部楼层
taoyifei2000 发表于 2011-10-25 19:11 ( w6 i* ~2 Q/ Y" u% z
学会使用deletemethcall命令,用法详见help,我实现过,可行的。
4 b( O7 b& P- b8 Q( i0 j) k9 j但是要注意和methcall命令的关系,最好把m ...

. A8 y* X6 X& Q收到!非常感谢!
发表于 2011-11-25 20:16:29 | 显示全部楼层
本帖最后由 五五 于 2011-11-25 20:18 编辑 : ]& K/ a1 x5 x
0 Q: a3 ]+ H# g) N9 R, p& h
while ture loop9 \* N# ?* s5 \' l+ C
  if 未进入路段 then ! T) x1 l: K5 `2 @$ G) h% u
    waituntil 进入路段 prio 1) t7 e5 R9 w$ g) h- X
  end
4 D6 T1 Z6 C- t8 x! K6 p: D- m: Q; ?
  if 不符合所有条件 then
: N( v7 s% H& e% u: D" b' q4 N0 g5 N   waituntil 条件1 or 条件2 or .. or 离开路段 prio 17 ^3 j6 t! k) |3 }4 l; L
  end
7 j. ]/ D, p! s/ E9 L7 S
2 B1 H& G/ Z9 A) U* Z  if 条件1 then . {* u# x# E/ k7 {" g( O
  elseif 条件2 then
$ I8 ]  I9 a- S# m: o( E6 \  ...- h/ D$ `% s5 n8 Y. C$ r0 A
# @. {, N" D! Z  @7 e
  elseif 离开路段 then
  z" @6 q) E0 B     exitloop* T' |- W" Y- ~% C& ?: {! E
  end
/ S* t, I1 v: |5 I( Q) r7 Wend+ L' H3 p5 x* }
4 N% a& D9 d1 P
希望有帮助~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-1 07:40 , Processed in 4.865004 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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