全球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. R
sendmessage(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 u
treenode 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 s
treenode 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 2
penoutput(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) P
line 3 unknown variable "unsingned"
/ O$ j# i5 F* r s2 |
3 E0 ]: X6 r/ I
line 3 syntax error, unexpected type identifier, expecting ';'
4 z2 q6 N: |% h) L2 Q0 D
Could 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 2
penoutput(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