全球FlexSim系统仿真中文论坛

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

Message Trigger 这东西怎么用?

[复制链接]
跳转到指定楼层
1#
rightred 发表于 2011-5-24 19:38:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
第一步:$ B; z" e7 u' K2 W
treenode item = parnode(1);
. H7 M3 P% x" t3 y6 J( p, ktreenode current = ownerobject(c);
( R- @! W  F: S2 u& ]4 ctreenode source=node("/source",model());7 J- \6 P) A3 b' u: j
int port = parval(2);2 j5 G+ ], A" O3 s# N/ t: z
if(- V2 V8 A) A7 H$ K
        content(current)>=20' x# h5 v. x4 g7 q
)0 ^0 L5 |- Q, u2 M
sendmessage(source,current,1,0,0);
; [) r' b; F% D* z+ K: l$ _/ Xreturn 1;; m$ L  F0 S. z0 [! [1 T
第二步:
( H1 q. c1 S( |: w3 r2 V  v/**Custom Code*/6 n2 `( i1 O" w- [% ]* x, t1 `
treenode item = parnode(1);! l* p% J6 f: ~
treenode current = ownerobject(c);
- g( M1 e6 l3 Q$ C' W0 Y5 Htreenode source=node("/source",model());
+ {+ Y0 F& T+ G/ wint port = parval(2);0 v/ p3 V5 c# a* y
if(
. k* Y" p) D2 m7 x  L/ y, J        content(current)<58 E9 c$ m+ y; e, |5 p' o2 J
)
, Y# W5 ^% t; p# D9 s* X- H, ~sendmessage(source,current,2,0,0);
! E- m6 M( n& @" Y& C% U# Xreturn 5;! |, ~9 U1 v* J
第三步:7 U, v; p+ ]& g

6 z. M8 `" ?  a/**Custom Code*/6 G2 \5 u% T& N/ N; a/ u
treenode current = ownerobject(c);
0 B$ ?% h9 r: cunsingned int uservalue=(unsigned int) msgparam(1);
& \9 M' L$ k8 s6 p' {switch(uservalue){
- e( O1 N% U  R0 I3 d8 M9 T! G        case 1:closeoutput(current);break;8 u" d. s% p2 e6 o( M
        case 2penoutput(current);break;8 q/ w) q' z# u: _- [# D% e
}/ X1 C& V) r$ O+ Y7 y0 n
最后系统报错是第三步,说是没有定义uservalue:
2 ~7 D0 ^8 j- B# X; n
/ X5 J8 J0 \5 j# m5 R7 v; l9 ~& Nline 3        unknown variable "unsingned". y1 P* M! G& o- N; L" e

% m0 R2 ~: o: Y- @# J; D; Mline 3        syntax error, unexpected type identifier, expecting ';'
  u! P& A/ @% x7 FCould not finish parsing because of previous errors.
- M0 o+ o; t" E# ^; q% o
0 [+ z* |. Z9 T4 [- B; U请问各位大大这是怎么一回事....
2#
atdmin 发表于 2011-5-26 14:18:40 | 只看该作者
应该是这样子的吧:3 G" G$ r+ O; M9 [: [$ ]
/**Custom Code*/
& F/ U+ L$ [3 c% M. s' I% V0 ztreenode current = ownerobject(c);7 Q- K" W9 l3 E! ^& m6 P
int uservalue= msgparam(1);
* p9 p; a& i8 e: i3 Xswitch(uservalue)
* x& ]% v$ I% }& p{
5 z+ H1 Q1 R! I- G2 x        case 1:closeoutput(current);break;3 H- {9 v: l, p5 l
        case 2penoutput(current);break;
& \! R8 q5 ~3 }+ K  Z  _4 i9 G5 L}  K: ~  U  I# e- y* ?! R+ X
你试试,看看行不行
3#
 楼主| rightred 发表于 2011-5-26 14:52:25 | 只看该作者
2# atdmin + x6 h  H3 U9 d1 N% a+ k) S

- N' R$ n( x! F) M" `  S: F  s; W7 D  @* b" Y
嗯,这样的话已经不报错了,就是功能还是无法完成...很奇怪
4#
atdmin 发表于 2011-5-27 09:35:56 | 只看该作者
你要的功能是这样子的吗:
0 ^8 C3 l' }9 L. ^" L8 p2 |% v% j第一步:(写在传送带或者缓存区的进入触发)8 P' w4 f9 ~3 Q- m% N0 t( K
当当前实体上的临时实体个数大于或者等于20的时候,给发生器发送消息,并赋予第三步的uservalue值为1;
0 u; z7 d. f: p  {9 \) ?第二步:(写在传送带或者缓存区的离开触发)
6 @- d1 q9 U( ^: p" _# k5 Y3 N- Y当当前实体上的临时实体个数小于5的时候,给发生器发送消息,并赋予第三步的uservalue值为2;$ o3 e9 ?  {; y; H5 d  {3 [& f. h
第三步:(写在发生器的消息触发)
( v0 B  c  Y& p5 `+ g( J当uservalue值为1时,关闭发生器的输出端口;
! U6 L0 O4 k0 X  k2 T当uservalue值为2时,打开发生器的输出端口;
; A. l' P% T0 D+ W5 J8 I. ]
, Y. s! ?' l; M1 t& E- Z; c     我也是新手,互相学习下!
5#
atdmin 发表于 2011-5-27 09:39:14 | 只看该作者
3# rightred
7 X. K) m5 e# u# k$ g6 u
0 K) C) m; h, I% k这是我建的模型,你可以看看,或许对你有用!

本帖子中包含更多资源

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

x
6#
 楼主| rightred 发表于 2011-5-29 11:17:57 | 只看该作者
5# atdmin
- p% j! y  ?" a. \" ]( e" S
+ t; @0 J/ n; g$ t1 g1 G5 U
& l3 j7 Z+ i- d5 r3 u1 n嗯...是这样的。谢谢你的模型拉
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-8-31 02:28 , Processed in 0.077099 second(s), 15 queries .

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

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