全球FlexSim系统仿真中文论坛

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

Message Trigger 这东西怎么用?

[复制链接]
跳转到指定楼层
1#
rightred 发表于 2011-5-24 19:38:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
第一步:
( X0 F* d, r% I( ]/ z. y# p- btreenode item = parnode(1);
5 J' S4 X( T3 X+ ^# J$ ^0 ]treenode current = ownerobject(c);. Y/ [' k. p5 u5 ]3 _& U
treenode source=node("/source",model());$ t7 ?1 R5 Z0 E& I$ S$ w0 n! a4 k
int port = parval(2);" y% Q& @. J6 D  t* H, c
if(
& R* e* x5 M7 z& K! K        content(current)>=20
. s" Y4 n* g$ V2 C0 j* C2 w' ]# X), p2 z: \/ ]% H/ [  k2 g
sendmessage(source,current,1,0,0);
3 ]3 f9 \  y, a4 W6 u) }return 1;
* j0 [" Z. s  F3 i6 f* V第二步:4 Y$ A/ {4 v/ {+ |6 G6 G$ o: P
/**Custom Code*/( R( z% n+ S  X9 }5 H0 Y4 B6 [
treenode item = parnode(1);2 A. }" h5 l) I6 k
treenode current = ownerobject(c);
5 o7 r: V7 w, u3 V2 R! g& atreenode source=node("/source",model());* ~- S* }. s! w$ r6 ]
int port = parval(2);
; _  F7 i9 i  B3 M" X" q+ o* Jif($ x$ p6 p7 A. J1 k8 E
        content(current)<59 @9 j" K, W3 C9 M$ s+ Z" }- e
)
- C( f( f. j: c+ A4 Tsendmessage(source,current,2,0,0);
6 H( |6 ?6 e. ^1 d, ]0 x0 Areturn 5;! m) A% l; X% t
第三步:+ c# H# _5 ?1 m: i6 ?

! g+ N# s+ Z; s( o0 [/**Custom Code*/& H4 t- {: X) ^+ a
treenode current = ownerobject(c);
: z7 _& [/ ?8 g- t( I9 N; Bunsingned int uservalue=(unsigned int) msgparam(1);
& V$ ~" e& _- b/ d$ Z& Kswitch(uservalue){! P# J8 W1 X* ^' w5 j# L/ X* V
        case 1:closeoutput(current);break;: ~% X& F3 x+ q0 `/ y6 O" M! C
        case 2penoutput(current);break;
4 u5 ~) Y7 ]* g}9 {1 c1 x' B% A
最后系统报错是第三步,说是没有定义uservalue:- x* l+ d& b* \* d8 }, a
6 f, ^& D' v6 m3 }2 x' `
line 3        unknown variable "unsingned"
3 P0 X6 U' l6 x$ u0 r$ j: [/ k; ~! c- a  d
line 3        syntax error, unexpected type identifier, expecting ';'
6 g4 \# ~" l1 i, }1 L' PCould not finish parsing because of previous errors.
" U8 {1 ?8 T, O4 l' [' s
' l, M: y& c4 Y3 a: S% Z请问各位大大这是怎么一回事....
2#
atdmin 发表于 2011-5-26 14:18:40 | 只看该作者
应该是这样子的吧:! ^# O2 I! {- W3 M. N4 Q6 i
/**Custom Code*/
  ^" \% T* m% U4 a6 Y% s# otreenode current = ownerobject(c);
, h! {! g- G# _4 x( x! `int uservalue= msgparam(1);
) c; F/ d( ^8 Q0 {/ |- f' Bswitch(uservalue)7 U' n, h$ P3 S9 ?7 K
{% O& A) c( p- |* q$ v0 t) \
        case 1:closeoutput(current);break;
, u2 q) J4 y; u3 J: u  [% F5 T        case 2penoutput(current);break;
$ j: F. a8 u( z! o}- k; f# F# `. a! O# a) e, A' V/ z7 @
你试试,看看行不行
3#
 楼主| rightred 发表于 2011-5-26 14:52:25 | 只看该作者
2# atdmin
, H; P4 O& M3 o" F7 g
2 I7 |8 d" k) G: l
" g$ @5 g, d& S' W7 ]5 V+ i嗯,这样的话已经不报错了,就是功能还是无法完成...很奇怪
4#
atdmin 发表于 2011-5-27 09:35:56 | 只看该作者
你要的功能是这样子的吗:
6 a" n, b' H/ }+ a$ f% W第一步:(写在传送带或者缓存区的进入触发)
9 M; a' \4 E" z' p4 z& A当当前实体上的临时实体个数大于或者等于20的时候,给发生器发送消息,并赋予第三步的uservalue值为1;
$ d0 E! m2 A4 C" \; x( Q; q第二步:(写在传送带或者缓存区的离开触发)
2 r0 X; z1 o8 b& G( P/ `" Y9 g当当前实体上的临时实体个数小于5的时候,给发生器发送消息,并赋予第三步的uservalue值为2;8 Q( e' Q0 q. y. y# E' K
第三步:(写在发生器的消息触发)
9 R1 }5 Q1 }* a- z: C6 y0 c4 Z当uservalue值为1时,关闭发生器的输出端口;. @1 t" V, l1 ^& t: f8 x  j/ v! B* A
当uservalue值为2时,打开发生器的输出端口;8 w# v0 C4 U- b( P0 y5 b

& k% s  N# T3 @" N9 i$ y     我也是新手,互相学习下!
5#
atdmin 发表于 2011-5-27 09:39:14 | 只看该作者
3# rightred # W: q$ g: v# D$ c

1 `% J/ l- g' r& ~: r这是我建的模型,你可以看看,或许对你有用!

本帖子中包含更多资源

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

x
6#
 楼主| rightred 发表于 2011-5-29 11:17:57 | 只看该作者
5# atdmin
4 N/ Y% l& l8 @! o; C5 ?, Z0 A5 a
2 N, M) N: n( z% y# v' \
8 D: J' `& U5 b嗯...是这样的。谢谢你的模型拉
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-28 16:08 , Processed in 0.077123 second(s), 14 queries .

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

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