查看: 24|回复: 24

【TFT 2014.09.03 FlexSim仿真模型题(18)】

[复制链接]

主题

0

回帖

4万

积分

版主

积分
45331
发表于 2014-9-3 09:11:41 | 显示全部楼层 |阅读模式
问题描述:本题来源于手工制造业车间仿真,由于操作工人之间熟练度的区别,因此在同一台机器上,同一件产品不同工人的加工时间是不确定,这个部分的仿真实现对于更多依靠手工的小型或特殊型制造业更贴近现实有重要作用。

模型要求:
1、附件中有本题7.1的原始布局,使用其他版本请也按照附件中的模型进行布局,以方便审核和对比;
2、发生器产生产品的时间间隔已经设置好,原题中有三名操作员实体,随机拣选一个操作员进行操作,他们身上都带有名为process的标签,代表了他们各自加工一件产品需要的时间;
3、进行加工作业的过程中要需要保证产品和操作员都不会离开处理器。

提示:1 分配操作员的工作可以使用任务分配器选择随机分配;
         2 可能用到的函数:stopobject(),resumeobject()。

本帖子中包含更多资源

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

×

主题

0

回帖

2945

积分

高级会员

积分
2945
发表于 2014-9-3 10:21:34 | 显示全部楼层
自己做了一个。在发任务的时候,也让相应的操作员和处理器处于操作或者闲置的状态,方便统计操作时间。
贴上来,望版主指正!

本帖子中包含更多资源

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

×

主题

0

回帖

1012

积分

高级会员

积分
1012
发表于 2014-9-3 10:42:50 | 显示全部楼层
开始用了个任务分配器,后来不知道该如何提取操作员身上的标签。

后来就改为直接用生成一个随机数,然后根据随机数选择端口和端口身上的标签,存储在全局表中。
选择操作员和操作时间都是根据全局表。

期待其他人使用任务分配器的方法!

本帖子中包含更多资源

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

×

主题

0

回帖

871

积分

中级会员

积分
871
发表于 2014-9-3 11:56:45 | 显示全部楼层
本模型设置了三点,1.每个操作员接到任务后对处理器设置标签值,即该操作员的处理时间;2.在处理器上的处理时间返回该标签值减去0.001;3.设置了0.001(这个时间自设定)的预置时间。此处需要说明的设置预置时间有一定的用处,因为模型运行过程中是先确定好了加工时间,其次才是接受处理的任务,如果没有预置任务的话会错位设置。如果设置了预置时间的话,它的逻辑关系是先接受预置任务,然后才设置好了标签值(即加工时间),接着才是加工,这样就能对应了。觉得这种方法设置的内容不多,但是大家需要理解触发的时间关系!希望大家可以一起讨论!

本帖子中包含更多资源

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

×

主题

0

回帖

376

积分

注册会员

积分
376
发表于 2014-9-3 14:18:45 | 显示全部楼层

本帖子中包含更多资源

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

×

主题

0

回帖

4万

积分

版主

积分
45331
 楼主| 发表于 2014-9-4 09:09:08 | 显示全部楼层
回复2楼:
      完成了题目的要求。在处理器的里面设置一个固定的处理时间,然后在处理器加工结束触发再额外使用占用任务补足加工时间。模型中多次灵活的使用tonode()和tonum()储存和传递操作员的引用,也使用了setstate()函数来保证处理器的时间状态符合实际操作要求。

恭喜您!论坛ID为 FFFrenk 的朋友在第二层的回复是第一个有效回复,获得积分5分。
24小时后本题结束(即2014年9月04日09时06分),其后的回复不计为有效回复。

主题

0

回帖

4万

积分

版主

积分
45331
 楼主| 发表于 2014-9-4 09:32:35 | 显示全部楼层
回复3楼:
       模型思路很好,没有使用任务序列,而是在发生器刚产生临时实体就随机选择进行加工的操作员,将其写入全局表,并在后面处理器的选择操作员中调用相关操作员。但是模型有一个严重问题,使用stopobject()命令会导致发生器停止运作,导致产生的临时实体的间隔与实际是不符的。具体您可以下载其他朋友的模型,来对比一下运行一阵子的处理器工作状态时间比。

恭喜您!论坛ID为 ldd001 的朋友在第三层的回复完成了部分要求,获得积分2分。

主题

0

回帖

4万

积分

版主

积分
45331
 楼主| 发表于 2014-9-4 09:54:08 | 显示全部楼层
回复4楼:
        很好的完成了题目的要求,使用预置时间使得加工时间可以对应起来。虽然每次加工一个产品需要0.001秒的预置时间,但是这个时间相对整体的加工时间而言完全是可以忽略不计的,所以不会导致统计上的不准确,而且使用的代码是最简单的。

恭喜您!论坛ID为 heh518 的朋友在第四层的回复是第一个有效回复,获得积分4分。

主题

0

回帖

4万

积分

版主

积分
45331
 楼主| 发表于 2014-9-4 10:13:36 | 显示全部楼层
回复5楼:
      很好的完成了模型的要求,思路上跟4楼的模型有很多相近之处,但是实现却使用的是完全不同的方式。在选取操作员的触发器的示例任务中加入了一条子任务命令,让此条子任务命令将操作员身上加工时间的标签打上。这个触发器里面的任务我也不是太懂,但是方式令我大开眼界!

恭喜您!论坛ID为 someone 的朋友在第五层的回复是第三个有效回复,获得积分1分,由于模型巧妙特别额外奖励积分3分,共获得积分4分。

主题

0

回帖

1012

积分

高级会员

积分
1012
发表于 2014-9-4 10:21:30 | 显示全部楼层
确实存在这样的问题,
将stopobject命令删除,将发生器写入全局表的触发从生成触发移到了离开触发里。
这样是不是就满足题目要求了?!

本帖子中包含更多资源

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

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|京ICP备14043114号-2

在本版发帖
关注公众号
QQ客服返回顶部