全球FlexSim系统仿真中文论坛

搜索
查看: 8395|回复: 7
打印 上一主题 下一主题

[求助]用任务序列实现搬箱子

[复制链接]
跳转到指定楼层
1#
hubangzhi 发表于 2012-3-7 10:11:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用任务序列控制操作员在两个暂存区之间搬运箱子,基本实现,但是有时候操作员会不搬箱子,空跑一趟或多趟,求助。。。。  F% v* r( G- G6 J1 f4 v! `

本帖子中包含更多资源

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

x
2#
CraneJan 发表于 2012-3-7 15:32:23 | 只看该作者
1# hubangzhi
4 d. \( w4 l, m7 ]% M# J/ p
# b( {0 f9 q5 @0 s; Rif(content(current)>1)
$ g1 Z$ e/ [# ^{
: x; l! U5 D" O% f+ X, |        treenode ts=createemptytasksequence(centerobject(current,1),0,0);
$ k6 U4 F1 y# J% B) Q7 Z       
( S; O4 J+ |8 \9 G& l9 T8 }0 T) C        inserttask(ts,TASKTYPE_TRAVEL,current,NULL);  l* T% a! z2 R& D! }% |
        inserttask(ts,TASKTYPE_FRLOAD,item,current);) x( B/ ~+ y/ g! e1 ?! e
        inserttask(ts,TASKTYPE_BREAK,NULL,NULL);9 ?. I+ G; V; l- J$ s
        inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);4 U% L9 R3 l' ~
        inserttask(ts,TASKTYPE_FRUNLOAD,item,centerobject(current,2));, i1 O. G+ Y( i; z. ^
       
8 W2 L0 E1 Y; {6 c& X        dispatchtasksequence(ts);
8 H  K6 I  j5 z}
) P* S7 f  O- D4 x# D& A2 r
% W* [  U( k2 R8 t9 m' I/ _  ^6 {) B9 E8 }& F9 n, k0 V
这样应该可以了吧……
3#
 楼主| hubangzhi 发表于 2012-3-11 22:42:44 | 只看该作者
2# CraneJan / u% b, j1 I+ V7 Z/ u
! I8 u6 r6 Q% f; u9 j+ T

. o9 r$ s% U' ?3 s; y; r. qo啦 太感谢了哈
4#
qhg1982 发表于 2013-5-15 15:05:01 | 只看该作者
原模型的代码是:
& I/ l) I) }7 u5 L7 b) @
3 g! O  M( k! H1 z& cif(content(current)>1)/ ^% y# v  ?- w: E9 m
{
+ `' g# A# q5 `- a* m& a        treenode item1=rank(current,1);2 q% @6 a$ t  C* P- ?
        treenode item2=rank(current,2);
9 m0 H6 E' x) Y6 _: C       
: C& x- i- ^! K/ [$ b' r! W3 k        treenode ts=createemptytasksequence(centerobject(current,1),0,0);4 n6 ~& R4 w9 g
        . i1 o! Z' f  X! W7 _0 v  i
        inserttask(ts,TASKTYPE_TRAVEL,current,NULL);
$ ^" l2 z$ Y( n! e0 ], [6 N5 j        inserttask(ts,TASKTYPE_FRLOAD,item1,current,0);7 M/ G1 [" A* J6 L" N; x; W( q
        inserttask(ts,TASKTYPE_BREAK,NULL,NULL);1 h5 m  t: M$ a. J$ I
        inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);
% |. W1 c& X* m3 ^        inserttask(ts,TASKTYPE_FRUNLOAD,item1,centerobject(current,2),0);8 O0 @5 Q3 C2 U% `  @7 ]
        % ~& j4 S3 G8 n+ `5 ^
        dispatchtasksequence(ts);       
+ t) e$ ?* C7 S: @4 Q9 k/ ]; O        }
6 _6 D- |- q8 ?! f( I. E+ d- s6 |* A) Y* \4 {. ~; @. Z
只是用rank函数获取了流动实体的指针,为啥不行呢?
5#
天性518 发表于 2013-5-16 12:18:12 | 只看该作者
4# qhg1982 - Q8 L9 q: L- H
( w$ C2 u8 B% d
4 c! |  k! ^5 b
这些因为操作员每次只会去版item1,你把发生器3产生实体的方式改成到达序列,你再去观察模型,就会发现:操作员搬走item1这个实体之后,他就不会再搬了,这是因为暂存区中没有item1这个实体了让他来搬了

本帖子中包含更多资源

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

x
6#
qhg1982 发表于 2013-5-22 08:46:58 | 只看该作者
谢谢!
7#
JYF-芳 发表于 2020-12-1 09:57:04 | 只看该作者
请问此问题解决了?我也遇到同样问题了,求教!十分感谢!
8#
wangchangping 发表于 2020-12-21 23:14:02 | 只看该作者
进来学学任务序列
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-5-9 08:28 , Processed in 0.063283 second(s), 14 queries .

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

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