全球FlexSim系统仿真中文论坛

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

Message Trigger 这东西怎么用?

[复制链接]
跳转到指定楼层
1#
rightred 发表于 2011-5-24 19:38:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
第一步:
$ G' Y; b! ?  }* }3 o0 A! ?treenode item = parnode(1);: n0 a6 y( w6 \* B1 P" a
treenode current = ownerobject(c);- f( I  h: S9 o
treenode source=node("/source",model());7 ]- X( a: [2 `5 R
int port = parval(2);
2 u1 t( q/ c% J# y0 ~( \: ~- ]: q. u# X* [if(4 a) }  w: c' y7 T
        content(current)>=20
; o) P( K9 l, d& e)% |& ]6 d/ L% x! S+ B
sendmessage(source,current,1,0,0);
7 k6 N1 q5 |1 ~. b# h  {return 1;) }, k7 m* y. e. M8 O1 d  t
第二步:
5 a8 G9 z. t% g1 M- K2 Y& I/**Custom Code*/8 s. {  C7 J+ c- n) g6 b# X( c
treenode item = parnode(1);- w* P4 S5 v$ ?, J" {& k5 C, a! T% K
treenode current = ownerobject(c);
( b4 |/ F; C" D' Z/ Btreenode source=node("/source",model());
, F2 Q2 H7 h. ]( K( S. r4 Y( Cint port = parval(2);
1 ]: G( d9 G  C! O9 j/ y3 bif(
, n$ N4 g1 M4 G) Z        content(current)<5
& l9 V) E: ~+ A6 d& })
* [5 \" S2 H5 F! `( P* R/ dsendmessage(source,current,2,0,0);1 `! ~) h5 X& [" ^  R  {7 I; ~
return 5;
# q3 i# p! z3 y0 B第三步:+ U4 }1 Z. u9 [/ B

' _4 v- q. ?8 l# O; s/**Custom Code*/
0 f, E2 h1 H1 q, B0 l% W8 vtreenode current = ownerobject(c);
  T! I3 d/ _' N' ?; R) i; t  }: punsingned int uservalue=(unsigned int) msgparam(1);  U, }4 d5 I" R- x4 ^' Y
switch(uservalue){  b: P1 b" o! [8 q
        case 1:closeoutput(current);break;7 j5 e1 j# [$ z) @4 F' U9 R3 v  J7 ]
        case 2penoutput(current);break;0 L4 w7 p! i6 K8 h( {) Y5 g4 a* }" \& c
}
& D2 s9 B1 [4 [$ l4 U7 J最后系统报错是第三步,说是没有定义uservalue:
1 m1 v" G2 y7 ~, L: A
1 n5 y) g) b/ l% F2 W9 ~4 D  Uline 3        unknown variable "unsingned"
# {1 b9 a/ |! }" D# H1 d6 d2 a+ r" f9 {, x
line 3        syntax error, unexpected type identifier, expecting ';'! h$ G$ [# T6 y7 J8 G
Could not finish parsing because of previous errors.
3 g9 O: Z4 f  j+ V. L$ Z$ U: [/ I# t( U, J- F$ z" `
请问各位大大这是怎么一回事....
2#
atdmin 发表于 2011-5-26 14:18:40 | 只看该作者
应该是这样子的吧:
% Y2 f( ]& Q$ E4 G0 Y! T! t$ Q$ E, D/**Custom Code*/8 d5 ^3 t' T# j/ q, Y4 L
treenode current = ownerobject(c);
9 t) U8 G# @1 [int uservalue= msgparam(1);$ l% w- \4 S, I/ }9 W
switch(uservalue)
; z! O8 {5 N! X0 W{$ F$ p4 ]$ P- q- j/ O
        case 1:closeoutput(current);break;
8 b  ~0 {  X/ K" w6 y2 e* U, |        case 2penoutput(current);break;  f+ n- X$ N0 _) ~2 S/ s3 |/ I' z  a
}
( i) W% G( j) j& W. A# c. {你试试,看看行不行
3#
 楼主| rightred 发表于 2011-5-26 14:52:25 | 只看该作者
2# atdmin
" N: H7 P% e6 s* o! ]) a" W9 z/ q, C$ T) W7 g
$ h$ C: @8 n8 V; _0 {: ?* z$ R
嗯,这样的话已经不报错了,就是功能还是无法完成...很奇怪
4#
atdmin 发表于 2011-5-27 09:35:56 | 只看该作者
你要的功能是这样子的吗:
- a1 j& Q  E: l  q4 [第一步:(写在传送带或者缓存区的进入触发)7 ~# s& h' @' ^' Y" Q! t
当当前实体上的临时实体个数大于或者等于20的时候,给发生器发送消息,并赋予第三步的uservalue值为1;' }; S  i8 J; ]7 M) b
第二步:(写在传送带或者缓存区的离开触发)
1 S# r- k6 @+ w. V5 _+ s. n4 g当当前实体上的临时实体个数小于5的时候,给发生器发送消息,并赋予第三步的uservalue值为2;
4 e" A  J5 b% C& {9 \. Q3 m! l第三步:(写在发生器的消息触发): W! D4 o) O7 @" N
当uservalue值为1时,关闭发生器的输出端口;
' F' x% R, Y. H) u$ s1 p当uservalue值为2时,打开发生器的输出端口;/ ^. z! _9 ^8 S' E* z3 K

$ z% v4 l9 I2 P# F# b$ B9 O6 C0 m5 g     我也是新手,互相学习下!
5#
atdmin 发表于 2011-5-27 09:39:14 | 只看该作者
3# rightred
7 L8 H  G- B; h1 i% Y8 L8 E- V% P$ _( g" Q! S, ?
这是我建的模型,你可以看看,或许对你有用!

本帖子中包含更多资源

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

x
6#
 楼主| rightred 发表于 2011-5-29 11:17:57 | 只看该作者
5# atdmin   t6 A9 I3 C: ]

* t) B) t6 H% ^, E0 `- C% v1 n  K2 a, {& d7 f8 A
嗯...是这样的。谢谢你的模型拉
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-28 05:22 , Processed in 0.064691 second(s), 14 queries .

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

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