全球FlexSim系统仿真中文论坛

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

Message Trigger 这东西怎么用?

[复制链接]
跳转到指定楼层
1#
rightred 发表于 2011-5-24 19:38:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
第一步:6 e2 Q: v8 W! U0 R! W& g: B
treenode item = parnode(1);7 Y# W' G3 a  S0 D# [2 m
treenode current = ownerobject(c);
2 n6 n$ L4 y/ _- X* v7 [treenode source=node("/source",model());
1 R* H% S3 V. l2 ^* j. U. T/ H$ Dint port = parval(2);4 I  n9 ?$ x) |/ \$ ]
if(7 @1 R' t/ v& D: h" n" o& h( G0 k
        content(current)>=20
! J, H+ W. L9 \8 E. X7 J/ a  _)6 K; ?2 t1 k: U/ a
sendmessage(source,current,1,0,0);9 K2 N/ a" s+ q, b+ G+ k
return 1;' x$ x- h  k2 f5 n0 J
第二步:
4 ~; I& v$ L- s; P/**Custom Code*/
3 h8 e( ^* p3 Atreenode item = parnode(1);
3 [+ O! }- l# U* m. \0 n( |treenode current = ownerobject(c);
5 C/ R4 g1 M( K/ c4 K) K: j/ \treenode source=node("/source",model());( y2 B7 j$ n3 t
int port = parval(2);* a  q4 n& M  V( v! V& p) P
if(! W: a5 z7 c- p$ x7 I. b) V6 s
        content(current)<5
$ O3 n+ M' D; G; s, L8 W)" v, R# u% s% k$ e/ R
sendmessage(source,current,2,0,0);
/ `5 ~) Y, C- Z, areturn 5;0 k$ P6 }8 K: m! I
第三步:
: b6 R! p2 I, l9 ]' Z
% l  }- c# u: @/**Custom Code*/& }% c+ _% ]+ t" o) Z1 V, o
treenode current = ownerobject(c);+ E% ~: v2 L3 G
unsingned int uservalue=(unsigned int) msgparam(1);$ c) B2 ?6 R. {+ M) E
switch(uservalue){
/ D1 K: O) F+ j  N- h6 C) m6 b        case 1:closeoutput(current);break;
1 X9 {1 ^! L1 `+ b; @5 V        case 2penoutput(current);break;
  C; E0 g+ P; {" i- \" W% |}
2 Z" U5 U6 w" `* b$ }最后系统报错是第三步,说是没有定义uservalue:
) `, y3 h) j; Z+ L2 l+ y( l
9 v; S& e7 E2 |( jline 3        unknown variable "unsingned"  q4 w9 ^  O. F' S" v3 i: O. d
3 N  }# p, s6 t0 Q% Z
line 3        syntax error, unexpected type identifier, expecting ';'2 g7 p% ?! r, Q2 L2 k& z2 t& j/ F
Could not finish parsing because of previous errors.2 q& S+ c' X8 E- d$ Y& _. W

4 h4 A. E: q- e7 ]% n- I: t请问各位大大这是怎么一回事....
2#
atdmin 发表于 2011-5-26 14:18:40 | 只看该作者
应该是这样子的吧:4 {7 D& m/ A- K/ W8 q
/**Custom Code*/: ]) I7 G7 D$ L) j
treenode current = ownerobject(c);  @! y6 F; _, j7 G( B
int uservalue= msgparam(1);1 [9 Z2 l# F; S! `. s
switch(uservalue)
7 }! p2 T' f4 o) K{% a' X7 r3 `3 S  u* \0 A+ J1 r
        case 1:closeoutput(current);break;! F* @5 G% x6 {3 f2 w3 v- d1 R: p6 Z
        case 2penoutput(current);break;" [# S- l4 x8 l8 x, x+ d
}
$ y  g2 M: I8 }你试试,看看行不行
3#
 楼主| rightred 发表于 2011-5-26 14:52:25 | 只看该作者
2# atdmin
( I2 @* K3 t; t, l6 d7 ?* J: P0 @4 }1 w: e  z# i; F  l. G# F; R
, J0 n8 V: Z- Y/ [* S
嗯,这样的话已经不报错了,就是功能还是无法完成...很奇怪
4#
atdmin 发表于 2011-5-27 09:35:56 | 只看该作者
你要的功能是这样子的吗:8 E& U3 m1 h$ D9 @4 R: _  p
第一步:(写在传送带或者缓存区的进入触发)
0 \; ]7 @) u1 [4 _% ^当当前实体上的临时实体个数大于或者等于20的时候,给发生器发送消息,并赋予第三步的uservalue值为1;- a  z2 U& D! z' b) m% q8 {5 @
第二步:(写在传送带或者缓存区的离开触发)
2 `' i& m9 e: J7 V5 }, h当当前实体上的临时实体个数小于5的时候,给发生器发送消息,并赋予第三步的uservalue值为2;- Z& O( Q1 o5 T. s7 T  ?
第三步:(写在发生器的消息触发)
- q9 T* w8 X  B+ u) C当uservalue值为1时,关闭发生器的输出端口;
' l' H9 T6 F  G( H当uservalue值为2时,打开发生器的输出端口;, @' H" K% _1 D2 S1 O
/ i5 f5 r3 T+ S9 P' |- j- S0 ^6 b
     我也是新手,互相学习下!
5#
atdmin 发表于 2011-5-27 09:39:14 | 只看该作者
3# rightred + y8 ^( H  k& v3 Q% H8 w

- C1 W2 N' J+ w+ [! X这是我建的模型,你可以看看,或许对你有用!

本帖子中包含更多资源

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

x
6#
 楼主| rightred 发表于 2011-5-29 11:17:57 | 只看该作者
5# atdmin , C" u: I+ u% ?! \$ ?* A7 _5 d

6 e1 K+ U1 N* m$ }! G# z6 G: @+ z8 h1 b5 l% D* N7 m: E
嗯...是这样的。谢谢你的模型拉
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-6-1 10:10 , Processed in 0.084709 second(s), 15 queries .

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

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