全球FlexSim系统仿真中文论坛

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

Message Trigger 这东西怎么用?

[复制链接]
跳转到指定楼层
1#
rightred 发表于 2011-5-24 19:38:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
第一步:
2 I" D5 v% {" @9 d( u. r$ Y! ctreenode item = parnode(1);5 }/ M. w/ U. ~- s* r
treenode current = ownerobject(c);1 f2 x) j' f( ~8 W2 r9 S9 ^
treenode source=node("/source",model());
9 Y. v: l  E8 k0 K/ S1 N5 P6 Bint port = parval(2);
8 X0 N- M, ~1 l) Tif(
6 i% ~4 d' u6 M        content(current)>=200 X+ _8 @% i" ^. W; _7 V' F7 J
)
/ E: \8 u6 U; Q0 ]: q- d: g- csendmessage(source,current,1,0,0);
1 Z; f3 R6 Q8 T0 J. Jreturn 1;- w' y9 R! q; n- T  z
第二步:
" e. W# C) k; T/**Custom Code*/
. p' Y1 H, c! ]7 m8 O6 ttreenode item = parnode(1);
4 Y) L7 ^$ Y! u8 h* P0 m6 g% D" Ftreenode current = ownerobject(c);! @4 |8 l5 W6 R5 D
treenode source=node("/source",model());" `* v4 S7 ~* G
int port = parval(2);
( o3 o% }9 `: w. `2 Mif(! x7 y$ S1 {/ X& w/ r
        content(current)<5
- }8 \, W7 |2 Q5 ~& |) n)
5 q4 r& U) R' X# ~/ e1 J9 esendmessage(source,current,2,0,0);
* z7 n3 }0 n" w( H1 R# preturn 5;6 [& r+ U& D  B- V
第三步:
# v$ P0 l: x: w& o8 e- X+ R% P) L/ ^6 [9 S& s6 G
/**Custom Code*/
8 V5 j0 d7 V: y$ `- v7 z8 C7 Ytreenode current = ownerobject(c);% O1 h+ C3 f  z
unsingned int uservalue=(unsigned int) msgparam(1);- E$ n' b$ o# @+ u6 D
switch(uservalue){# P- `: F& S2 s- ]9 q/ u* v4 o
        case 1:closeoutput(current);break;& j- c; s/ N* G3 G2 t3 h2 c
        case 2penoutput(current);break;
: r8 d: A* X! \- f! C$ Q}
$ \  k- H# F0 ^4 `最后系统报错是第三步,说是没有定义uservalue:
7 r3 b/ {' q" t  C7 y) T5 J5 P
/ R$ D+ z$ U) v% ^line 3        unknown variable "unsingned": u: C2 G6 O8 U0 l( E8 l% C
6 O7 N& {* ~$ v$ Z! B  y
line 3        syntax error, unexpected type identifier, expecting ';'6 p5 x  c: O( W; P
Could not finish parsing because of previous errors.
5 l) J; [  g& M) y  u2 V0 g6 o2 Z* n1 _9 @  {" D$ }; `: @9 ~- C2 @
请问各位大大这是怎么一回事....
2#
atdmin 发表于 2011-5-26 14:18:40 | 只看该作者
应该是这样子的吧:- T. f' \/ g5 G& P& `
/**Custom Code*/: a, O" |9 M, E  X& V" l6 w& D
treenode current = ownerobject(c);
! \5 @8 c  F( X6 zint uservalue= msgparam(1);' Y! I4 M9 H4 W3 a
switch(uservalue)3 G/ @2 i1 r* t, N
{
9 H3 s# Z; \9 f' _7 Y& M        case 1:closeoutput(current);break;
8 n0 w) v* o$ Q. b        case 2penoutput(current);break;) ]3 h9 @: c2 |$ M% g
}# R' D- F0 T% z+ I# B" q
你试试,看看行不行
3#
 楼主| rightred 发表于 2011-5-26 14:52:25 | 只看该作者
2# atdmin 1 }+ k* Q" ^7 {( d( b/ B

1 Q5 j) v" a6 n# f& j# ~* z& b! ^6 W( w4 K' m6 ?' |
嗯,这样的话已经不报错了,就是功能还是无法完成...很奇怪
4#
atdmin 发表于 2011-5-27 09:35:56 | 只看该作者
你要的功能是这样子的吗:
5 L; c" T4 q8 p2 j1 r第一步:(写在传送带或者缓存区的进入触发)/ O; o1 L+ S% d
当当前实体上的临时实体个数大于或者等于20的时候,给发生器发送消息,并赋予第三步的uservalue值为1;) o% M/ @* u' m# |+ z
第二步:(写在传送带或者缓存区的离开触发), h3 H; D7 E# _
当当前实体上的临时实体个数小于5的时候,给发生器发送消息,并赋予第三步的uservalue值为2;# x: Q" `; v& K# M/ ~9 T; u: P1 b
第三步:(写在发生器的消息触发)1 c8 e8 |. K+ Y  y/ D! d2 C. p1 n
当uservalue值为1时,关闭发生器的输出端口;  w' e5 e" F$ X! N; J) u0 L* @& j
当uservalue值为2时,打开发生器的输出端口;: D( z% M. P6 y9 N' e

  N0 V, X. C8 Z  }     我也是新手,互相学习下!
5#
atdmin 发表于 2011-5-27 09:39:14 | 只看该作者
3# rightred ( g0 g. o( k" E1 A) N
; G% |4 x- Z7 m4 y0 r
这是我建的模型,你可以看看,或许对你有用!

本帖子中包含更多资源

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

x
6#
 楼主| rightred 发表于 2011-5-29 11:17:57 | 只看该作者
5# atdmin
* l* W/ ^" \0 \- N2 g% D* m" B
& d4 W( R; b" Z2 G
3 v, L' D5 e# `/ M& z嗯...是这样的。谢谢你的模型拉
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-7-6 09:58 , Processed in 0.074307 second(s), 15 queries .

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

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