设为首页收藏本站

最大的系统仿真与系统优化公益交流社区

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: focuscon

[原创] 题目9:双手臂Robot的动作调度

[复制链接]
发表于 2009-3-23 08:32:24 | 显示全部楼层
原帖由 focuscon 于 2009-3-23 01:48 发表 - G, ~3 d) [  S  u" |- q( Y
有一个问题,小球应该是等几率到达A和B的,但是运行时只去A不去B,我还没有找到问题出自哪里?
- l; Q2 p) u- h; e- t明天再看看。
: H& F" u1 G0 W0 y! [/ H& f# A

$ }6 g/ _' w5 ]  H! C9 W/ |在题目中第一条 “如果A和B都空闲,优先选择A" ,而且初始条件A和B 都为空,所以,在同等条件下,A 肯定会比 B 利用率高。
 楼主| 发表于 2009-3-23 11:27:42 | 显示全部楼层
但是小球从来不去B,一次也没有看到,这很奇怪,是不是要改动一些参数才能看到?
+ ^3 O0 Z3 R2 @6 U% v0 G) o" e# s把A B的处理时间加长试试看。
发表于 2009-3-23 11:39:35 | 显示全部楼层
原帖由 focuscon 于 2009-3-23 11:27 发表 ( X/ d5 N3 D3 J, p! R
但是小球从来不去B,一次也没有看到,这很奇怪,是不是要改动一些参数才能看到?5 \  x( n! h9 w, v# D6 x  t
把A B的处理时间加长试试看。

* `9 }; m6 s' z( X( i8 c
( i: w7 `! x& J0 g5 \1 b会去 B 的,只要把 A 的 TTR 加长,或者 TBF 缩短 都可以看到。
发表于 2009-3-23 11:44:28 | 显示全部楼层
我发现问题了, B 的 两个 Activity 模块之间的连线好像被意外删除了,呵呵。我更新一下文件,请重新下载。+ \6 ?6 f0 h( z- E; s! o6 e# R

  }5 N/ ^8 ^7 x抱歉。
 楼主| 发表于 2009-3-23 12:01:05 | 显示全部楼层
果然是这样,连线确实不见了,我昨晚看了好久居然没有发现,尽想着看Equation里面是不是有笔误,没想到在这么拥挤的地方有条线掉了哈哈。
, M: P3 i% ^9 n$ L; o" l8 V2 D. {现在好了。谢谢!
 楼主| 发表于 2009-3-23 12:21:29 | 显示全部楼层
一个小问题: a1 和 a2的处理时间设反了,b的没有问题。, O# }1 ^2 V7 i# ~
小球去B的几率很小,我结合现实看看到底是怎么回事。5 r2 r* `3 [. C. {
实际是,假设A B的TBF为无限大,那么A B接收小球的比例应该是严格的1:1才对。
1 ]6 t* X( q$ u% n/ IRobot要不停的服务A和B,当A忙的时候Robot不是等着A做完而是送完完成加工物件后马上去上游拿一个物件和B交换,所以A 和B除了交换物件时间一般都是没有Idle的。
 楼主| 发表于 2009-3-23 12:31:24 | 显示全部楼层
open=0;
. `0 M. T: q& v6 I- i0 }: I0 o' w( L5 r* @
if (full_a2==1 and down_a==0 OR full_a1==0 and full_a2==0 and down_a==0)
; x5 r# U2 q2 Q+ m% e( h{2 e: Z, F! V5 @) B+ S- P" }7 M
   open=1;! J# [1 l/ Y# r3 O; r9 ?
   which=0;
7 W1 f  }" l1 ^( |+ h}
( y( {$ `- \/ r$ N, felse if  (full_b2==1 and down_b ==0 OR full_b1==0 and full_b2==0 and down_b==0)
; U. g9 Y' `* z4 P4 p  a5 u    {
5 e- m& M: p4 k: N" g% S         open =1;
- r- f# s; v8 h7 ^! ~7 D         which=1;+ o+ f8 u6 Z1 D  O! }" W
}' ~4 X0 g  |' e, G8 i! j  Q$ w3 y. g: C
现在的问题是,两台机a2==1很容易满足而b2==1的条件很难满足,而两台都idle时优先选A,所以B收到小球的机会很少。是不是我题目的表述有问题(站在Robot的角度)还是在换角度的时候有些因素没有考虑到。8 `; _0 J; K0 ~, f% ~' @0 N
开始以为是Robot和A的处理时间差不多长造成的,于是把A 1和 B1的处理时间都加到100了但还是没有效果。
 楼主| 发表于 2009-3-23 13:04:27 | 显示全部楼层
我稍微修改了一下,看看行不行。$ M0 r0 [& N) P2 K! c# p* f
已经更新。! R# M4 k/ d/ Y1 e5 n+ a
王博指点后再次更新。& p& B) |+ u, ^) {
7 q9 u4 D4 L  m& d3 t+ y& K
[ 本帖最后由 focuscon 于 2009-3-23 14:22 编辑 ]

本帖子中包含更多资源

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

x

评分

参与人数 1仿真币 +20 +2 收起 理由
linweixu168 + 20 + 2 原创内容

查看全部评分

发表于 2009-3-23 13:08:20 | 显示全部楼层
我想分析一下这个流程。 如果Robot 和 A 交换了物件,A 开始生产,那么只需要40s 就可以完成,对吧。 而在A 开始加工的开始,Robot 带着从A 获得的输出物件,花费 20s 到达 下一个缓冲平台,然后再花费 25 s 从下一个缓冲平台走到上游缓冲平台,也就是说 Robot 是在 45s (20+25)后拿到下一个输入物件,而此时因为 45s > 40s, 当 Robot拿到输入物件的时候,A 已经加工完了,所以,按照 A  优先的原则,Robot 又会和 A  交换。  4 m; s2 F9 L+ A2 [$ r9 Y9 _. D" J

8 _  D% {5 I( w# c, _# a  l所以,看到 A 得到比B更多的物件好像是合理的。 我不知道我的理解是否正确。
 楼主| 发表于 2009-3-23 13:23:54 | 显示全部楼层
在模型开始运行时,A开始加工后B还是Idle的,此时Robot应该马上拿一个物件给B才对,不然B的利用率太低了。当1台机忙时Robot不能等着它加工完成,而是服务另一台,所以在送完一个物件到A后应该释放Robot让它给B送物件,当A完成加工后Robot再拿着一个未加工物件和它交换,交换后往下游送,这样A和B的利用率才基本相等。不知我说清楚没有。
 楼主| 发表于 2009-3-23 13:28:06 | 显示全部楼层
Workstation忘记设置资源了,马上更正。Sorry!
发表于 2009-3-23 13:32:52 | 显示全部楼层
我知道原因了,一共有两个原因导致这个问题& S2 _/ v: E' C5 i. Y
, ^5 M; T7 Z$ F: G9 o+ ^) \7 ]
(1)之前我提到的,A 的处理时间40s 小于 Robot 45s 时间 (这个有当机的情况下会好些,相当于把 A处理时间加大)0 j- ?3 J5 `) Z, |" K& p
(2)初始化问题,我们需要在模型开始运行的时候,假设 A 和 B 都已经有东西再处理。
1 M: ?7 p% q  O5 B' S+ k2 v
( a3 J% ?! w) H9 [! {1 m我对模型加了一点初始化的东西,同时把 A B 处理时间加长了一点,你会看到这时候, A  和 B 比较均匀地分配任务。
  W7 }4 \4 a* N, Z8 O) u5 q, U3 X# z
看附件。

本帖子中包含更多资源

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

x

评分

参与人数 2仿真币 +40 +7 收起 理由
linweixu168 + 20 + 2 原创内容
focuscon + 20 + 5

查看全部评分

发表于 2009-3-23 13:47:19 | 显示全部楼层
原帖由 focuscon 于 2009-3-23 13:04 发表 + n6 [5 C$ h* G" f9 k
我稍微修改了一下,看看行不行。
! g5 R8 S2 l: p% R- N/ _已经更新。
6 O& ^, I- l: K, e& Q

' x' p4 g6 P7 d4 [1 w3 U& [如果这样修改,需要把 Workstation 放在 [34] Select Item In 和 [33] Batch 之间,因为如果按照现在这样,有可能造成从 [26] 分支出来的最下面分支在没有释放资源的情况下,又占有资源。
 楼主| 发表于 2009-3-23 13:56:48 | 显示全部楼层
这样就好了。
, \& ~& J3 x! Q谢谢博士!; s  b6 E+ G  N7 [. k2 u
模型里面有很多地方很巧妙灵活,我要好好学学这些技巧!# x2 p# ]5 P* s: ^8 n" m9 r
! F% g- r1 e  `4 B& d; P1 ^, i
[ 本帖最后由 focuscon 于 2009-3-23 14:17 编辑 ]
 楼主| 发表于 2009-3-23 18:32:59 | 显示全部楼层
有几点不太懂:& d8 N% K! [' Z5 Y! u6 j8 G+ F. \! O
1. Robot移动到下游缓冲台后小球应该离开系统,而不是随Robot返回上游Robot释放后才离开系统。4 A0 u6 q2 \/ K: y' U( X9 \
2. Robot只有1个,小球被Unbatch后变2个,或小球进入机器后资源还受限吗?或是一定要经过Release后才不受限,我看小球的动作没有受到影响,这里面的资源受限规则我不是很明白。
9 {# @. Z3 r+ r3 }8 m) }3.发生当机后小球被标记为InputRelease=0,在和机台里面的小球Batch后就返回到前面了,应该是有一个机台里面出来的小球离开系统才对(是不是需要Unbatch一次而且保持两个小球各自的InputRelease属性),这里我不理解,烦请老师帮忙解释解释。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|SimulWay 道于仿真   

GMT+8, 2025-7-10 18:52 , Processed in 0.019531 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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