全球FlexSim系统仿真中文论坛

搜索
查看: 7113|回复: 8
打印 上一主题 下一主题

采用任务序列,实现运输工具在传送带输出端口一次转运20件临时实体

[复制链接]
跳转到指定楼层
1#
liuzhifan 发表于 2017-3-12 12:24:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题描述:
+ n# z( |' |+ g) @- o8 r' j一条输送带,我们想要作业员一次性从输送带的输出端口搬运20个临时实体,但是我们修改了作业员的容量为20,可是作业员还是每次只搬运一个临时实体。
9 Y' C+ \7 H' D3 s( P8 ^; [$ F& g  |但是如果将输送带改为暂存区,作业员的容量为20,我们发现,在不超过作业员容量的情况下,作业员能够将暂存区的临时实体搬运完。
% i0 @/ z) }" d8 s3 a2 q这表明了输送带与暂存区的不同。5 b$ X! o. L! v
对于暂存区,一次性搬运20个临时实体比较简单,当暂存区当前容量小于20时,关闭它的输出端口;当暂存区当前容量大于20时,再打开它的输出端口。1 G& a8 B' }. n" ?. [8 }5 X
对于输送带,一次性搬运20个临时实体比较复杂,我们要用到任务序列,并且要理解任务序列触发的关系。3 W: X* W4 U+ @

本帖子中包含更多资源

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

x
2#
慧娴亚伦 发表于 2017-3-13 01:05:44 | 只看该作者
感谢分享,三点建议 :
5 f3 q4 S, k* @0 i/ X# h% A6 ?: j- O1、基于默认选项修改代码,最好把原来的代码注释清楚,并给逻辑重新命名,否则很容易忘记哪里有修改;- D  s( q+ D5 H* T0 @; C
2、养成写代码注释的好习惯,至少要在关键环节有注释: l' ^9 Q$ e- i' ]# o( ?& A/ q
3、Break任务这里起到什么作用?是否有效?这可以多考虑一下。
3#
我很强壮 发表于 2017-3-21 08:09:36 | 只看该作者
谢谢分享
4#
showhorde11 发表于 2017-5-4 05:55:17 | 只看该作者
学习学习
5#
lulu-luka 发表于 2017-5-5 00:25:51 | 只看该作者
学习学习~
6#
lulu-luka 发表于 2017-5-8 13:58:57 | 只看该作者
1# liuzhifan : U' |1 V: p3 Q& R! _/ T
3 e0 H4 b9 P6 z
您好,这两天针对通过任务序列一次性搬运或者说装载多个流动实体的问题,学习了一些例子。看到您的问题描述中说传动带与暂存区在这方面存在不同,事实上好像绝大多数Flexsim实体,比如处理器、合成器等与传送带在每次搬运只搬运一个的方面是相同的,暂存区与上述的一些实体均不相同。; ?" U& ^7 Z. r" H3 W
学习了您的模型,我将您的代码又修改了一下,不会出现操作员要回到传送带的最前端再走回流动实体堆积的最后端再进行装载作业。实际上因为勾选了使用运输工具,那么在任务序列中貌似不需要再编写关于“行走”的任务语句就能够到达需要装载的位置进行装载。; m) [1 t8 C- f$ N1 y
我的问题如下图中的红框所示,在第二个判断语句也就是判断装载是否达到了指定数量时,为什么被除数是num+1;另外在这个if执行语句下有一个卸载一个实体的任务语句,但是到下一个if判断中的执行语句中又有一个循环卸载直至操作员装载的流动实体数量为0的任务语句,两者之间有区别么?我将卸载一个流动实体的卸载任务语句删除之后发现,总有一个流动实体跟着操作员,这说明您这样写任务语句是正确的,但是根据在哪呢?那单独的一个流动实体为什么需要单独的卸载呢?

本帖子中包含更多资源

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

x
7#
 楼主| liuzhifan 发表于 2017-5-12 02:14:48 | 只看该作者
6# lulu-luka
0 O4 ^  [, D) r. Z' s这就要好好理解触发机制了。
( }  S( c5 {; \1 M①为什么被除数是(num+1)?4 n! I; p3 L' Y' Q# J7 y( {0 c* U
当任务执行器上已经有19个零时实体时,第20个零时实体触发任务序列,这时候已经有了装载任务了,后面会把第二十个装上去,但是目前任务执行器上只有19个,所以装满的条件就是(num+1)%20==0或者直接就是num%19==0;
& H3 j. u8 Z* J; ^: l; f; c②为什么要卸载item5 k& W5 I7 _8 }: N3 }
应为任务序列的编排是在实际执行之前的,任务执行器当前容量是19,你让它卸载rank(执行器,20),它是识别不了的,item就指的时当前时刻触发的临时实体,也就是我们想要的di第二十个。
8 m+ Z8 p, ?* n2 Z' X5 }" ?& t8 `我自己能够理解了,能力不够解释不好,你在好好理解下,触发机制: Z# u- \# H8 c0 T' Z8 a
我有做了另一个这方面的,判定依据是直接判定任务执行器的容量,大同小异

评分

参与人数 2威望 +14 收起 理由
lulu-luka + 6 感谢悉心解答~
慧娴亚伦 + 8

查看全部评分

8#
manaijin 发表于 2017-5-12 04:40:09 | 只看该作者
谢谢分享
9#
lulu-luka 发表于 2017-5-13 16:03:26 | 只看该作者
7# liuzhifan
. N% c. V  ^# S% k- O  T6 [7 c
# A9 ~( I0 ~7 t- v( B8 Q  P! b& a& I  M3 b5 t; f
谢谢悉心解答~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-8-31 17:24 , Processed in 0.081933 second(s), 15 queries .

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

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