设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3575|回复: 2

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

  [复制链接]
发表于 2011-10-25 15:25:46 | 显示全部楼层 |阅读模式
我的模型中Mus在多个路段移动。在路段上需要随时扫描一些条件,并根据扫描结果执行相关的操作。不同路段需要扫描的条件不同,执行的操作也不相同。
# k$ I1 y( ~' {% B/ ^我为MUs定义了method属性,在mus进入路段入口时触发method,并在method中让method每1秒钟自调用一次。
8 t; A, ~7 B/ h* ]0 h' N4 _但由此造成的问题是,mus在随后的过程中一直调用这个method属性。我现在是在这个method的最外层加了个判断,根据所处路段位置执行不同操作。
2 j7 M2 F: B" ~8 O现在的问题是能否在mus离开路段时,终止method属性的自我调用?这样我就可以把不同路段的逻辑拆分到不同method中,method程序的结构更清晰,而且相应的计算速度也快一些。
' n+ L6 Z4 d9 I; F: \! G  T先谢谢大家啦
 楼主| 发表于 2011-10-25 22:16:28 | 显示全部楼层
taoyifei2000 发表于 2011-10-25 19:11
# C5 X( ?0 z3 C# q- }学会使用deletemethcall命令,用法详见help,我实现过,可行的。; e7 L4 I4 a( m. o) f  I
但是要注意和methcall命令的关系,最好把m ...

; a  L  X2 Z/ y! N) Q收到!非常感谢!
发表于 2011-11-25 20:16:29 | 显示全部楼层
本帖最后由 五五 于 2011-11-25 20:18 编辑 6 s9 i6 ?3 x5 N* N, f
+ e) A- P3 y9 p6 g0 B. r$ _
while ture loop3 ~' E! H: L1 U! l
  if 未进入路段 then
# k( q8 S0 t" H' ]3 y( p- s    waituntil 进入路段 prio 1
  y0 _2 K$ U+ `4 O. L- Z  end $ S2 |1 }! v- ~" L& ^9 D6 F% Y8 M
( t! {2 ~" ~9 z3 }
  if 不符合所有条件 then
6 c$ Y) D) X$ l- D3 H   waituntil 条件1 or 条件2 or .. or 离开路段 prio 18 k  Z; ~; \2 R6 A
  end
  @/ a/ |. y8 n6 \
8 L9 W4 ]( V5 B7 Y8 z6 G1 O  if 条件1 then - f: o4 Z7 W7 E  U4 i
  elseif 条件2 then# q  ~$ b' b* U/ ?  j5 V9 B
  ...
* X$ |4 X( M# v; K0 ^# {! q* _* E# U# E# ?) L- P% k
  elseif 离开路段 then4 y8 o# v8 a2 k2 z
     exitloop' E# v" @% a8 S
  end* |0 L* J% s0 Q$ p  b4 v7 k
end8 G% @& l6 C6 e1 D9 G: ?* n' S

* v5 W3 X3 ]3 n$ u8 v希望有帮助~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-10-17 12:31 , Processed in 0.014443 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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