全球FlexSim系统仿真中文论坛

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

Message Trigger 这东西怎么用?

[复制链接]
跳转到指定楼层
1#
rightred 发表于 2011-5-24 19:38:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
第一步:
: X$ b4 ~* I/ F* ?! r0 h+ Xtreenode item = parnode(1);
# F2 ?3 T5 Y) K) I& Xtreenode current = ownerobject(c);
2 q( G9 C- G% ]5 ^# K2 atreenode source=node("/source",model());7 d+ l$ a5 G8 g( B- p8 G
int port = parval(2);: r6 O% \5 q$ E% D) B
if(
4 @/ j8 b) _5 s1 n, x2 A+ k0 g        content(current)>=20: U; o8 g5 e) U
)/ g" Z' T9 j/ ^, O, z$ A9 ^" F
sendmessage(source,current,1,0,0);' c* _; v! ?5 c- A
return 1;; H$ J6 k7 |( y* F1 N. ^' k. `: ~5 A
第二步:
& O! O7 q5 [( ^8 s0 {/**Custom Code*/7 p9 \6 I! H$ L, ^3 v9 e: n
treenode item = parnode(1);
' }( s/ C" P3 r7 J% A# N2 Utreenode current = ownerobject(c);- F$ r- m# y4 X6 c
treenode source=node("/source",model());! O: j2 `1 K2 x- D( @' m. L. c
int port = parval(2);$ Y, w; P2 F- j. P2 U$ Y4 L
if(2 w; H& \/ z  o! ~- w% {
        content(current)<5
: M4 t4 D6 i- o  z- p5 l/ D+ V0 g# T), w; h: ~3 ?- v+ S
sendmessage(source,current,2,0,0);
3 Y8 R$ z5 K$ {- ?! f: ?. Vreturn 5;4 u+ \( W) ?2 a- L+ G
第三步:
! _6 q: }7 p5 t' ?( R
) Z4 g& K, A. E; z9 C* N5 P/**Custom Code*/
% H% p3 K* L2 F. qtreenode current = ownerobject(c);  \5 j6 K1 Z& n& S
unsingned int uservalue=(unsigned int) msgparam(1);
1 I5 D( n+ k9 w& h: i) uswitch(uservalue){
9 v  s8 w8 o- ^, \) z        case 1:closeoutput(current);break;
% q1 n/ D0 ?6 _; ?: }: b0 C2 s        case 2penoutput(current);break;  o8 ]4 p! Q' T
}
& V4 J, [6 A% k) G最后系统报错是第三步,说是没有定义uservalue:# T' N8 D: K8 s  G! @

3 ~# ^: E+ M/ s$ \; sline 3        unknown variable "unsingned"
( L8 J, D5 I( H, U+ M2 L/ K" W3 H' C# R1 v8 U
line 3        syntax error, unexpected type identifier, expecting ';'/ J3 s7 t; T4 ]& f7 k
Could not finish parsing because of previous errors.
3 N" }, T& ]' N  ?
4 {5 B+ m' ^* F请问各位大大这是怎么一回事....
2#
atdmin 发表于 2011-5-26 14:18:40 | 只看该作者
应该是这样子的吧:/ _& U% @: t: V- X# H$ K- i( h; Y
/**Custom Code*/
& J4 H5 \) c! j/ \treenode current = ownerobject(c);& s$ a* T* Z6 ^$ b; x( M2 V+ e
int uservalue= msgparam(1);
  f  s/ B! y  z7 q! h3 N% u7 ^switch(uservalue)" m4 T0 o$ _, R* Q. q
{& I; I& F# X8 q5 L
        case 1:closeoutput(current);break;+ e4 n7 n) G: A+ d
        case 2penoutput(current);break;* g! v7 a+ i; n# D- K4 P
}
' u" h; d% R4 e2 ~7 `6 b+ ^你试试,看看行不行
3#
 楼主| rightred 发表于 2011-5-26 14:52:25 | 只看该作者
2# atdmin 2 o7 E6 |7 R# [$ a2 Y0 T
) {) w9 @: l) Z5 Q2 n( N
9 F& \/ M2 k, T, L% }- k8 Q
嗯,这样的话已经不报错了,就是功能还是无法完成...很奇怪
4#
atdmin 发表于 2011-5-27 09:35:56 | 只看该作者
你要的功能是这样子的吗:9 ~  u7 r4 B. G9 Y: `' b" f
第一步:(写在传送带或者缓存区的进入触发)
2 j+ j7 o0 P4 n# h当当前实体上的临时实体个数大于或者等于20的时候,给发生器发送消息,并赋予第三步的uservalue值为1;
5 s2 @# B! c' P: f第二步:(写在传送带或者缓存区的离开触发)
1 ~/ d' J% ?) F6 ~+ ?当当前实体上的临时实体个数小于5的时候,给发生器发送消息,并赋予第三步的uservalue值为2;
/ ]4 P9 {8 f+ G( ~5 L; i第三步:(写在发生器的消息触发)
6 [& J) B3 j9 x6 l当uservalue值为1时,关闭发生器的输出端口;
0 r* R8 U7 G' o/ F/ g  k当uservalue值为2时,打开发生器的输出端口;* `; N" w1 v! p

1 k/ A, S5 d# Q  U( X. w$ K7 t- H     我也是新手,互相学习下!
5#
atdmin 发表于 2011-5-27 09:39:14 | 只看该作者
3# rightred 0 ~$ ]5 `# K6 Z6 l* ^; _
$ o/ _: N+ }2 h9 u$ j
这是我建的模型,你可以看看,或许对你有用!

本帖子中包含更多资源

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

x
6#
 楼主| rightred 发表于 2011-5-29 11:17:57 | 只看该作者
5# atdmin
! [8 l& r3 A" Q* h: Q2 i/ u5 a0 M$ W/ z% [2 Y
7 e- f2 X0 L$ d$ O
嗯...是这样的。谢谢你的模型拉
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-10-17 13:32 , Processed in 0.069053 second(s), 14 queries .

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

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