全球FlexSim系统仿真中文论坛

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

Message Trigger 这东西怎么用?

[复制链接]
跳转到指定楼层
1#
rightred 发表于 2011-5-24 19:38:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
第一步:$ `% t( y$ i4 F8 ~) f2 w2 h0 b
treenode item = parnode(1);5 C; H6 z  G6 c
treenode current = ownerobject(c);: r+ c& W; ^* B7 V" v' {6 x  P
treenode source=node("/source",model());
2 R+ h+ p0 F+ a. Hint port = parval(2);1 b1 X! T1 t* T* L( |% d1 l
if(
; q( s$ M3 u+ L% u        content(current)>=20  Y* |) e6 }( c7 \9 M0 _
)
# W  {9 g4 O( F2 a# U& xsendmessage(source,current,1,0,0);# l7 S+ E* T: m) R) k
return 1;
) P! u/ N& o7 M/ K+ ^, v+ F1 M9 t9 n第二步:
( J' s' `6 @0 e- F5 o/**Custom Code*/6 {: j, W; n/ o* @5 ?( u* R4 ?
treenode item = parnode(1);
, v; G* U, a  s/ ktreenode current = ownerobject(c);
3 _+ a; q" Z- F% A. f% [treenode source=node("/source",model());0 `6 @. D# w0 {/ [% _/ H
int port = parval(2);' Q  W# `' j: r/ X
if() z0 p* |4 b7 w2 m1 W) ~. Z
        content(current)<5
" m( N+ `; Q+ q6 c)
7 ^( I% V' B  @2 l' Q. j; g: ?' Rsendmessage(source,current,2,0,0);
" v9 a* J) {) T6 v6 j: [return 5;
$ |0 q) f- T* u7 X9 d0 \1 `第三步:; d, @- _0 s1 v
, N4 ~; v1 c. z: ^& z
/**Custom Code*/
% s$ y) S5 _& ^( {! [* atreenode current = ownerobject(c);2 ]. [! S& r% g) S3 h7 u
unsingned int uservalue=(unsigned int) msgparam(1);
0 o8 L0 E# Q" n) Jswitch(uservalue){
' T3 x  s/ ~3 E) [, M2 h* ]' s% c        case 1:closeoutput(current);break;- d1 ?5 K& t$ v# [- U7 v2 v$ ?
        case 2penoutput(current);break;
: Q+ M& ]  t" m4 |2 L& A}4 t& U" _* p2 N- j- \& \. ^3 v$ l' h
最后系统报错是第三步,说是没有定义uservalue:
: ^# m( l- Z# j* ^5 U' L$ t
& A0 E; S! g9 I) h7 s7 |3 rline 3        unknown variable "unsingned"% U% S, v& g* _% G+ U8 P( }+ W+ ~

/ y( P# m/ L9 Z9 Oline 3        syntax error, unexpected type identifier, expecting ';'7 Q5 R7 D+ E% P& V: A0 P
Could not finish parsing because of previous errors.( @4 c+ V5 B' M3 Z4 c& E

4 J9 G- M% |' O+ H请问各位大大这是怎么一回事....
2#
atdmin 发表于 2011-5-26 14:18:40 | 只看该作者
应该是这样子的吧:$ c$ g2 ^+ {* e9 J0 [, h1 g+ g& ~
/**Custom Code*/$ h! ~3 p; {4 P& l, F$ i0 B6 z
treenode current = ownerobject(c);: N2 i/ C' f4 i: \; a' R
int uservalue= msgparam(1);
& B1 g; D9 C- Rswitch(uservalue), z* ~$ N0 j* c5 g1 D
{& M5 y$ O" o9 \5 C
        case 1:closeoutput(current);break;+ J0 |- w% r7 K0 e' {9 U7 k! Y
        case 2penoutput(current);break;
) c" K  \/ w* a/ C}7 Q; a6 [  e( @9 e7 w
你试试,看看行不行
3#
 楼主| rightred 发表于 2011-5-26 14:52:25 | 只看该作者
2# atdmin % y. o9 L1 R6 I5 V0 B7 t$ H5 p6 H# ^# ]

" J% d" A! Z: A+ `/ B7 G
9 p) K) W! v- {" S0 ?0 b# I嗯,这样的话已经不报错了,就是功能还是无法完成...很奇怪
4#
atdmin 发表于 2011-5-27 09:35:56 | 只看该作者
你要的功能是这样子的吗:
  H4 J+ r' [& H0 q; P/ R* f第一步:(写在传送带或者缓存区的进入触发)/ W! W. N) M* K  u& T1 T( x) P& b
当当前实体上的临时实体个数大于或者等于20的时候,给发生器发送消息,并赋予第三步的uservalue值为1;' l# T1 S9 `0 b
第二步:(写在传送带或者缓存区的离开触发)
5 l0 K/ n+ P) `4 ^( ?" ~0 s当当前实体上的临时实体个数小于5的时候,给发生器发送消息,并赋予第三步的uservalue值为2;/ m& _) V* E, ^4 M( C& d, B3 m
第三步:(写在发生器的消息触发)4 I& n6 s/ s' M0 L; z( n
当uservalue值为1时,关闭发生器的输出端口;6 _  \% o0 ^2 K) i! h) Q
当uservalue值为2时,打开发生器的输出端口;$ |! z. a0 P' c6 g
" [1 c) h$ }4 u! c% J8 E2 T6 \2 {
     我也是新手,互相学习下!
5#
atdmin 发表于 2011-5-27 09:39:14 | 只看该作者
3# rightred
1 t1 T9 g. N; g' G- p6 C: @9 ]
  W# e. G' w4 ~  }: {这是我建的模型,你可以看看,或许对你有用!

本帖子中包含更多资源

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

x
6#
 楼主| rightred 发表于 2011-5-29 11:17:57 | 只看该作者
5# atdmin
8 h7 c5 p$ o! M  x3 i  o: s( m
% p2 Z2 k) ]9 A, ]) `8 Q  D" h: I9 q) Q
嗯...是这样的。谢谢你的模型拉
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-5-7 21:05 , Processed in 0.085749 second(s), 14 queries .

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

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