全球FlexSim系统仿真中文论坛

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

作者: Stevenzheng    时间: 2019-5-28 15:31
标题: 传送带决策点设置问题
v18版软件,传送带上决策点链接了7个exittransfer(经过决策点的item送到7个加工位,加工完成后送回流水线,item从流水线尾流出)第二个决策点创建触发on arrival选择send item按照Round Robin Output Port循环发送item。
+ S. u: C: x0 M! a* n  T4 H* h/ h% _9 [; d& ~, d

& a" P3 Z' _+ |4 ]  w' E运行时第一个item不会被送往加工点,而是会直接流出皮带线,而且每7个item就会有1个直接流出皮带线。不明白是为什么会产生这种效果。; O! O5 x& e* [0 \- B
, U* {' [; e+ u5 {

2 O2 N5 S6 ^7 k, r默认的代码看不太懂 treenode newDest = current.outObjects[(current.labels.assert("roundRobinVal", 1).value++ - 1) % current.outObjects.length + 1];
& h: H/ ^0 M3 w7 V1 K( H把value后的-1删除会从第7个item开始直接流出皮带线! I; S' y. c# f

作者: Stevenzheng    时间: 2019-5-28 15:36
决策点链接的是EnterTransfer不是ExitTransfer
作者: 沈瑞祥    时间: 2019-5-29 07:43
没有模型,这样帮你看很难看出问题
作者: 十度烧    时间: 2019-5-29 08:20
4 Y- E* B; s6 j9 }# d/ S
多半是您的1号站点位置原因(1号站点先于决策点,导致item到达决策点后无法正确到达1号站点位置),建议调整决策点或1号站点位置,确保item到达决策点时能够正确到达1号站点位置。
6 q7 f: Z9 n/ @
作者: Stevenzheng    时间: 2019-5-29 13:29
十度烧 发表于 2019-5-29 08:20& L9 A/ p5 h: e; o0 r, Y' Y
多半是您的1号站点位置原因(1号站点先于决策点,导致item到达决策点后无法正确到达1号站点位置),建议 ...
) B* K- T6 M0 `5 q3 z
调整了下位置,还真是这个原因,谢谢。决策点在皮带线上而connecter在地面,视角看上去出现了偏差。
作者: Stevenzheng    时间: 2019-5-29 13:32
沈瑞祥 发表于 2019-5-29 07:43
+ Q: ^( \! d9 i0 q- ?+ [没有模型,这样帮你看很难看出问题
/ A" u' b7 J1 q1 j
沈老师能帮忙解释下上边那行代码什么意思吗,这个没看懂(current.labels.assert("roundRobinVal", 1).value++ - 1) % current.outObjects.length + 1
作者: 1780043361    时间: 2019-5-30 16:07
这个相当如* G* H5 M8 N! ~) K8 ^, D0 R9 }
assertlabel(current,“roundRobinVal”,DATATYPE_NUMBLE);//重置插入一个“roundRobinVal”数值型标签+ q8 |' u# [2 g/ C, p) X) `
inc(label(current,“roundRobinVal”),1); //每当触发时标签值自加1记录序号, 比如 1,2,3,4,5" E% ^- M% x" h. r) P
current.outObjects.length指的是输出端口的数量,等同nrop(current);
) ^8 Q. h# ^# `" H+ w. h/ v( G4 y 而整个语句的意思是 当前的标签值-1, 对输出端口取余,然后+1 例如:
# }. @. B. x2 N4 d9 w( ~6 m; n* w  q标签值: 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的循环了8 K% L/ n' ?$ A) T! m

作者: Stevenzheng    时间: 2019-5-30 20:35
1780043361 发表于 2019-5-30 16:07$ `: h) W. \5 X
这个相当如
4 U/ t" t$ @* U+ a. @6 { assertlabel(current,“roundRobinVal”,DATATYPE_NUMBLE);//重置插入一个“roundRobinVal ...
; Q5 \' l+ y9 T& {! s# j& E4 J
明白了,謝謝
作者: 沈瑞祥    时间: 2019-5-31 09:13
很厉害啊!
作者: ztalhl    时间: 2021-12-10 10:34
学习了 谢谢




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