全球FlexSim系统仿真中文论坛

搜索
查看: 10112|回复: 11
打印 上一主题 下一主题

求解协同任务序列报错问题

[复制链接]
跳转到指定楼层
1#
小蔡来了 发表于 2013-11-8 21:00:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问我这个模型  是哪里出了问题呢?  急求助

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
2#
慧娴亚伦 发表于 2013-11-9 09:05:39 | 只看该作者
这个跟flexsim的事件触发有关,你设定的是0时刻同时到达两个暂存区临时实体,在此同时你已经分派了操作员9装载暂存区7里面第一个临时实体的任务。但由于以上事件全部都是同时发生的,分派任务的时候会认为暂存区7里面还没有临时实体,因此无法获取暂存区7的临时实体的引用。此类报错大部分都是这种原因。
3#
 楼主| 小蔡来了 发表于 2013-11-9 12:54:12 | 只看该作者
2# 慧娴亚伦
# P8 m0 B3 O8 ?' G' U% b* W; G) C4 t$ r: t( K: a0 K
那要实现这个逻辑  怎么能解决这个问题?
4#
慧娴亚伦 发表于 2013-11-9 13:10:22 | 只看该作者
3# 小蔡来了 $ ~* i+ y/ D/ I/ i

$ O! R8 O/ Q5 u7 S8 p1 n$ V" V+ f
: j7 v( A. _# S) j) n1 \; |你把写代码的那个暂存区之前发生器的到达时间改为1即可。
5#
 楼主| 小蔡来了 发表于 2013-11-9 21:03:47 | 只看该作者
4# 慧娴亚伦
# I" [" \1 \+ V8 z! i5 K/ p( Z% l2 r& ~  N
感谢你的回答  我看了一下  第二个操作员只能拣取到一次临时实体  以后就拣取不到了  人直接没拿任何实体  来回走  这是怎么回事呢?
6#
慧娴亚伦 发表于 2013-11-9 22:40:35 | 只看该作者
5# 小蔡来了 1 z) d! n- Q) H( ], [1 Z
3 _) F- U/ u* A, C6 X" ?
/ N( R7 D& J; z4 E8 `' t
呃。。。因为你的任务里面写的是first()这个函数,还是一个道理,你这个任务是在进入时候下达的,只会读到下达任务那时候的暂存区状态。
7#
 楼主| 小蔡来了 发表于 2013-11-9 23:25:10 | 只看该作者
6# 慧娴亚伦 4 W% ~- W( E9 k, X1 w9 g2 h, ]# p6 `7 A
3 Y/ D- U/ P+ g# g
额  大神 还是这个问题  要怎样避免这些问题  达到我想要实现的逻辑呢?
8#
慧娴亚伦 发表于 2013-11-10 12:19:42 | 只看该作者
7# 小蔡来了 - }' a- b: {- @  K3 b
  C% Z3 e# j1 [% [! l9 ~, k: d: }
% D" [$ S7 Z. i7 V$ \5 C1 p' r
你可以试试不是一次性分配所有的协同任务,而是当每一个临时实体到达时分配一次协同任务,这样就能实现你的逻辑。关键点在于你要知道什么时候全部的任务分配的那个时间点里面,所有的引用是否存在或者符合你的要求。
9#
慧娴亚伦 发表于 2013-11-10 12:26:30 | 只看该作者
7# 小蔡来了 ! Q5 {) O. {, s  g% }$ e

( R. s, }: h# H4 f& r. _( l% s0 a0 _
6 m' J  l5 C6 N0 I7 n另外,你不必额外添加一个分配器来作为协同任务的分配执行器,可以直接让操作员来分配,你这样添加了之后引用有点乱。
10#
 楼主| 小蔡来了 发表于 2013-11-10 14:30:34 | 只看该作者
9# 慧娴亚伦
0 H: z# n) w# t+ ~& D* \/ Y) F% E/ i3 G" u9 ?% Y
, P& {3 Z) s% q1 G
额  感谢解答
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|全球FlexSim系统仿真中文论坛 ( 京ICP备14043114号-2 )

GMT+8, 2025-9-6 03:55 , Processed in 0.069680 second(s), 14 queries .

Powered by Discuz! X3.3© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表