全球FlexSim系统仿真中文论坛

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

Message Trigger 这东西怎么用?

[复制链接]
跳转到指定楼层
1#
rightred 发表于 2011-5-24 19:38:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
第一步:
% q5 S: S/ G- m/ i3 u" P% jtreenode item = parnode(1);
, u' u" V( D. b6 [' F% otreenode current = ownerobject(c);
0 M9 c$ I6 H4 Z7 k  Ytreenode source=node("/source",model());
$ v- f% f3 v' h7 Qint port = parval(2);* }7 E! o8 m2 _5 l, z8 \, W
if(; Y3 y6 ^) g1 X4 ?
        content(current)>=20
0 N9 g; E! }4 S5 S2 S: D)- @6 v, Z: c6 c' z* X, v
sendmessage(source,current,1,0,0);
  y, r3 ^% a8 k+ D- \return 1;
4 H$ i9 r& g$ A& I  p( y第二步:
1 ], n: M! Y% m+ P  J+ w/**Custom Code*/  v* m8 R; f6 p+ y9 K; S
treenode item = parnode(1);
# L8 x8 l: P7 |  w, Streenode current = ownerobject(c);
/ `6 d( j, |2 s3 w; o; b1 xtreenode source=node("/source",model());
% E! u: _0 Q: t  o2 G8 R" u0 [int port = parval(2);
! I+ O, t' |9 S# m( W- _if(" E6 N4 l2 z$ e4 Z. B
        content(current)<5! {; e8 J/ h, g2 `' h5 E$ B
)% V3 S# r- D/ L# {/ u: f$ P4 }7 l
sendmessage(source,current,2,0,0);' i; C1 B, m) P1 K
return 5;- Q8 N9 g! C& V
第三步:
2 S) W4 ^' w2 e- U( t& q! u8 N/ M& @" \
/**Custom Code*/0 |# p+ X$ y" y/ R# `! o& P+ k
treenode current = ownerobject(c);9 K' ?' a! K2 s$ p
unsingned int uservalue=(unsigned int) msgparam(1);
. q2 q. [) |! v& w5 |1 V& J0 qswitch(uservalue){
) q0 b$ e6 g5 ]% s. F. V  Z        case 1:closeoutput(current);break;
/ ^1 m  J& u, }        case 2penoutput(current);break;
! q( ^2 \0 H5 ]9 l( ?- }6 r}+ R8 F7 w& ^. F* @, Z1 `
最后系统报错是第三步,说是没有定义uservalue:4 v- {: I/ T( F" z) P: D
' R2 ^6 h' U  n9 \* \2 n6 f
line 3        unknown variable "unsingned"
5 D& X' p3 [: L2 W! Y+ M5 t# x- r8 b! ?5 u
line 3        syntax error, unexpected type identifier, expecting ';'( Y0 f5 u7 R: o. V* @. X, K6 ^/ N
Could not finish parsing because of previous errors.; p0 e" l- b6 ?) {

- Z0 A/ ~; r9 j2 S$ R) e请问各位大大这是怎么一回事....
2#
atdmin 发表于 2011-5-26 14:18:40 | 只看该作者
应该是这样子的吧:) D$ I& c; j$ t+ j3 r4 ^; n
/**Custom Code*/
( W/ ]7 r# U% `( L# Btreenode current = ownerobject(c);: h6 h! M; o$ k
int uservalue= msgparam(1);
/ Z2 b- ?* L6 F$ U- p' ^* {  i  s9 sswitch(uservalue)
" l5 J$ q& `( q; f$ m$ g) @{% M' R$ P" O1 q' w$ ?
        case 1:closeoutput(current);break;$ B2 v3 W9 l! q5 ^" P9 k: \
        case 2penoutput(current);break;
0 W( |4 a, r+ i% J}
- n0 e- x% B* A- E# s( \, y9 [& g0 O你试试,看看行不行
3#
 楼主| rightred 发表于 2011-5-26 14:52:25 | 只看该作者
2# atdmin % R  l1 r) C2 x- y9 C
/ M+ }8 N4 M& ~4 X
2 m) S8 V1 v: Q
嗯,这样的话已经不报错了,就是功能还是无法完成...很奇怪
4#
atdmin 发表于 2011-5-27 09:35:56 | 只看该作者
你要的功能是这样子的吗:
3 }5 `7 Y; w; Y4 ]( j/ l第一步:(写在传送带或者缓存区的进入触发)
1 @7 ^3 S# r+ L& A. \当当前实体上的临时实体个数大于或者等于20的时候,给发生器发送消息,并赋予第三步的uservalue值为1;2 _1 w- a( \  N2 k2 h8 v
第二步:(写在传送带或者缓存区的离开触发), T+ N+ f5 S5 T8 N
当当前实体上的临时实体个数小于5的时候,给发生器发送消息,并赋予第三步的uservalue值为2;
, [1 c' u; Z/ y; r0 F/ f' w/ A第三步:(写在发生器的消息触发)
1 q! k& J) ^0 A/ x8 u7 C当uservalue值为1时,关闭发生器的输出端口;
( ]/ w% `  Y1 D, O' Y1 S当uservalue值为2时,打开发生器的输出端口;
, U- X8 h6 K! i3 C' @5 ^2 G$ S+ n) I) q6 |+ s& ?" b' X
     我也是新手,互相学习下!
5#
atdmin 发表于 2011-5-27 09:39:14 | 只看该作者
3# rightred
5 v' d) p+ P& h4 ^2 k( f: H* B
3 \: c: o1 b) ]$ t这是我建的模型,你可以看看,或许对你有用!

本帖子中包含更多资源

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

x
6#
 楼主| rightred 发表于 2011-5-29 11:17:57 | 只看该作者
5# atdmin # l5 x9 A& T8 o  w( }4 \! m

, B" O% ]% Q4 `* q* l
) \9 y1 }7 O. Z嗯...是这样的。谢谢你的模型拉
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-9-16 02:01 , Processed in 0.086656 second(s), 15 queries .

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

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