全球FlexSim系统仿真中文论坛
标题:
如何实现多条(>3)消息、表格消息的发送?
[打印本页]
作者:
丫头盖
时间:
2014-10-11 14:17
标题:
如何实现多条(>3)消息、表格消息的发送?
总的订单信息需根据去向区域,将各个区域的订单信息分发下去,之前做的模型,是一个区域一条订单数据需求行,采用信息发送的方式实现的。
4 b! H" t2 e4 n. [4 S
但是,现在将一个区域的订单数据需求行,拓展为3条(及一个3行1列的表),将该信息发送给各区域,就出现了下述问题无法解决,向各位大神求指教。
5 k: P/ o3 k/ G' \1 t
sengmessage()函数只能发送3条信息,但在做的模型中有多条信息发送的需求,向各位大神求指教。
; H; a7 _# f1 X, G; \7 O! R
问题详述:
5 v U# W7 m O X. L7 B
1、如何将表格信息通过sengmessage()函数,发送给中间端口连接的实体?
# @5 m" a6 T* f5 O
1)在模型中的“订单队列区23”实体上,需将其内的临时实体的标签表格“OrderTable”的信息传,传给该实体的中间端口1-9。
- d" |- z% s$ D* d% m' b; ]
其中:“OrderTable”的1-3行数据发送给中间端口1;4-6行发给中间端口2,以3个为单位依次类推。
. q4 D: k( L$ L: v! _
2)“订单队列区23”实体上的临时实体"BJNumber"标签同上述。上述两个问题如何实现呢?
% ~5 k3 O7 O7 ]; g: _
- h' K7 h3 O: ]
2、如何通过sengmessage()函数,实现)>3条信息的发送?
( a4 p6 A: m! d
1)“订单队列区23”实体上的临时实体的标签"TD"、 getitemtype(item)数据发到所有中间端口,加上上述信息超过3条信息,如何发送?
0 a1 I6 q* N+ h% Y! ]0 d+ `
`8 h' \/ p) C- x- n
附上述问题的模型,用的是7.1.4的版本。[attach]2257[/attach]
( N! a6 d4 E2 |
急求各位大神的指导,非常非常感谢!!
作者:
慧娴亚伦
时间:
2014-10-11 15:41
问题1看得有点晕。。。
* b/ P# `% a) v( u
问题2解决其实挺容易的,只要将对应要保存的信息存到一个全局表里面,只需要传递全局表的编号或者名字,到指定消息触发器中再根据这个编号或者名字,这样无论您要传递多少个信息只要存在一个全局表里面就行啦~
作者:
丫头盖
时间:
2014-10-11 16:45
2#
慧娴亚伦
7 G; R# J' s% e6 O& H( J3 X% A
一个27行的表格,要分成9个部分传出去,如果按照全局表的话,就会产生9个全局表,太多了。所以,想问一下,能否避开全局表的方法传递信息?
6 D3 i% c! s+ {" {3 b, v+ d2 H
N( U8 t0 n% K) w$ F0 e
对我的模型在解释一下:
+ c) I% a' x6 t0 U% T6 c
1)托盘代表订单。 我在临时实体箱内,给托盘“OrderPallet”设了27行1列的表格标签“OrderTable”,代表总订单;
0 m% n- U, X, f) c$ Q8 X5 `& ^% }
2)“产生订单23”发生器,产生给“OrderPallet”托盘;
, N; K! t9 W2 h4 w4 E: f* I) {
3)在发生器“产生订单23”内,将全局表“订单发生3”的数据,第一个订单行的每列导入每一个托盘“OrderTable”的每行内,代表该托盘的订单;
. n+ t4 U9 W- |
4)订单托盘到达“订单队列区23”暂存区,将订单托盘的标签表格“OrderTable”的信息,发送给“订单队列区23”暂存区的中间端口(1-9)。
( S# S; w* k+ K) R8 o N6 K( K8 V
其中:标签“OrderTable”的
1-3行数据
,发送给“订单队列区23”暂存区的中间端口1;
) T" P3 j' `# k5 p+ F8 L( W
4-6行
发给中间端口2,等等,后续的以3个为单位依次类推。
0 A( j. h4 I) H8 m$ m) J* y1 o! L7 E
疑问:
+ T& { \ T. Z) P2 e5 ?
1)上述的红色字体部分,即为疑问。如何将表格内的3行数据,通过一条消息发送给中间端口?
: d0 T0 L o+ ]7 U
" y8 D/ Q1 _! P
希望能尽量避开再写入全局表的方式, 避免全局表太多~
; C; }" f. G/ }5 J) S
9 _ C- D& t0 D! M8 r* ?# Z
不知道这样解释是否说的清楚了,不清楚的地方我再补充~~
/ w. I" t( |- T" U! w
$ @. z s5 _0 t; l& ^3 E
辛苦啦,非常感谢~
作者:
丫头盖
时间:
2014-10-11 16:45
2#
慧娴亚伦
" G, V" t( U! w% z9 N) O0 B7 M
一个27行的表格,要分成9个部分传出去,如果按照全局表的话,就会产生9个全局表,太多了。所以,想问一下,能否避开全局表的方法传递信息?
( |( O9 ]0 S* N) l5 R/ }. e) `
) C* f0 Z1 P. W( I* G3 r7 @, \
对我的模型在解释一下:
1 _2 d1 H& W; k! N1 V( k. N
1)托盘代表订单。 我在临时实体箱内,给托盘“OrderPallet”设了27行1列的表格标签“OrderTable”,代表总订单;
5 \9 y$ C/ ?" ]3 X" x! ]( S' B
2)“产生订单23”发生器,产生给“OrderPallet”托盘;
, }% ?; b3 `8 u: v/ Y' r
3)在发生器“产生订单23”内,将全局表“订单发生3”的数据,第一个订单行的每列导入每一个托盘“OrderTable”的每行内,代表该托盘的订单;
% m1 p3 `) K @1 G. |5 v' |
4)订单托盘到达“订单队列区23”暂存区,将订单托盘的标签表格“OrderTable”的信息,发送给“订单队列区23”暂存区的中间端口(1-9)。
* C! e' o& }5 l# G
其中:标签“OrderTable”的
1-3行数据
,发送给“订单队列区23”暂存区的中间端口1;
( T" i2 g3 H5 \; b$ c0 a" X) N/ Q
4-6行
发给中间端口2,等等,后续的以3个为单位依次类推。
! m6 G3 P; \! \
疑问:
7 T. j* `4 m6 a c
1)上述的红色字体部分,即为疑问。如何将表格内的3行数据,通过一条消息发送给中间端口?
' f; h; X- ]0 Y! b; ^' X, C9 z
$ t$ M6 ]. Z9 c- E% U$ I) h t m; W
希望能尽量避开再写入全局表的方式, 避免全局表太多~
1 F6 E# I% r& G& n; R
* `' F" C; @& z8 e; D8 m7 o% ?9 }$ M
不知道这样解释是否说的清楚了,不清楚的地方我再补充~~
& q$ m8 V* _# P* P7 r
. a4 B" P8 U+ q# m; ]* U
辛苦啦,非常感谢~
作者:
丫头盖
时间:
2014-10-11 17:41
本帖最后由 丫头盖 于 2014-10-13 14:25 编辑
6 y& c; F( j& {& C! l4 i+ H6 s
" u. x5 n# k, S* c( L1 i5 [
2#
慧娴亚伦
& s& y/ `* K$ b% q( o3 }
1
作者:
丫头盖
时间:
2014-10-11 17:41
本帖最后由 丫头盖 于 2014-10-13 13:32 编辑
4 |( K T/ d7 P6 E
& }8 ?" s& J6 V& q/ r
1
作者:
慧娴亚伦
时间:
2014-10-11 17:53
也不一定要将消息完整的传递出去,可以设立不同的消息标示。不同指标代表不同的执行方案,在消息触发里面进行判断即可。
/ X' E# z! \- \; f
举个例子,我想要传递某个全局表中,第一行到第八行的数据,我只要设定传递第一个参数为1,然后再消息触发判断,如果传递过来的第一个参数是1,那么则读取某个全局表第一到第八行的数据。
/ ^7 c( g5 l9 _( O, g/ i4 d4 Q O
以上,只要建立消息标示联系,无论多少个需要传递的消息都是可以解决的。关键是这个标示体系的建立。
作者:
丫头盖
时间:
2014-10-13 08:40
6#
丫头盖
2 W5 {, k. d* \- {$ B# I6 s0 l
不好意思啊~ 不知道为什么发了这么多条,辛苦各位多看几楼了呢~
作者:
丫头盖
时间:
2014-10-13 08:53
7#
慧娴亚伦
8 d0 N: ?! I7 r
您说的这种方法,麻烦您做个简易的模型学习~~ 我还没有做过这种一个参数代表一个表格的方式。 非常感谢!
作者:
大摸鱼
时间:
2014-10-13 15:25
9#
丫头盖
& c H4 }# @" T. i0 {* X9 I4 K6 ^- t
做了一个简单的模型,通过发一个消息控制全局表某一行的值,希望对你有帮助
作者:
慧娴亚伦
时间:
2014-10-13 16:30
也不知道这个例子恰不恰当。。。。随性做了一个小例子,希望对您有帮助。
作者:
丫头盖
时间:
2014-10-13 17:19
10#
大摸鱼
' b8 y; u0 G- P: X
您好!我在您的模型上改动了一下,将我的疑问简化向您寻求方式,主要模型的讲解及疑问如下:
5 U* m, S4 r& Y& n! O4 H
模型详述:
! |. g' S7 a1 ^4 X) D1 @
1)模型在临时实体箱内,给pallet加了一个2行1列的“label”标签表;见图:[attach]2262[/attach]
* k( j8 T. v8 q2 K0 E/ S( z9 }
2)发生器内,给托盘又加了三个标签,分别为:“TD”、“QY”、“HJ”;
$ I" j1 y2 e5 U Q2 E! {
3)Queue2中,离开触发内将“label”、“TD”、“QY”、“HJ”的信息都读取后,发送信息到中间端口;
* g3 {+ @. i7 B+ w- f
其中:发送到中间端口1连接的暂存区1上信息为:托盘标签“label”的1和2行、“TD”、“QY”、“HJ”
. I( g' q7 g' L# |9 {* h
发送到中间端口1连接的暂存区1上信息为:托盘标签“label”的3和4行、“TD”、“QY”、“HJ”发送到中间端口连接的暂存区1上;
( o! x/ ?! @* } e7 c4 X$ q% ~- D
4)暂存1、2:接收上述4个标签的信息,写入其标签上。
. y2 F- R9 g1 O3 T( E- e
疑问:
1 h" d8 \8 I, V+ `" Y: C' g H/ t
1)“label“标签:为一个标签表,怎么可以实现将整个表,作为1条整体信息发送出去?
2 H' c k7 T& }/ G; T3 e
或者:是否可将这个表写入全局表后,将全局为一个整体,做为1条信息发送,如何实现?
2 u7 b; b) ^, R3 d
2)“label”、“TD”、“QY”、“HJ”共四个标签4条信息,但sendmessage()函数仅能发送3条信息,如何解决一次性发送4条信息呢?
9 z% i% F9 E2 s
! t& W* ^& P4 X% u5 ^
这个问题从上周开始就一直被困扰中,急求帮助~~ 非常感谢啦~
8 p1 j0 s; Z; O1 W7 C- X( q/ w( Q
: s$ i' l1 Q7 C" Q
附模型为:[attach]2263[/attach]
作者:
大摸鱼
时间:
2014-10-13 19:28
发消息只是解决问题的一种方法,我们在做模型的时候需要考虑哪种方法更简便,在你这个模型中其实可以直接在离开触发读取item的标签值记录到对应的中间端口,不必用发消息的方式ps(在你这个模型中判断是==而不是=,而且你的标签也写错了是label,你这个模型到处都是问题,第一你做不对,第二我们看起来也费劲,基本功不扎实啊)下面是我修改过的模型
作者:
丫头盖
时间:
2014-10-14 09:15
11#
慧娴亚伦
: P; j, K# E$ G! }* x! a( b) O
您好!刚看到您的回复。非常感谢,又学习了一种新的角度解决问题~~
作者:
丫头盖
时间:
2014-10-14 09:18
13#
大摸鱼
8 J% m7 A8 V, o: u7 ~
懂了懂了~
) m3 K+ f& i+ f/ Y
相当的感谢了~
8 y* g* n. Q7 f! w6 H8 W+ h
我确实基础功不是很扎实,仿真是我工作里要负责的一部分,没有太多的时间单独钻研。现状是通过边做边用来边学习滴,尽量在学到了一种方式后就触类旁通~~ 所以我现在有时间就到论坛里来看看新的模型,学习大家不同的思路呢~
欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/)
Powered by Discuz! X3.3