全球FlexSim系统仿真中文论坛

标题: 传送带决策点设置问题 [打印本页]

作者: Stevenzheng    时间: 2019-5-28 15:31
标题: 传送带决策点设置问题
v18版软件,传送带上决策点链接了7个exittransfer(经过决策点的item送到7个加工位,加工完成后送回流水线,item从流水线尾流出)第二个决策点创建触发on arrival选择send item按照Round Robin Output Port循环发送item。
+ H, d  [) s4 n2 q* F9 P) v
% C& [# Q/ l+ f9 M$ Y# z) p( Z% Q' U
运行时第一个item不会被送往加工点,而是会直接流出皮带线,而且每7个item就会有1个直接流出皮带线。不明白是为什么会产生这种效果。, \* x1 d3 O7 j7 a( @
! s! x/ y9 k) ~  y5 ~5 w- i. H; W
+ f2 j% h$ ?% @0 I5 ?+ I; a3 v3 n
默认的代码看不太懂 treenode newDest = current.outObjects[(current.labels.assert("roundRobinVal", 1).value++ - 1) % current.outObjects.length + 1];
1 p& c$ p5 b, R1 B把value后的-1删除会从第7个item开始直接流出皮带线
" m6 _8 M5 \6 \1 C
作者: Stevenzheng    时间: 2019-5-28 15:36
决策点链接的是EnterTransfer不是ExitTransfer
作者: 沈瑞祥    时间: 2019-5-29 07:43
没有模型,这样帮你看很难看出问题
作者: 十度烧    时间: 2019-5-29 08:20
' |/ b3 o4 E9 M8 R! Y9 |/ ~
多半是您的1号站点位置原因(1号站点先于决策点,导致item到达决策点后无法正确到达1号站点位置),建议调整决策点或1号站点位置,确保item到达决策点时能够正确到达1号站点位置。* {; F# f7 ~; F" l; s+ }7 ?

作者: Stevenzheng    时间: 2019-5-29 13:29
十度烧 发表于 2019-5-29 08:204 n. C# v9 x* J4 A4 E; W' M
多半是您的1号站点位置原因(1号站点先于决策点,导致item到达决策点后无法正确到达1号站点位置),建议 ...

6 u) S4 \, S; K) F6 |! T6 h调整了下位置,还真是这个原因,谢谢。决策点在皮带线上而connecter在地面,视角看上去出现了偏差。
作者: Stevenzheng    时间: 2019-5-29 13:32
沈瑞祥 发表于 2019-5-29 07:43# V! V: S. N8 p" S. T
没有模型,这样帮你看很难看出问题
0 }8 a- D. s4 d' x5 ^
沈老师能帮忙解释下上边那行代码什么意思吗,这个没看懂(current.labels.assert("roundRobinVal", 1).value++ - 1) % current.outObjects.length + 1
作者: 1780043361    时间: 2019-5-30 16:07
这个相当如
( r+ w4 R: Z) E& B, ]9 O1 E assertlabel(current,“roundRobinVal”,DATATYPE_NUMBLE);//重置插入一个“roundRobinVal”数值型标签; z9 k- A& t, z0 j5 y
inc(label(current,“roundRobinVal”),1); //每当触发时标签值自加1记录序号, 比如 1,2,3,4,5  `+ N  [$ Z% s( m& x2 V/ r% T
current.outObjects.length指的是输出端口的数量,等同nrop(current);$ J) n3 s% _5 S9 I  V- Z& ~
而整个语句的意思是 当前的标签值-1, 对输出端口取余,然后+1 例如:
( [9 ~( W$ O" ^1 n6 R标签值: 1 2 3 4 5 6 7 ;有3个输出端口, 减一后:0 1 2 3 4 5 6;对3取余后 0 1 2 0 1 2 0;最后加一:1 2 3 1 2 3 1,就是123的循环了
9 @4 E9 K+ L. |& {6 E6 q# O0 ]
作者: Stevenzheng    时间: 2019-5-30 20:35
1780043361 发表于 2019-5-30 16:07
/ C6 a9 ~" z- n5 `" i6 u这个相当如
2 a: P' f8 n+ w! |' Z+ F assertlabel(current,“roundRobinVal”,DATATYPE_NUMBLE);//重置插入一个“roundRobinVal ...

; a8 }; f1 _9 ~; B9 |' `% s6 o明白了,謝謝
作者: 沈瑞祥    时间: 2019-5-31 09:13
很厉害啊!
作者: ztalhl    时间: 2021-12-10 10:34
学习了 谢谢




欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/) Powered by Discuz! X3.3