设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4384|回复: 2

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

  [复制链接]
发表于 2011-10-25 15:25:46 | 显示全部楼层 |阅读模式
我的模型中Mus在多个路段移动。在路段上需要随时扫描一些条件,并根据扫描结果执行相关的操作。不同路段需要扫描的条件不同,执行的操作也不相同。
; L; J3 X/ A/ I, y) T8 @我为MUs定义了method属性,在mus进入路段入口时触发method,并在method中让method每1秒钟自调用一次。! o# b5 ]- W' y! b
但由此造成的问题是,mus在随后的过程中一直调用这个method属性。我现在是在这个method的最外层加了个判断,根据所处路段位置执行不同操作。6 l- o4 d2 B  |) f! W4 b
现在的问题是能否在mus离开路段时,终止method属性的自我调用?这样我就可以把不同路段的逻辑拆分到不同method中,method程序的结构更清晰,而且相应的计算速度也快一些。
2 d7 O- i5 r# G% {5 t  N$ x6 H先谢谢大家啦
 楼主| 发表于 2011-10-25 22:16:28 | 显示全部楼层
taoyifei2000 发表于 2011-10-25 19:11 ( H, A4 g5 H  l
学会使用deletemethcall命令,用法详见help,我实现过,可行的。
' t+ x- a! M/ D, `但是要注意和methcall命令的关系,最好把m ...
/ S$ x2 f$ a# w) i9 g
收到!非常感谢!
发表于 2011-11-25 20:16:29 | 显示全部楼层
本帖最后由 五五 于 2011-11-25 20:18 编辑 ; O  P4 z+ X) \5 m( `9 z

2 N6 k3 e% }- U+ L4 E$ ywhile ture loop7 h0 M) K% k1 G( A
  if 未进入路段 then : L+ m" v* F# {9 N
    waituntil 进入路段 prio 13 V- }; w8 n7 x# \3 N: a
  end
- O* z) P# l0 Z
! K0 f; m" L6 f  if 不符合所有条件 then4 p( B' B& f# ]0 Z
   waituntil 条件1 or 条件2 or .. or 离开路段 prio 1
, M6 |0 I. E1 r8 k  end
* o, K/ q: T. M/ g8 z" Y9 l- O: O9 h: O9 U  U9 M
  if 条件1 then 7 b% e8 q4 k5 C4 D+ s2 A
  elseif 条件2 then
9 y) Z" k' _) o  ...
% g0 \% _& W: G; W6 f( _9 Y% H1 H1 V: j2 v; X" O! N+ F3 C
  elseif 离开路段 then2 J% B8 f& C# e1 x9 S2 y
     exitloop
0 j  C) A3 C6 Q7 }/ Y  end6 Q; Z+ x+ @6 X9 ]. ~) n& [
end
9 Y% F3 M( u! ?5 t. i& R$ _9 t
8 p: U! V1 n! }+ W5 ?5 I希望有帮助~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-21 18:00 , Processed in 0.012524 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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