全球FlexSim系统仿真中文论坛

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

Message Trigger 这东西怎么用?

[复制链接]
跳转到指定楼层
1#
rightred 发表于 2011-5-24 19:38:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
第一步:; y) B6 t! j' _; V6 ^2 E$ V' i) U
treenode item = parnode(1);7 C9 D1 V# H. c( v
treenode current = ownerobject(c);
! I  X9 Y0 L+ v2 rtreenode source=node("/source",model());
. N6 }! o: D3 J$ ]1 F' ^4 Bint port = parval(2);
% y# z  [$ ?- ^) M/ u( fif(7 n/ p4 |$ r# Q* C
        content(current)>=20
( X/ k7 X2 G5 J' U; p2 g)
7 [# I) q' b  w: isendmessage(source,current,1,0,0);
& _+ _6 U, R9 w: Hreturn 1;, R# y; _: k( t# V+ e
第二步:
  P( ~6 }* f+ S# C0 U: z# k/**Custom Code*/
' A7 T/ |* j2 ~treenode item = parnode(1);
# B6 S) Z8 B% e& _; rtreenode current = ownerobject(c);
  S) C. R; @0 A) Ntreenode source=node("/source",model());
# y! |$ ?+ w; C  O( ]0 Z; E! Pint port = parval(2);/ [% ]& x. _) o5 o0 l: q
if(; u8 r" ~. s% M' Z, F" ~5 U: X
        content(current)<5
" p1 f  \3 ?; y. B* ^6 f- |)% t% p2 g% e- e# I3 ]) N( ?
sendmessage(source,current,2,0,0);4 S  ?' b, q9 q% C- r. k4 j5 Q
return 5;
* Q9 S/ x+ r5 s* L( q) V7 a9 V第三步:, l- v7 R0 [! T+ e
/ P# T, a2 P$ e) ?* L( c3 P1 W' }
/**Custom Code*/" D% f7 I  {( N9 [5 N6 H, D
treenode current = ownerobject(c);$ H! l) Q# l7 D$ r
unsingned int uservalue=(unsigned int) msgparam(1);5 Q! z5 y6 ?3 p6 e( f& a
switch(uservalue){
' _$ z/ S+ {/ N: ~        case 1:closeoutput(current);break;
0 m3 b+ {( a+ c        case 2penoutput(current);break;
! e" }7 w# t# G& x" I}
3 r. I) o0 o& r& R$ f* q- u最后系统报错是第三步,说是没有定义uservalue:" {) [0 t# l0 [; b2 N6 {: D
2 o; a6 F2 B. T. V3 Q/ E  W% Z5 x
line 3        unknown variable "unsingned"
4 @* f. r; z' k+ B
8 s5 q) `- t5 r( |; v9 e. jline 3        syntax error, unexpected type identifier, expecting ';'
4 o' A! z: S8 h- K; uCould not finish parsing because of previous errors.
' a; F* a# Y' N6 B5 @6 ?
: g4 O) Z) E5 T请问各位大大这是怎么一回事....
2#
atdmin 发表于 2011-5-26 14:18:40 | 只看该作者
应该是这样子的吧:- O2 G/ x, o5 R0 @+ Z# [
/**Custom Code*/
6 J$ i  a. X: {0 dtreenode current = ownerobject(c);+ |4 O! k3 z2 {: v* Y+ a4 i! s
int uservalue= msgparam(1);
8 L* p5 C' h; @; D' `; uswitch(uservalue)9 ~* w& z/ i1 W" z9 g: ~5 R
{
3 l6 }2 [6 ~& ~+ l) T        case 1:closeoutput(current);break;9 E3 S( v* t; F" M; H" t) f0 r
        case 2penoutput(current);break;2 A: [# S& z. N
}
, g" f. p1 X* D+ i; ~5 s- J你试试,看看行不行
3#
 楼主| rightred 发表于 2011-5-26 14:52:25 | 只看该作者
2# atdmin $ F; A! \  N, g9 e7 M9 h7 j

  B3 Z2 b- k2 o2 m. v/ p0 w4 S. O: \, I) x9 q
嗯,这样的话已经不报错了,就是功能还是无法完成...很奇怪
4#
atdmin 发表于 2011-5-27 09:35:56 | 只看该作者
你要的功能是这样子的吗:9 t) F0 Y7 C; w- G* ^6 {# }4 g
第一步:(写在传送带或者缓存区的进入触发); g3 ?! G7 ]! v6 F- e' @3 `. u
当当前实体上的临时实体个数大于或者等于20的时候,给发生器发送消息,并赋予第三步的uservalue值为1;
! w1 g) N! k% l0 i( X8 F第二步:(写在传送带或者缓存区的离开触发)# S3 t' p6 `2 o8 l$ M' l
当当前实体上的临时实体个数小于5的时候,给发生器发送消息,并赋予第三步的uservalue值为2;
& L& X# _' c0 z: R9 {$ Q第三步:(写在发生器的消息触发)2 A# V0 \) H# a$ \% ~8 J1 p
当uservalue值为1时,关闭发生器的输出端口;$ R5 {5 m, f0 Y. C) |6 V8 c1 r% ~
当uservalue值为2时,打开发生器的输出端口;
7 f: G! u2 I/ w( y  x5 r5 K0 V8 {0 ^% Y0 d
     我也是新手,互相学习下!
5#
atdmin 发表于 2011-5-27 09:39:14 | 只看该作者
3# rightred
8 L2 x, L7 R( X$ S' O
1 D: R9 U' {7 T, G6 Q  h1 Q  g这是我建的模型,你可以看看,或许对你有用!

本帖子中包含更多资源

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

x
6#
 楼主| rightred 发表于 2011-5-29 11:17:57 | 只看该作者
5# atdmin
' X% \* Y9 o' v# s* M/ `- X- \: t/ }3 h' K

, C5 i4 \# U. D9 d0 X嗯...是这样的。谢谢你的模型拉
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-8-31 14:00 , Processed in 0.072874 second(s), 15 queries .

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

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