全球FlexSim系统仿真中文论坛

标题: Message Trigger 这东西怎么用? [打印本页]

作者: rightred    时间: 2011-5-24 19:38
标题: Message Trigger 这东西怎么用?
第一步:
4 F! `; c( d! m9 v8 G$ X1 ?treenode item = parnode(1);" ]8 E8 P2 w7 b* G7 t  g! N( R
treenode current = ownerobject(c);- Q; Z& l- |2 K$ Q
treenode source=node("/source",model());2 u/ K4 p1 \# u' }/ B/ E! ?
int port = parval(2);4 @2 q9 M, `! [4 r, j
if(7 }# V  e* |  ~" Y. l
        content(current)>=20
4 I/ q( a6 k+ g8 u4 }% A0 b; w% T)
/ a# H6 d* w% d8 ?$ u1 T. Rsendmessage(source,current,1,0,0);
' f' H4 ~. g- [3 H6 o0 m; y% X# ]return 1;
) r4 e; j/ E" M5 A# @( Y! {6 q第二步:
5 o& h( U% \, w; g, z0 {  n: O/**Custom Code*/
0 M& }$ s, j( {7 utreenode item = parnode(1);
1 f  t# J3 H" P# W& j: v; y: ]treenode current = ownerobject(c);# v7 Z  _  u+ x
treenode source=node("/source",model());% C4 W- K2 x/ |1 J% V# |" R4 [
int port = parval(2);/ p& Q  f! |$ R  r+ a" `% R
if(
8 i9 @" B; f/ H1 n2 o        content(current)<5. O$ C6 R- {# X$ ]
)$ ~' m& a( m7 f$ s7 s, _1 c
sendmessage(source,current,2,0,0);* S1 ~! M1 s, G2 w1 L  @. n( Y
return 5;' u. I% q" i" }; {
第三步:6 R- ^, R; s* F: P
# K9 f$ H0 A: D; F1 @1 B  _0 C  A0 b
/**Custom Code*/
& _2 Y7 [& q1 Z  X0 streenode current = ownerobject(c);1 d, W5 t% |$ y9 u6 G% F+ }" h5 I
unsingned int uservalue=(unsigned int) msgparam(1);$ t1 w/ @* b4 E; n  u9 N
switch(uservalue){
, N: S7 x: o( Q% c        case 1:closeoutput(current);break;
! c4 v3 B1 @" O6 T$ m: Z        case 2penoutput(current);break;
0 U6 D' x" _% r( T}
( V3 c5 i5 @+ M9 ?2 I6 P% x. r最后系统报错是第三步,说是没有定义uservalue:3 O0 z) \5 K* ^  i; a

: d, L7 \% {) D1 _: r  [7 e) Pline 3        unknown variable "unsingned"/ O$ j# i5 F* r  s2 |

3 E0 ]: X6 r/ Iline 3        syntax error, unexpected type identifier, expecting ';'
4 z2 q6 N: |% h) L2 Q0 DCould not finish parsing because of previous errors.+ V4 W( c8 P9 s' d$ L( Q

6 W5 ~+ U" g& C( L1 u请问各位大大这是怎么一回事....
作者: atdmin    时间: 2011-5-26 14:18
应该是这样子的吧:/ J2 \& ^: h) M
/**Custom Code*/) v' X/ @8 U( _7 e; L
treenode current = ownerobject(c);7 x/ n% t/ n4 d: z: l$ v' d
int uservalue= msgparam(1);; `* l0 }0 A; k& I
switch(uservalue)0 S9 c4 ?7 e8 I6 ?, j
{' J; o% v% S  n% Q
        case 1:closeoutput(current);break;
) a, [0 D  ]3 T        case 2penoutput(current);break;
/ h' j' g. i3 L) N! e}
: A; f! z; i2 V8 |  K5 x你试试,看看行不行
作者: rightred    时间: 2011-5-26 14:52
2# atdmin
" l" c' X9 ~7 ^1 `- n4 A/ P0 O# [- j9 e8 @2 [) p6 b, ~, {( b+ b
. s9 V/ Y) z8 J3 s- ]# g
嗯,这样的话已经不报错了,就是功能还是无法完成...很奇怪
作者: atdmin    时间: 2011-5-27 09:35
你要的功能是这样子的吗:
; n* L$ K2 t; w5 [- M第一步:(写在传送带或者缓存区的进入触发)( X' x6 f$ }6 s1 y
当当前实体上的临时实体个数大于或者等于20的时候,给发生器发送消息,并赋予第三步的uservalue值为1;
/ D3 ^* v4 S! f6 s9 E第二步:(写在传送带或者缓存区的离开触发)1 T1 N- _: {8 o. W/ Q) F
当当前实体上的临时实体个数小于5的时候,给发生器发送消息,并赋予第三步的uservalue值为2;1 D- t' j6 i1 ]: R# Z7 U* U; w* m; b
第三步:(写在发生器的消息触发)- D4 i: F$ x$ ~+ T  }0 `
当uservalue值为1时,关闭发生器的输出端口;; \6 h0 K- ~: v: K
当uservalue值为2时,打开发生器的输出端口;
7 J, X& t* c. K3 s  t* E- D* v, m# _/ }" c
     我也是新手,互相学习下!
作者: atdmin    时间: 2011-5-27 09:39
3# rightred 8 b/ `7 O3 \% j( m6 v

5 @" _  v3 N5 w) y- o这是我建的模型,你可以看看,或许对你有用!
作者: rightred    时间: 2011-5-29 11:17
5# atdmin 6 r6 _7 M% _+ _+ p* L& k
, V/ v4 [0 h" N7 Z) W, n" p* B
. v) L5 Q) m: f: S5 j  k5 n6 }/ o
嗯...是这样的。谢谢你的模型拉




欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/) Powered by Discuz! X3.3