全球FlexSim系统仿真中文论坛
标题:
Message Trigger 这东西怎么用?
[打印本页]
作者:
rightred
时间:
2011-5-24 19:38
标题:
Message Trigger 这东西怎么用?
第一步:
8 c8 L- ^ [9 ]& d* _ M: c
treenode item = parnode(1);
. j; o9 ?; p3 m
treenode current = ownerobject(c);
( q& }9 `5 m y( r, q( E
treenode source=node("/source",model());
P' j* P J# z: J+ V, _) f! l" ]3 `
int port = parval(2);
( O+ e O& }& D$ D/ g6 y) Q3 z
if(
) S/ j Y( m F6 \
content(current)>=20
I7 P; P) f6 p& v
)
# E& _) W& s$ x2 f# |3 n
sendmessage(source,current,1,0,0);
. R- ?6 a7 Q. e; G, I4 A p
return 1;
9 e. L& a( q) N! X: F: Q" _
第二步:
: U# p9 M) S1 F/ F0 `- f
/**Custom Code*/
8 r1 q L* [7 {; E
treenode item = parnode(1);
# N) {. E4 c0 @6 @
treenode current = ownerobject(c);
3 C0 _8 m, F$ l2 f0 \( q2 P
treenode source=node("/source",model());
+ r/ r/ G% g1 n3 S- s% y3 ^
int port = parval(2);
- ^# H% D$ ]7 i1 F$ i
if(
* ]6 t3 w1 t/ b0 c
content(current)<5
4 |4 m% }2 d$ y1 ^ {* S, d
)
9 }: @1 \; j) U0 J- q, |( f0 n3 S
sendmessage(source,current,2,0,0);
5 A; K! T) ~0 V' N6 ?" |/ s: ^# i
return 5;
$ R; b+ d" L4 t$ {0 \5 [( D/ P
第三步:
) _: v; }4 F* j, p8 J' }, n" `; r
% F; ~& o" N/ \, f8 ? I6 m0 I
/**Custom Code*/
2 H6 B1 p/ \# t8 i! F8 A$ A) C
treenode current = ownerobject(c);
1 R& A+ H) ]4 H9 x1 K# l
unsingned int uservalue=(unsigned int) msgparam(1);
" H( N+ p. w6 o% ?# |# c" y3 b/ I1 H
switch(uservalue){
0 `) h% h, b% B* P# K5 n
case 1:closeoutput(current);break;
% Q3 X. O* S7 P, l
case 2
penoutput(current);break;
5 y% \7 Q2 P) x4 K0 E. _) u6 e' a
}
, h2 E* B" N, g! W/ Y
最后系统报错是第三步,说是没有定义uservalue:
1 w+ i/ q; v- p) D1 F
+ s3 Z1 Q8 V- _& T* A! \
line 3 unknown variable "unsingned"
" O, p q5 H- b6 |! m1 h/ \- g Y
9 D! i$ V- m5 o+ {$ F
line 3 syntax error, unexpected type identifier, expecting ';'
: A& c6 T/ E6 u$ r% N# Z
Could not finish parsing because of previous errors.
( u, ~! w0 F: j! ]/ Q s
l3 I0 z/ L# D
请问各位大大这是怎么一回事....
作者:
atdmin
时间:
2011-5-26 14:18
应该是这样子的吧:
( \4 K/ l& b/ U+ p7 U3 k/ R
/**Custom Code*/
8 D8 T0 \2 u1 B1 |) C
treenode current = ownerobject(c);
9 w3 X/ d# e/ I
int uservalue= msgparam(1);
8 v3 Y0 |' l4 h, z6 b/ S# P
switch(uservalue)
9 p$ m h* ^* K" |/ K) A
{
( x3 a w) i. m; `* `- P
case 1:closeoutput(current);break;
! `- Z" ?/ b% S% l/ l
case 2
penoutput(current);break;
& W1 l" n J, n7 r$ J6 a
}
/ a0 r Y: M, `( R3 t2 r" s
你试试,看看行不行
作者:
rightred
时间:
2011-5-26 14:52
2#
atdmin
& M7 ~% _6 V' }- \! J: g ?
$ F w* U8 g$ h2 V% {# r
% L, c5 ?/ y7 b: C
嗯,这样的话已经不报错了,就是功能还是无法完成...很奇怪
作者:
atdmin
时间:
2011-5-27 09:35
你要的功能是这样子的吗:
+ T# n# }4 S+ a6 L8 V
第一步:(写在传送带或者缓存区的进入触发)
7 D% N; y( `+ I) z
当当前实体上的临时实体个数大于或者等于20的时候,给发生器发送消息,并赋予第三步的uservalue值为1;
2 K' Q' E# ?5 o( W
第二步:(写在传送带或者缓存区的离开触发)
" J3 a O9 f2 b$ {
当当前实体上的临时实体个数小于5的时候,给发生器发送消息,并赋予第三步的uservalue值为2;
% {6 ]0 k6 Y4 K! O
第三步:(写在发生器的消息触发)
; ]0 \) \# ]2 h. e3 _
当uservalue值为1时,关闭发生器的输出端口;
8 g1 o$ @4 c2 ~2 t7 S
当uservalue值为2时,打开发生器的输出端口;
% k K6 m! t6 N
; b4 L% Q+ I# \ ?" B7 V2 ?2 z$ n
我也是新手,互相学习下!
作者:
atdmin
时间:
2011-5-27 09:39
3#
rightred
" |5 q- ?$ |5 [4 j2 j! W, d* T
! [) d! |7 _0 P5 d
这是我建的模型,你可以看看,或许对你有用!
作者:
rightred
时间:
2011-5-29 11:17
5#
atdmin
4 d6 R+ X! N$ Y6 U$ l4 Z
1 s, {- x* r7 |& f3 } |+ |6 C( e
) b" K$ s7 d1 v8 t
嗯...是这样的。谢谢你的模型拉
欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/)
Powered by Discuz! X3.3