全球FlexSim系统仿真中文论坛
标题:
Message Trigger 这东西怎么用?
[打印本页]
作者:
rightred
时间:
2011-5-24 19:38
标题:
Message Trigger 这东西怎么用?
第一步:
/ d" F, B4 q2 m* ^0 C8 ~# R
treenode item = parnode(1);
* [! J" H0 g; u, @$ f" F6 e% v8 R
treenode current = ownerobject(c);
0 r) t2 B. n/ K( Q' L7 @/ s
treenode source=node("/source",model());
+ c# M7 W) U8 B2 g$ p: | x
int port = parval(2);
/ \7 T0 g; E0 w& v9 ~
if(
. S7 h1 g" e/ s" }+ f& D
content(current)>=20
$ R X) z' Q+ x' [) `' g
)
* A& X o7 \7 E2 P% n8 P
sendmessage(source,current,1,0,0);
4 W' Y: v2 s# U3 _( X+ f
return 1;
$ q) s" w3 d: F: C) ^, _# ^
第二步:
; e& o& b/ t: ]8 F6 r, ?
/**Custom Code*/
- c1 n) W% y: g- ?7 ^6 S) V
treenode item = parnode(1);
/ N7 x K2 ]2 I; {
treenode current = ownerobject(c);
; r* a0 W" N1 o6 P; S
treenode source=node("/source",model());
5 D( _# e1 I& H4 U. g
int port = parval(2);
3 v1 l8 T1 ~" s/ n
if(
3 s E8 h2 U5 v% |
content(current)<5
9 O U7 p; Z% L: f: {: C" W
)
0 }2 K2 v2 S2 J9 i9 Y, \, B/ j
sendmessage(source,current,2,0,0);
/ i; H. B6 C# \& p
return 5;
0 F1 f" v- Q& k$ T) r5 ]/ t9 p
第三步:
/ ]5 d9 K/ U P0 `: H& e
) U, Y0 ^ ~& T& b
/**Custom Code*/
+ ~) _0 l/ C6 M( m0 F# |
treenode current = ownerobject(c);
( X/ p, U5 ~7 H- A+ T2 U0 X
unsingned int uservalue=(unsigned int) msgparam(1);
' l. P \. X7 E! Q# i
switch(uservalue){
) ~4 c4 ~ o* m# }5 K7 J
case 1:closeoutput(current);break;
: ` d- \+ j$ G/ Y9 v! c0 R
case 2
penoutput(current);break;
7 S$ h9 v( ?) v9 h! r2 V
}
g& |; s! ~/ o+ S
最后系统报错是第三步,说是没有定义uservalue:
/ n J2 f0 M! W( n4 r; s3 E
+ @' i; N8 _1 a# Y! [! H
line 3 unknown variable "unsingned"
$ l* E/ l; ?7 d1 {' T/ p
) a% D" w8 n' g
line 3 syntax error, unexpected type identifier, expecting ';'
5 _* T# [: C" f% W1 S' X6 r0 J* S
Could not finish parsing because of previous errors.
# m! [+ g) G% N3 l, f: q* u
# K7 ^8 m @2 k, d y) c4 B' G9 T
请问各位大大这是怎么一回事....
作者:
atdmin
时间:
2011-5-26 14:18
应该是这样子的吧:
9 W5 i7 ?0 r, R0 n( ?
/**Custom Code*/
3 L& s7 A3 U$ D
treenode current = ownerobject(c);
, k6 [) \5 e9 S* ~0 L& i
int uservalue= msgparam(1);
: \8 `3 z/ |1 w& N4 R+ _ Z
switch(uservalue)
/ o3 {/ j4 H2 B
{
' M3 _/ F; n5 |0 m
case 1:closeoutput(current);break;
7 k& G/ S/ G+ u) U. ]9 T v) F
case 2
penoutput(current);break;
\( @3 M$ ?# `: L ^( u
}
9 N1 S; z' ?) T+ m- M/ P" `
你试试,看看行不行
作者:
rightred
时间:
2011-5-26 14:52
2#
atdmin
# S8 p# x2 @: K/ L
- p% M, W; m8 a0 b
" p h# M8 g8 z% G9 l+ d2 P
嗯,这样的话已经不报错了,就是功能还是无法完成...很奇怪
作者:
atdmin
时间:
2011-5-27 09:35
你要的功能是这样子的吗:
D* \6 d; [6 c
第一步:(写在传送带或者缓存区的进入触发)
9 n* `7 m$ y$ S* K# X8 I9 U% x5 H
当当前实体上的临时实体个数大于或者等于20的时候,给发生器发送消息,并赋予第三步的uservalue值为1;
* J# [ ?/ F, v# `3 w$ @0 U
第二步:(写在传送带或者缓存区的离开触发)
" Q- f' R$ b# k
当当前实体上的临时实体个数小于5的时候,给发生器发送消息,并赋予第三步的uservalue值为2;
Y8 \/ P' u7 J9 [1 i9 o& i
第三步:(写在发生器的消息触发)
7 y) X5 }$ N. E" w2 h
当uservalue值为1时,关闭发生器的输出端口;
5 q; U! h( G6 B; y/ N) ~: x
当uservalue值为2时,打开发生器的输出端口;
& |( V- r x5 Q8 p5 w
+ z( I; h0 i* D3 \: S5 d x- c
我也是新手,互相学习下!
作者:
atdmin
时间:
2011-5-27 09:39
3#
rightred
# w: z8 `: g: ?
! d5 [! ^$ Y* x h% I! J
这是我建的模型,你可以看看,或许对你有用!
作者:
rightred
时间:
2011-5-29 11:17
5#
atdmin
( K- G: X% P k @( m! G
/ l; H2 Q5 \ K1 y6 \/ j% h5 ~
' o! K3 ~7 l2 l0 c5 e9 ?, A! z) a
嗯...是这样的。谢谢你的模型拉
欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/)
Powered by Discuz! X3.3