全球FlexSim系统仿真中文论坛

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

Message Trigger 这东西怎么用?

[复制链接]
跳转到指定楼层
1#
rightred 发表于 2011-5-24 19:38:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
第一步:/ i# {% a9 Y$ ^+ i/ Q) d
treenode item = parnode(1);
7 t  q2 A  ]8 E% M' ztreenode current = ownerobject(c);* E: e2 r; H/ D2 {' R, q2 C
treenode source=node("/source",model());
7 A* }- R( v; {! t" s. |int port = parval(2);: }8 I; d! Z+ q; x
if(
. _* R5 K' D" b0 k  X, v        content(current)>=20
9 G7 p# C( U! @$ U, T2 E)
' E9 Z! L; |! u  ~sendmessage(source,current,1,0,0);
  c# u$ F+ R$ w: m! P6 L$ _9 a& x) \return 1;2 }! F: G. c5 y
第二步:6 k# D6 D( k& j* T
/**Custom Code*/. B+ V) t/ @  Z
treenode item = parnode(1);* _/ U1 z) ~0 P2 T
treenode current = ownerobject(c);5 W, o( z3 u7 {& G" B& G
treenode source=node("/source",model());# R( _+ P4 Z& L7 I) ~
int port = parval(2);" k/ y# _3 `1 p
if(  w- j) A7 B$ c8 d; K; N, U! P
        content(current)<5
+ ]. M5 u; ~9 x0 X)* q" f' O! P( L- y
sendmessage(source,current,2,0,0);
' U7 |/ W/ L& s$ preturn 5;
4 S" ~3 @1 w6 R( s  n5 Z第三步:, I3 r' M1 u9 Y) x

8 Q3 c- j+ f/ \) m/**Custom Code*/
' X7 ?9 d* J+ _+ {6 T2 ptreenode current = ownerobject(c);
8 v# K' ?. [0 c' h2 J" yunsingned int uservalue=(unsigned int) msgparam(1);
8 {, D5 o( k: ~, s9 R# ]3 x% uswitch(uservalue){' l5 x% V/ u; V0 Y0 x
        case 1:closeoutput(current);break;) y* n- h) g5 o" f% _
        case 2penoutput(current);break;
1 M, }5 ^0 W9 b3 A# p$ U}6 d$ w! N, i5 k6 ?
最后系统报错是第三步,说是没有定义uservalue:
0 {* I# ]9 Y1 X+ J" n; I, l9 |/ m( K# d
line 3        unknown variable "unsingned"# ?- \. k* j+ W, L7 b/ H

* S! }8 x* A: y% l0 Wline 3        syntax error, unexpected type identifier, expecting ';'
5 w& y$ X! {  \Could not finish parsing because of previous errors.
3 W/ N5 q9 y0 E" V: |  S9 o1 M8 {# |5 E* @& e3 O# @3 Y
请问各位大大这是怎么一回事....
2#
atdmin 发表于 2011-5-26 14:18:40 | 只看该作者
应该是这样子的吧:
' Y* {# p! s9 s2 n9 d" b3 Z/**Custom Code*/& m" L. r$ o1 ?7 b5 ^
treenode current = ownerobject(c);8 N. A3 f6 J/ s6 n5 Z' V
int uservalue= msgparam(1);
4 `4 g$ r# h1 Nswitch(uservalue)' O( h& ?, |6 K* ~8 g
{
  k0 j# Z5 z) G+ F5 q3 j2 o& l        case 1:closeoutput(current);break;
; w! T" g( w2 j$ V, e+ Y/ @1 F! i        case 2penoutput(current);break;
, Z! B) U- M0 S9 I; k6 u8 `: a" ~8 m}
5 D- B4 v$ k8 s) `6 Z, ]" P$ x你试试,看看行不行
3#
 楼主| rightred 发表于 2011-5-26 14:52:25 | 只看该作者
2# atdmin
7 i" i" r* r5 s, g( s3 J% F* F( Z

) Z. O0 l& h5 @$ X& K4 i嗯,这样的话已经不报错了,就是功能还是无法完成...很奇怪
4#
atdmin 发表于 2011-5-27 09:35:56 | 只看该作者
你要的功能是这样子的吗:% o+ f. a0 Z% @3 n8 P) y5 s
第一步:(写在传送带或者缓存区的进入触发)
; Q& ?, M+ ]9 s当当前实体上的临时实体个数大于或者等于20的时候,给发生器发送消息,并赋予第三步的uservalue值为1;( g9 T4 v3 K* X% a( {# d
第二步:(写在传送带或者缓存区的离开触发)
4 C0 f/ P# Y5 M" |8 C/ v6 ]当当前实体上的临时实体个数小于5的时候,给发生器发送消息,并赋予第三步的uservalue值为2;, b! V; e# u  J$ {
第三步:(写在发生器的消息触发)4 ]- |: F! t& E1 q* T  z1 x
当uservalue值为1时,关闭发生器的输出端口;
1 V( T( L# I$ W" j; n/ n/ b当uservalue值为2时,打开发生器的输出端口;( i: E. \1 P! C( K. g  M

( s4 h/ U: }  z, D# U     我也是新手,互相学习下!
5#
atdmin 发表于 2011-5-27 09:39:14 | 只看该作者
3# rightred * }  i) v4 u! I$ F/ r  d
2 p9 A! E( @, T* ?, C- C
这是我建的模型,你可以看看,或许对你有用!

本帖子中包含更多资源

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

x
6#
 楼主| rightred 发表于 2011-5-29 11:17:57 | 只看该作者
5# atdmin & F( n8 M& [5 T1 J" h) Z8 _5 a

( d6 z& o# L# }* {* t9 U7 S. q7 w9 J+ `- X- @
嗯...是这样的。谢谢你的模型拉
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-29 11:16 , Processed in 0.068564 second(s), 14 queries .

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

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