全球FlexSim系统仿真中文论坛
标题:
求解协同任务序列报错问题
[打印本页]
作者:
小蔡来了
时间:
2013-11-8 21:00
标题:
求解协同任务序列报错问题
请问我这个模型 是哪里出了问题呢? 急求助
作者:
慧娴亚伦
时间:
2013-11-9 09:05
这个跟flexsim的事件触发有关,你设定的是0时刻同时到达两个暂存区临时实体,在此同时你已经分派了操作员9装载暂存区7里面第一个临时实体的任务。但由于以上事件全部都是同时发生的,分派任务的时候会认为暂存区7里面还没有临时实体,因此无法获取暂存区7的临时实体的引用。此类报错大部分都是这种原因。
作者:
小蔡来了
时间:
2013-11-9 12:54
2#
慧娴亚伦
! k6 Q' @* f; y5 h6 T' |3 f" W
, s- u; J% j( y& i
那要实现这个逻辑 怎么能解决这个问题?
作者:
慧娴亚伦
时间:
2013-11-9 13:10
3#
小蔡来了
$ I7 A' a# G+ o9 p; i8 s
8 y. ^6 I2 P) w9 p5 P; ?5 n3 d, s
' [" J k# d' F4 r5 f, G1 m! k4 x
你把写代码的那个暂存区之前发生器的到达时间改为1即可。
作者:
小蔡来了
时间:
2013-11-9 21:03
4#
慧娴亚伦
. s- E+ v6 s9 m
: s! d8 _. x2 O2 f3 ]
感谢你的回答 我看了一下 第二个操作员只能拣取到一次临时实体 以后就拣取不到了 人直接没拿任何实体 来回走 这是怎么回事呢?
作者:
慧娴亚伦
时间:
2013-11-9 22:40
5#
小蔡来了
( o, K6 R# @/ H, d9 L
2 Y7 G! P8 y# `2 v3 d4 S E% U
9 F0 W3 E+ \9 K/ e$ K
呃。。。因为你的任务里面写的是first()这个函数,还是一个道理,你这个任务是在进入时候下达的,只会读到下达任务那时候的暂存区状态。
作者:
小蔡来了
时间:
2013-11-9 23:25
6#
慧娴亚伦
/ p( e9 b& v# g7 n+ i
/ o$ W1 O+ c M% v" x/ o
额 大神 还是这个问题 要怎样避免这些问题 达到我想要实现的逻辑呢?
作者:
慧娴亚伦
时间:
2013-11-10 12:19
7#
小蔡来了
# i+ w: f# f$ y/ }- q Y$ v
- s% C* {! {# t4 a
9 m& h6 w3 Z, X( r7 @
你可以试试不是一次性分配所有的协同任务,而是当每一个临时实体到达时分配一次协同任务,这样就能实现你的逻辑。关键点在于你要知道什么时候全部的任务分配的那个时间点里面,所有的引用是否存在或者符合你的要求。
作者:
慧娴亚伦
时间:
2013-11-10 12:26
7#
小蔡来了
9 |( S+ E4 }/ [8 Q) V; v
) k# N* w- ^$ h( { b/ G
: e& Y0 w0 i: u" J- s
另外,你不必额外添加一个分配器来作为协同任务的分配执行器,可以直接让操作员来分配,你这样添加了之后引用有点乱。
作者:
小蔡来了
时间:
2013-11-10 14:30
9#
慧娴亚伦
1 }* ~. P4 S! T, M& q5 {" j
. i8 Q$ g- f9 j y" Z
/ ^; d) c7 S' i6 i+ q
额 感谢解答
作者:
小蔡来了
时间:
2013-11-10 16:11
9#
慧娴亚伦
" c% b$ }( f. F/ {: c5 m& b9 l
3 x- l! C$ H* q6 {& F% s4 F5 x$ ]
/ d5 w' E( y$ Y9 t
关于这个问题 我学的东西有限 还是不能解决 你能做个能实现我上面逻辑的模型么 我研究研究 谢谢了
作者:
慧娴亚伦
时间:
2013-11-10 16:31
11#
小蔡来了
6 v' O* l3 u3 W: N! V
/ j8 y' z$ D# D: s) K
其实更多要考虑的是逻辑上的时间顺序。
. b. o4 p- C& i, I
$ O0 i4 E: _" g; p, ?) y6 B
ps:我觉得这个模型不一定需要使用协同任务,也可以使用任务分配器来指派的。
欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/)
Powered by Discuz! X3.3