全球FlexSim系统仿真中文论坛

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

Message Trigger 这东西怎么用?

[复制链接]
跳转到指定楼层
1#
rightred 发表于 2011-5-24 19:38:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
第一步:
/ A$ j! t! W: q" d9 ~treenode item = parnode(1);! C. [, B, `8 r( ~( c, b! \/ J
treenode current = ownerobject(c);  }0 ?8 r& K: x( ?
treenode source=node("/source",model());
7 h7 K( |! O8 m: L, uint port = parval(2);
8 [+ Q2 W0 ?: p& y( p# jif(
5 W) L! h" q: S; w$ ^        content(current)>=20
" _3 n3 H6 J# a  m' `- V5 q)) M1 q/ ~0 L! E
sendmessage(source,current,1,0,0);
1 ?- \9 h4 |& _% ^2 h! Treturn 1;
8 M4 j+ \0 m* m  C7 l3 g7 g第二步:
4 B2 C- {  N# j( G+ W3 ~+ ?/ A) q% _) w/**Custom Code*/
7 Y3 x* N+ |/ X: f4 ltreenode item = parnode(1);3 y' L0 Z  W1 D% n
treenode current = ownerobject(c);9 ]" n6 S& U' ~: G2 |, d# Z6 ]
treenode source=node("/source",model());) e, p' Y1 A8 w' V2 O
int port = parval(2);
+ t# y$ s! U, x2 c- Cif(5 b; ^0 v* u3 ]% j
        content(current)<5: R# u8 l8 l6 w' D; b3 s
)
0 {3 E, v* N* F3 \0 ssendmessage(source,current,2,0,0);
- a8 d6 k6 I( @1 O0 sreturn 5;
; h- Y6 Q( u7 m  |" e  C第三步:" C2 l5 Z6 u# j( H( ?5 {

7 z9 y& M, ~5 [# ]3 f+ u5 \/**Custom Code*/
4 ~4 G% k7 r% [8 ]( u! X0 s0 ztreenode current = ownerobject(c);3 v0 j& U" _5 A! p3 V' d
unsingned int uservalue=(unsigned int) msgparam(1);
9 J8 w' J6 c% F* j& z& I- b0 m6 A8 hswitch(uservalue){4 n) j4 l; v8 S8 s3 o8 z
        case 1:closeoutput(current);break;
5 V9 F) \$ u. l# Y0 _) n; s        case 2penoutput(current);break;
0 X2 Q1 Y8 z0 F% S$ q4 e9 ^  G}8 X% T8 a  h: |, N2 K9 g
最后系统报错是第三步,说是没有定义uservalue:
: G* O7 v0 D1 F. z& [  R4 y3 _4 l3 m9 F  P! R$ ?
line 3        unknown variable "unsingned"/ n. S  C5 @0 r+ ]! A& l, b& k" W  B
! `/ X- Z% `! D# `; D
line 3        syntax error, unexpected type identifier, expecting ';'/ I9 @. r  }" w, \! c1 f
Could not finish parsing because of previous errors.
! y# p1 d" I- n7 k7 N1 n+ [4 v6 b; {4 y* `" X
请问各位大大这是怎么一回事....
2#
atdmin 发表于 2011-5-26 14:18:40 | 只看该作者
应该是这样子的吧:2 t1 l% i( v2 I5 n
/**Custom Code*/
2 g9 `9 T2 h2 y3 Y. `treenode current = ownerobject(c);
9 z( ]8 o/ P' I* U8 N) Wint uservalue= msgparam(1);. `3 V9 |; Y& V3 R1 E
switch(uservalue)
( G5 J$ k1 t3 @! X6 ]) p5 T: G4 Z- M{
; I$ [: _% H' X. P5 D# L, I        case 1:closeoutput(current);break;$ f7 b/ I' F5 Q5 j/ J7 {  {( @
        case 2penoutput(current);break;5 }# g% |# G* R0 M: \
}- [" h. d( @6 p5 `' h
你试试,看看行不行
3#
 楼主| rightred 发表于 2011-5-26 14:52:25 | 只看该作者
2# atdmin + L# I. P9 J3 }8 o- \! T

5 y" P/ d6 q' @# ?3 Z* |
( w# s+ a8 c$ r( E嗯,这样的话已经不报错了,就是功能还是无法完成...很奇怪
4#
atdmin 发表于 2011-5-27 09:35:56 | 只看该作者
你要的功能是这样子的吗:
5 D! v) \. T8 ]  B第一步:(写在传送带或者缓存区的进入触发)
' [/ U( z2 n% c2 d6 S1 F' N当当前实体上的临时实体个数大于或者等于20的时候,给发生器发送消息,并赋予第三步的uservalue值为1;  M7 h( n0 R9 j) T) H/ A' W! T
第二步:(写在传送带或者缓存区的离开触发)" B0 N7 ]* f; _( C' N9 B
当当前实体上的临时实体个数小于5的时候,给发生器发送消息,并赋予第三步的uservalue值为2;
  _) R. S1 m8 T9 U! R' i* y第三步:(写在发生器的消息触发)
' K3 R. R" ^$ Z$ M, {当uservalue值为1时,关闭发生器的输出端口;
' v' b/ ]( k+ M# S当uservalue值为2时,打开发生器的输出端口;* ~' W. s  h1 \! t& @* w

# e& g+ _3 S- u( W" Z; m3 `     我也是新手,互相学习下!
5#
atdmin 发表于 2011-5-27 09:39:14 | 只看该作者
3# rightred & j, W6 K; r& }' P' G, N  C
  Y! a4 y: D! J* ^! d
这是我建的模型,你可以看看,或许对你有用!

本帖子中包含更多资源

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

x
6#
 楼主| rightred 发表于 2011-5-29 11:17:57 | 只看该作者
5# atdmin
4 t8 z' J# u2 n' ~+ u+ }' W' [  Y& F& s' Z

$ m5 c) N: I- b6 i+ n嗯...是这样的。谢谢你的模型拉
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-7-1 16:29 , Processed in 0.085504 second(s), 14 queries .

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

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