全球FlexSim系统仿真中文论坛

标题: 求解协同任务序列报错问题 [打印本页]

作者: 小蔡来了    时间: 2013-11-8 21:00
标题: 求解协同任务序列报错问题
请问我这个模型  是哪里出了问题呢?  急求助
作者: 慧娴亚伦    时间: 2013-11-9 09:05
这个跟flexsim的事件触发有关,你设定的是0时刻同时到达两个暂存区临时实体,在此同时你已经分派了操作员9装载暂存区7里面第一个临时实体的任务。但由于以上事件全部都是同时发生的,分派任务的时候会认为暂存区7里面还没有临时实体,因此无法获取暂存区7的临时实体的引用。此类报错大部分都是这种原因。
作者: 小蔡来了    时间: 2013-11-9 12:54
2# 慧娴亚伦
3 s& e- r( K7 l1 B* \8 V7 v% K5 @% l5 x2 H% ?2 n  \; ?7 V
那要实现这个逻辑  怎么能解决这个问题?
作者: 慧娴亚伦    时间: 2013-11-9 13:10
3# 小蔡来了 4 }6 L. v( V+ N# ~2 C" [9 E

6 N/ N. [3 f5 k" i
& \  z( d  t/ d' ^你把写代码的那个暂存区之前发生器的到达时间改为1即可。
作者: 小蔡来了    时间: 2013-11-9 21:03
4# 慧娴亚伦
/ n0 Z: h0 g5 g2 R1 D4 A6 _# Q2 [9 A) M6 A: D( D. U0 @
感谢你的回答  我看了一下  第二个操作员只能拣取到一次临时实体  以后就拣取不到了  人直接没拿任何实体  来回走  这是怎么回事呢?
作者: 慧娴亚伦    时间: 2013-11-9 22:40
5# 小蔡来了
5 b0 P4 |3 `6 k8 M" m. ~  E. Z* s" N) c& q" q
7 M- \1 Q+ o+ k! }, j, F: w8 X+ H
呃。。。因为你的任务里面写的是first()这个函数,还是一个道理,你这个任务是在进入时候下达的,只会读到下达任务那时候的暂存区状态。
作者: 小蔡来了    时间: 2013-11-9 23:25
6# 慧娴亚伦
2 I* R) M8 T" \. L- U* v6 r
+ ^$ i, v3 S* n: V9 B6 F额  大神 还是这个问题  要怎样避免这些问题  达到我想要实现的逻辑呢?
作者: 慧娴亚伦    时间: 2013-11-10 12:19
7# 小蔡来了 8 h& H( h, ?3 F1 X
7 I! l& r/ f, F- W  O) {  Q& B0 D) @

0 M" {/ X* v6 U/ m$ q你可以试试不是一次性分配所有的协同任务,而是当每一个临时实体到达时分配一次协同任务,这样就能实现你的逻辑。关键点在于你要知道什么时候全部的任务分配的那个时间点里面,所有的引用是否存在或者符合你的要求。
作者: 慧娴亚伦    时间: 2013-11-10 12:26
7# 小蔡来了 8 j% o. Y% G; g0 t6 R
* {8 g2 n" Z: s0 M! u- D0 g4 e1 a

+ T4 i' X4 f( n( F' r另外,你不必额外添加一个分配器来作为协同任务的分配执行器,可以直接让操作员来分配,你这样添加了之后引用有点乱。
作者: 小蔡来了    时间: 2013-11-10 14:30
9# 慧娴亚伦
, u- g, {3 j* f2 {6 m8 e/ ~
0 o, w2 d/ c4 d
( {/ Q1 W0 |* B额  感谢解答
作者: 小蔡来了    时间: 2013-11-10 16:11
9# 慧娴亚伦 ! W- C1 J+ k  S; I- b+ l$ h9 k3 P

3 {5 Z& d: R* Y/ p3 G" \" M0 t! t8 Y9 [
关于这个问题 我学的东西有限  还是不能解决  你能做个能实现我上面逻辑的模型么  我研究研究 谢谢了
作者: 慧娴亚伦    时间: 2013-11-10 16:31
11# 小蔡来了
1 ]) m' @& O% X0 N" `% D& e# w' j4 P1 s
其实更多要考虑的是逻辑上的时间顺序。
- O/ r3 Y* z' `0 _! o/ G5 p6 E8 Z
ps:我觉得这个模型不一定需要使用协同任务,也可以使用任务分配器来指派的。




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