全球FlexSim系统仿真中文论坛

搜索
查看: 6870|回复: 5
打印 上一主题 下一主题

Message Trigger 这东西怎么用?

[复制链接]
跳转到指定楼层
1#
rightred 发表于 2011-5-24 19:38:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
第一步:
1 Y3 }1 ?+ D  p3 x+ j# d6 |treenode item = parnode(1);
$ v/ M- N/ d2 e3 Ptreenode current = ownerobject(c);
6 l- M/ e+ O1 H* h) Z; |. I0 ctreenode source=node("/source",model());8 \  |( t$ f( c  _) c0 Y
int port = parval(2);& m% A/ h' ~  v6 v  O
if(9 q, C" H7 C* J4 a* x0 {
        content(current)>=20
+ e$ S$ M5 y) f* `# k. }! g8 H4 ~# f# t)
2 c: n. T- F. j, n+ _sendmessage(source,current,1,0,0);
, j% Z& F, A5 \8 m, {4 f3 E1 n- nreturn 1;
1 _# P% W5 s; c$ L第二步:( U$ [! V& O3 t7 v; x: P0 K
/**Custom Code*/; |0 M1 e. i) O  d0 t
treenode item = parnode(1);  z6 @% t# H9 p4 g. G
treenode current = ownerobject(c);
5 O3 t% ~6 G$ Wtreenode source=node("/source",model());
* H/ I3 U, r) ?$ p7 h) _. s7 @int port = parval(2);& m- {& x1 O$ o' `  v# I+ y: F7 E
if(# g( _1 p+ r3 \- g: D8 T) T7 m7 N
        content(current)<5! ?5 |; N+ m+ L1 k3 R( ?/ l) [: ^
)
" j% [0 S3 b# d6 ]; \; h- ^: hsendmessage(source,current,2,0,0);% I0 G5 u8 D9 x$ s
return 5;7 B4 Z. t4 L& K
第三步:, q* l" B  P; i* t0 c
3 }& N1 d7 [8 `( e3 Y2 ?' a
/**Custom Code*/: ?! P$ g7 U4 C# M" b( q
treenode current = ownerobject(c);: q4 [+ X- Q6 d0 |+ A" u" R
unsingned int uservalue=(unsigned int) msgparam(1);3 v/ H: u$ z5 R
switch(uservalue){
7 g, z$ j1 j, Y8 N6 |        case 1:closeoutput(current);break;
0 M2 ]3 {+ Y, ]0 m6 E4 k        case 2penoutput(current);break;
4 z0 r* u  H1 d' B}
' _/ ]1 j. Q. f. I/ b& i# _最后系统报错是第三步,说是没有定义uservalue:
! u& u1 b: I* @
0 w  u2 [% v. S# f, k3 [5 bline 3        unknown variable "unsingned"
: \3 s% i( m5 b1 o4 j* i' }. S& D, Q
line 3        syntax error, unexpected type identifier, expecting ';'1 h0 \. s* {. I. k/ _& E( [3 z! y! t
Could not finish parsing because of previous errors.
( ?2 q9 Y3 g" C* `& Y3 l& N: t3 i& ~/ r  R
请问各位大大这是怎么一回事....
2#
atdmin 发表于 2011-5-26 14:18:40 | 只看该作者
应该是这样子的吧:
& J2 Y& q: V$ {0 A0 }/**Custom Code*/
# o9 n  M9 P5 M, Ptreenode current = ownerobject(c);
) c; N" ?; v# ~6 Q* b2 A0 }4 fint uservalue= msgparam(1);
: P( r9 a' X, i( V9 s( G& D% Vswitch(uservalue)+ _  [4 J5 X% r* p0 A& W
{% ?' ?5 a' m3 f- v/ t
        case 1:closeoutput(current);break;1 [$ n2 G! |' H* H
        case 2penoutput(current);break;5 q+ S$ ?( H- k- ]+ x
}
' S9 S# Q. V6 g9 z1 x你试试,看看行不行
3#
 楼主| rightred 发表于 2011-5-26 14:52:25 | 只看该作者
2# atdmin
2 ~5 r% L( U/ x9 N$ S0 T, [9 X$ F3 R' \$ b. Y# p
: I, \4 R, k7 C5 T* C5 [4 h$ O4 m3 j
嗯,这样的话已经不报错了,就是功能还是无法完成...很奇怪
4#
atdmin 发表于 2011-5-27 09:35:56 | 只看该作者
你要的功能是这样子的吗:
2 J! k# o. Y2 M6 p5 f- u- {; V( c第一步:(写在传送带或者缓存区的进入触发). E$ F; J/ o) W
当当前实体上的临时实体个数大于或者等于20的时候,给发生器发送消息,并赋予第三步的uservalue值为1;
9 F  h! K. i, L. d; }- F% d第二步:(写在传送带或者缓存区的离开触发)
9 q4 K; V) ^+ D# E! {4 ?. u9 k当当前实体上的临时实体个数小于5的时候,给发生器发送消息,并赋予第三步的uservalue值为2;
1 `+ I' E5 O! @3 [2 t第三步:(写在发生器的消息触发)
8 G* P: o# G% K6 H* {$ Y. l当uservalue值为1时,关闭发生器的输出端口;; g( R0 x; T% z7 Y! X
当uservalue值为2时,打开发生器的输出端口;
+ ?& ?6 R  L6 B: N/ ]
0 c% G. B( x$ [( E2 _8 c     我也是新手,互相学习下!
5#
atdmin 发表于 2011-5-27 09:39:14 | 只看该作者
3# rightred
4 {( b, [0 P1 L
6 C# l1 X, e0 v这是我建的模型,你可以看看,或许对你有用!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
6#
 楼主| rightred 发表于 2011-5-29 11:17:57 | 只看该作者
5# atdmin
  f9 n$ N$ v7 O$ c% |
& ?# g/ U" q" L( n4 l+ [8 `! X
5 U" d: U8 x, C3 O& w! e! F嗯...是这样的。谢谢你的模型拉
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|全球FlexSim系统仿真中文论坛 ( 京ICP备14043114号-2 )

GMT+8, 2025-6-29 00:53 , Processed in 0.076352 second(s), 14 queries .

Powered by Discuz! X3.3© 2001-2013 Comsenz Inc.

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