全球FlexSim系统仿真中文论坛

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

Message Trigger 这东西怎么用?

[复制链接]
跳转到指定楼层
1#
rightred 发表于 2011-5-24 19:38:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
第一步:6 J6 V4 }6 {! h5 ]+ @/ e, L' s7 m9 _
treenode item = parnode(1);- q& S. v$ ^; n9 S
treenode current = ownerobject(c);
5 W9 @0 ]3 U' b" {treenode source=node("/source",model());9 B( Y# K; c4 @
int port = parval(2);
! f# W$ V6 K: f3 jif(
2 b: x5 P3 h4 {+ H8 V, v1 w1 Z1 K7 A        content(current)>=205 }" w# Q. u2 R/ ?( n1 P
)
* \7 E2 ~( U2 osendmessage(source,current,1,0,0);3 e7 t8 U( a* N2 l: C
return 1;2 g+ P9 F8 q/ j8 @/ c
第二步:' |. }1 [2 d. Y$ g3 P5 C
/**Custom Code*/# X/ ?2 G2 T0 o+ X# ^" ^
treenode item = parnode(1);
0 h% y4 P4 I( r4 x7 N2 ptreenode current = ownerobject(c);
7 W5 K. w4 Z- `  O# e3 ~# ctreenode source=node("/source",model());5 b3 _% d% _# J
int port = parval(2);8 l- K  a& N& G8 e6 C9 g& V" J; e
if(; H+ z) e' Z% W8 T5 z  k
        content(current)<5: ]6 J: S' B- u0 Y& }, A" S
)' n% Y0 c/ Q4 `+ X2 l/ {
sendmessage(source,current,2,0,0);5 I7 \- [' l- u: {  y
return 5;
* z- e# u/ V9 _( c& ~第三步:$ L3 O8 q; e# l- j9 B

9 j8 }0 a1 O8 w4 |6 J; T/**Custom Code*/
+ `: k7 {; b# u( X7 Htreenode current = ownerobject(c);; L/ s' w5 L% h! v* p4 q7 U
unsingned int uservalue=(unsigned int) msgparam(1);
* ~4 D7 z6 `: G3 Mswitch(uservalue){
5 f* d/ F9 P0 }& @# \' ]        case 1:closeoutput(current);break;' }% B/ J& T9 R) U6 b+ o% L) P
        case 2penoutput(current);break;7 A. S+ k7 M( Q, ~0 _
}4 O' ^3 d! T- K0 J9 P2 W
最后系统报错是第三步,说是没有定义uservalue:
# K5 S' @1 W4 s$ t  k' x& V+ E1 ?4 M2 V- N6 c5 w6 M
line 3        unknown variable "unsingned"! Q! n& V( Q. }, b
1 |4 m+ k# ~0 Z
line 3        syntax error, unexpected type identifier, expecting ';'
4 s! P# m( A/ w# }Could not finish parsing because of previous errors.4 Y& ]# b1 {" v) w7 v

: G7 x8 y+ t4 k- m请问各位大大这是怎么一回事....
2#
atdmin 发表于 2011-5-26 14:18:40 | 只看该作者
应该是这样子的吧:) D# C& l! g. \" V8 ~6 o
/**Custom Code*/
* G2 o0 q% V/ \3 Y2 ctreenode current = ownerobject(c);
) r7 ?; v; S9 e6 Z  t" lint uservalue= msgparam(1);: J; N0 I# Q9 B9 z3 ^1 G
switch(uservalue)
% B/ _- f. p% G3 n{
7 e6 N3 w, {7 Y  j  t" {+ Y        case 1:closeoutput(current);break;
7 e& N: E) h7 O* R9 E; h' o        case 2penoutput(current);break;
! ~9 X0 L3 ~, U6 ^3 K, B- y& P+ K}. F6 p# |( J1 \( Q
你试试,看看行不行
3#
 楼主| rightred 发表于 2011-5-26 14:52:25 | 只看该作者
2# atdmin 8 {5 e  l0 N# s8 E' \6 E) Z0 d' Z9 {

5 T( [6 _% \9 f* ~" @; t7 h$ x4 W# N0 A
嗯,这样的话已经不报错了,就是功能还是无法完成...很奇怪
4#
atdmin 发表于 2011-5-27 09:35:56 | 只看该作者
你要的功能是这样子的吗:+ w4 t2 h" t- Q) F6 y0 W* W* R
第一步:(写在传送带或者缓存区的进入触发)
; ^& W6 Y0 I# N9 Q# K* v3 P当当前实体上的临时实体个数大于或者等于20的时候,给发生器发送消息,并赋予第三步的uservalue值为1;
) g. T6 y) u% G+ f6 F+ P第二步:(写在传送带或者缓存区的离开触发)* m4 {9 F! q9 X" E
当当前实体上的临时实体个数小于5的时候,给发生器发送消息,并赋予第三步的uservalue值为2;9 u2 S7 ]  J" u9 \1 H. C; j2 f
第三步:(写在发生器的消息触发)
: H7 y) r+ M1 h. j  u- y) M当uservalue值为1时,关闭发生器的输出端口;
0 w9 L8 n2 \) e6 k当uservalue值为2时,打开发生器的输出端口;
- G6 p7 |2 [8 O7 s1 N4 Q& u& @8 `/ R9 i4 t$ ~- _+ {* P5 L4 [
     我也是新手,互相学习下!
5#
atdmin 发表于 2011-5-27 09:39:14 | 只看该作者
3# rightred
1 |  ^6 l8 W) P+ a% w9 ?( c( n1 n5 T' ~9 \8 d
这是我建的模型,你可以看看,或许对你有用!

本帖子中包含更多资源

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

x
6#
 楼主| rightred 发表于 2011-5-29 11:17:57 | 只看该作者
5# atdmin
* k8 Q  G) n$ {7 ?  U- M7 m7 o) P0 c1 Q% N' ^- E% I

; [" o7 H6 `1 s* u+ b; |1 Z) h嗯...是这样的。谢谢你的模型拉
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-5-11 22:18 , Processed in 0.075842 second(s), 14 queries .

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

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