全球FlexSim系统仿真中文论坛

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

Message Trigger 这东西怎么用?

[复制链接]
跳转到指定楼层
1#
rightred 发表于 2011-5-24 19:38:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
第一步:
9 u+ J& F( f% _1 @4 N0 N# Gtreenode item = parnode(1);: N2 I3 O) r# s
treenode current = ownerobject(c);
1 n/ n1 b( _/ Y9 {! b, \treenode source=node("/source",model());. T- K5 f; A2 L& F% [. K# M. P" V9 S
int port = parval(2);
3 g* u1 v" a; L- sif(# w8 f9 g. F  x+ o2 y4 C) G
        content(current)>=203 R  E: Y" M6 y# x7 A
)  j) S: {( Q% V. O( b
sendmessage(source,current,1,0,0);
$ k, X2 n9 J# W8 z" x3 v# kreturn 1;
% u9 @1 N, Z; B第二步:
' a  E' j2 E0 h: p/**Custom Code*/
+ S- v2 [1 F# P3 Q7 z* f: Otreenode item = parnode(1);
& Z. D6 |% y2 c/ K2 Q0 Xtreenode current = ownerobject(c);
8 a# W7 z8 \9 K  \  x( m# ?- otreenode source=node("/source",model());
3 k9 c$ _0 G2 Q; `0 [4 S" X" ^int port = parval(2);
) k' [; S, \7 S& H% |if(
" b8 x3 w! ^2 o# w6 ^        content(current)<5
2 e6 t8 G3 }5 k1 L0 q, F)& E6 X, y! X1 ^( f# h) _
sendmessage(source,current,2,0,0);9 G. Z& T% \1 S" C: o- e5 ^; J
return 5;
( N9 a& ]( B7 p! A' a第三步:
7 M& |! H& [5 E/ D6 {( n& @3 N! _7 m3 r
/**Custom Code*/
) ^! \% {9 z5 l& m8 f' }+ K2 Ntreenode current = ownerobject(c);7 f, i7 N4 I; b- O. u* E4 b/ B
unsingned int uservalue=(unsigned int) msgparam(1);
0 G: O% W' O- D7 V3 xswitch(uservalue){
; V9 V  L) o) X  Q        case 1:closeoutput(current);break;! v$ c2 f' U9 Y1 _
        case 2penoutput(current);break;' i  A6 ?4 u( U
}
/ ~+ }9 G7 C8 a% S7 k最后系统报错是第三步,说是没有定义uservalue:& z1 L9 G7 R$ ?9 V# s0 M4 `

; `) @, n2 j% k/ y- N" Pline 3        unknown variable "unsingned"% o" o$ j+ I% s/ K( i
7 S/ r! H( g# H9 X5 i
line 3        syntax error, unexpected type identifier, expecting ';'
: O. Y. s' q8 J/ Y6 c$ ZCould not finish parsing because of previous errors.3 D" c# v" Y9 D6 H& f* Y# A  u8 |

+ n6 z4 D2 @" w6 B请问各位大大这是怎么一回事....
2#
atdmin 发表于 2011-5-26 14:18:40 | 只看该作者
应该是这样子的吧:0 ]+ B$ d* `# F' A
/**Custom Code*/
) P. V. Q( d) {  F* t5 [treenode current = ownerobject(c);
3 x% Z1 R, }: O1 w9 |- j- G* Pint uservalue= msgparam(1);1 s; t3 |: e6 K0 k( d
switch(uservalue)
: ^# p1 z) v# o$ p, z. S0 \1 Y{8 s- B7 F7 @8 x0 q4 z, {
        case 1:closeoutput(current);break;3 Y+ n  V2 o9 k  H
        case 2penoutput(current);break;5 z8 w/ s, }0 u. {
}& X% `2 {# _  v: J* A( J& T
你试试,看看行不行
3#
 楼主| rightred 发表于 2011-5-26 14:52:25 | 只看该作者
2# atdmin ) V- f5 K3 l& P1 x4 [7 W

- |2 I$ l2 N3 F5 l% `- P9 C, p
( M8 G" B; b" g1 a% [嗯,这样的话已经不报错了,就是功能还是无法完成...很奇怪
4#
atdmin 发表于 2011-5-27 09:35:56 | 只看该作者
你要的功能是这样子的吗:8 a6 K" g/ e7 [3 j+ a3 k& B5 V
第一步:(写在传送带或者缓存区的进入触发): y1 v" T# x; c: i& Z
当当前实体上的临时实体个数大于或者等于20的时候,给发生器发送消息,并赋予第三步的uservalue值为1;2 J: r4 t$ f. @$ |6 P# j' m: z
第二步:(写在传送带或者缓存区的离开触发)* w# m& v7 E3 \4 U: f4 B% C. }
当当前实体上的临时实体个数小于5的时候,给发生器发送消息,并赋予第三步的uservalue值为2;
- }5 r9 p  E4 a& O  r第三步:(写在发生器的消息触发)/ _% `# e/ [+ Y8 V
当uservalue值为1时,关闭发生器的输出端口;/ v6 T) J( X+ E+ G
当uservalue值为2时,打开发生器的输出端口;% h4 M% v# f" `2 Q

4 F' G  p0 X0 s; Y% y6 R     我也是新手,互相学习下!
5#
atdmin 发表于 2011-5-27 09:39:14 | 只看该作者
3# rightred
# f2 }6 O2 _+ T2 Q7 U' T8 r0 H" p: V2 l& X: g  U
这是我建的模型,你可以看看,或许对你有用!

本帖子中包含更多资源

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

x
6#
 楼主| rightred 发表于 2011-5-29 11:17:57 | 只看该作者
5# atdmin
) j, F8 b( M8 d( I' E; O  m/ G2 N/ `! D" t+ |
9 ~+ v, S; |# N
嗯...是这样的。谢谢你的模型拉
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-8-31 19:19 , Processed in 0.089319 second(s), 15 queries .

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

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