全球FlexSim系统仿真中文论坛

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

Message Trigger 这东西怎么用?

[复制链接]
跳转到指定楼层
1#
rightred 发表于 2011-5-24 19:38:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
第一步:
; d+ R  v3 K" g+ \treenode item = parnode(1);
* Y0 v0 X$ ^# H6 Z" Y1 V' d: itreenode current = ownerobject(c);
; p' W5 J5 Q0 }treenode source=node("/source",model());; z$ t  {( s) ]+ w+ S
int port = parval(2);; o9 C% d: X! _- O) Z& h( `
if(, m9 T  C  }- }" D" ^4 f0 N
        content(current)>=20
7 o: S1 a4 T6 t  p' N: d2 t)
7 ~4 d4 w1 ~  u% ]sendmessage(source,current,1,0,0);5 J/ R9 F1 g! J8 T6 X$ w  ~6 J5 V
return 1;' b0 |$ h6 _, P$ |4 U2 a. x
第二步:
. z3 T9 v: x. v/**Custom Code*/
9 ?9 N0 b- S$ @4 j* X# o! ^treenode item = parnode(1);' R+ T/ p4 D. m; d' U6 U; E+ O" f
treenode current = ownerobject(c);
# k  K- c6 h9 B1 ]# z3 E1 ltreenode source=node("/source",model());
! ]- b# a( P. M2 {8 E: i( M4 A+ U4 Cint port = parval(2);& B+ Q6 O1 J( \
if(
! Q# U, d/ j( U5 _* T" h* H        content(current)<56 H# t# t( J) w* J, J# k$ F
)! c& {3 o8 U. O2 z* O  F, p
sendmessage(source,current,2,0,0);
2 V  H4 z$ U& {! rreturn 5;8 H9 v" }+ {, q' @" G6 [8 S4 P0 C! Y
第三步:9 ~1 f7 B, \$ t
' y+ N0 Q3 \( b% X" K" p
/**Custom Code*/" M: f  ^$ M5 ]  @; j/ e, N
treenode current = ownerobject(c);
# H6 I. N( q1 wunsingned int uservalue=(unsigned int) msgparam(1);
- h8 l1 f7 H3 v: D, D: z7 Vswitch(uservalue){
. U$ o$ |8 D9 M0 i& F2 {7 o        case 1:closeoutput(current);break;
+ {) m. i" \9 r7 Y; B2 a6 i. Q  A        case 2penoutput(current);break;3 V' H% o" ]: q4 a8 [' o/ t  U
}7 f0 B0 Y: d" N: r# m
最后系统报错是第三步,说是没有定义uservalue:/ [. u# K1 k2 h( B+ q
* k$ ]# B: m  {* |1 H# D( v
line 3        unknown variable "unsingned"! `: }! p- Z! Q& Y8 @
$ s% \4 k- D- l7 P3 z& O! c2 s. o8 s
line 3        syntax error, unexpected type identifier, expecting ';'8 P) q& Q$ Q. F% L% ^, K4 q) d% e; ^
Could not finish parsing because of previous errors.2 p2 E* C: @' w1 V$ d$ V( _: }1 F

  ~: A( |/ D- G请问各位大大这是怎么一回事....
2#
atdmin 发表于 2011-5-26 14:18:40 | 只看该作者
应该是这样子的吧:
. o6 t' W. k) e# l; J) T- z- r/**Custom Code*/
; E$ Q& F/ @7 @- D  L  `, j: H) |treenode current = ownerobject(c);- }! z* _/ O' @* k# \3 I
int uservalue= msgparam(1);
! Q( ?5 R2 h9 l0 f' e3 [/ r) |switch(uservalue)
/ @: P! W# [: c" F4 J! Y% i+ z{
1 g% W8 k1 a, l. o2 R  ^        case 1:closeoutput(current);break;
8 c, D  s2 |+ M( m& O* j        case 2penoutput(current);break;
4 y7 g5 @) ?  I6 t8 _0 f/ o. R}
( d# l& ^3 K% }) [) x! j8 g! V3 l4 U你试试,看看行不行
3#
 楼主| rightred 发表于 2011-5-26 14:52:25 | 只看该作者
2# atdmin
% }- z( \( F5 j+ B: a% M1 n  E+ q' B2 l& @5 }( {9 b

; X, L: M: J( ~8 w0 Z嗯,这样的话已经不报错了,就是功能还是无法完成...很奇怪
4#
atdmin 发表于 2011-5-27 09:35:56 | 只看该作者
你要的功能是这样子的吗:: t" W4 ]/ G5 q4 G: I5 T
第一步:(写在传送带或者缓存区的进入触发)
) d- g. Y# J* r) f- i当当前实体上的临时实体个数大于或者等于20的时候,给发生器发送消息,并赋予第三步的uservalue值为1;
$ k1 p, a# C' A第二步:(写在传送带或者缓存区的离开触发)
/ H& p$ z6 y! w  s& ~当当前实体上的临时实体个数小于5的时候,给发生器发送消息,并赋予第三步的uservalue值为2;2 h9 \0 X3 v* U5 e0 C1 C. Z5 _
第三步:(写在发生器的消息触发)' `; q. s/ ^$ S1 J: W
当uservalue值为1时,关闭发生器的输出端口;
1 k  W1 r- |, f+ \, J当uservalue值为2时,打开发生器的输出端口;
( K6 n0 i" \6 ^: S/ _, E6 ^  |  h  U2 D# {% H8 b
     我也是新手,互相学习下!
5#
atdmin 发表于 2011-5-27 09:39:14 | 只看该作者
3# rightred + A% H0 o, R/ v  k4 t  U/ ^# A: ~

5 H! U% m0 ~1 ~0 g2 V$ |* ?! J这是我建的模型,你可以看看,或许对你有用!

本帖子中包含更多资源

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

x
6#
 楼主| rightred 发表于 2011-5-29 11:17:57 | 只看该作者
5# atdmin
9 k+ r4 d5 T3 l* l/ N
% w) @' G% A8 c- ~( [  y1 F
% X4 W' [1 }; ]1 v$ ^. p' i嗯...是这样的。谢谢你的模型拉
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-28 12:35 , Processed in 0.071691 second(s), 14 queries .

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

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