全球FlexSim系统仿真中文论坛

搜索
楼主: 慧娴亚伦
打印 上一主题 下一主题

【TFT 2014.03.31 FlexSim仿真模型题(3)】

[复制链接]
跳转到指定楼层
1#
慧娴亚伦 发表于 2014-4-8 11:24:06 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
问题描述:本题体现的是通过代码控制产生新的固定实体。对于叉车数量等任务执行器的数量,我们可以很容易的通过实验器连接任务分配器的方法,在GUI或实验器中进行更改。然而对于机台数量等固定实体数量的更改就没有那么方便了。本次题目要实现的就是通过代码增加固定实体。


模型要求:
1 附件中有本题7.0的原始布局(本题中仅有一张全局表和一个暂存区),使用其他版本请也按照附件中的模型进行布局,以方便审核和对比;
2 通过修改全局表的值,来修改模型中暂存区的数量;
3 新产生的暂存区如下图所示进行有规律的排列;
4 允许添加您认为需要的任意实体或其他工具来实现效果。


提示:
1 可能用到的代码:createcopy,createinstance
2 由于本题可能对没有正式版的朋友和初学者比较困难,仅能够实现模型要求2并在前3名回复也可获得积分2分。

本帖子中包含更多资源

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

x
2#
 楼主| 慧娴亚伦 发表于 2014-4-9 09:16:05 | 显示全部楼层
回复2楼:
您的模型还是有不少细节的问题,首先重置触发写了发送延迟消息到消息触发实际上是有很大问题的。延迟的时间实际上是指仿真时间,当此重置触发触发的时候模型还未开始运行,导致一打开您的模型就有报错。此外还有无法自由拖动生成的实体(因为模型运行每10秒会归位)

恭喜您!您完成了部分模型要求。
论坛ID为missman 的朋友在第二层的回复,获得积分2分。
3#
 楼主| 慧娴亚伦 发表于 2014-4-9 09:27:35 | 显示全部楼层
回复3楼:
您模型的主要问题在于,每次修改全局表的值时,没有删去上一次产生的实体,导致实体重叠出现。此外,按照您的模型,实际上可以直接将代码写在暂存区的重置触发,不需要另外再用一个发生器进行连接。由于连接了发生器,因为复制生成的新的实体都有一个无效的上游端口连接。但基本上已经实现了主要的要求。

恭喜您!您是第一个完成模型要求的活动参与者。
论坛ID为yushaozheng1990 的朋友在第三层的回复是第一个有效回复。获得积分5分。
24小时后本题结束(即2014年4月10日09时27分),其后的回复不计为有效回复。
4#
 楼主| 慧娴亚伦 发表于 2014-4-9 09:56:29 | 显示全部楼层
回复5楼:
使用GUI来生成实体是很好的想法,在实际运用中,我们通常也是通过GUI来进行控制。看了一下GUI里面的代码,还是比较繁琐的,还有较大的改进空间。另外每次修改生成的实体数量,还必须先点击删除原有实体。

恭喜您!您是第二个完成模型要求的活动参与者。
获得积分4分。
5#
 楼主| 慧娴亚伦 发表于 2014-4-9 10:05:55 | 显示全部楼层
回复6楼:
改进了2楼的模型,但是还有一个问题在于会多复制一个第一行的一个实体。

恭喜您!您是第三个完成模型要求的活动参与者。
获得积分1分。
6#
 楼主| 慧娴亚伦 发表于 2014-4-10 09:08:39 | 显示全部楼层
回复12楼:

模型很好的解决了之前出现的一些问题,同时还实现了将各行实体清零的情况,很有借鉴意义。
因此特再奖励积分2分。
7#
 楼主| 慧娴亚伦 发表于 2014-4-10 09:27:13 | 显示全部楼层
[i=s] 本帖最后由 慧娴亚伦 于 2014-4-10 09:32 编辑 [/i]

本次TFT活动已经截止。
     这是TFT活动的第三次正式活动,本次试题涉及到结合全局表利用代码创建实体,相对于之前题目,该题的题目难度较大,需要比较熟悉for循环的原理以及FlexSim实体创建的方式才能比较好的完成,因此在本次评判过程中也适当放宽了标准。在实际项目中,要改变模型内部分实体的布局,或是某些单元性质较强的实体数量的增减,如果仍然使用鼠标键盘拖入的操作方式显然很不方便。此外对于不懂得FlexSim软件操作的项目或企业决策层而言,建模工程师最好能够通过GUI控制来帮助他们完成此类操作。GUI控制界面使用上非常方便,但是内部的联系控制就需要建模工程师比较精巧的代码编写。本次题目实际上就属于GUI控制的一种初步练习(虽然我们将代码写在重置触发里)。
     本次题目一共有3位朋友得到了有效回复。他们的论坛ID分别是:
    missman、 yushaozheng1990、大摸鱼、heh518
     他们将获得指定积分,没有获得积分的朋友期待您的下次参与。

     下面放上我个人制作的参考模型(非最佳模型),模型代码相对简单,但是必须基于模型中一开始给定的这个暂存区,如果删除该暂存区将会使代码失效。
延伸思考:除了利用代码创建实体之外,大家还可以想想如何用代码来完成连线,以及断开连接的操作。
     本次活动结束之后,将会发放第一次试用号奖励。再次感谢大家的参与和支持,没有参与者活动将无法开展,希望各位还能继续支持TFT的接下来的活动,再次感谢!

本帖子中包含更多资源

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

x
8#
 楼主| 慧娴亚伦 发表于 2014-8-5 19:29:35 | 显示全部楼层
while是当()里面的条件不成立的时候则跳出循环,否则则不停触发下面的代码。
9#
 楼主| 慧娴亚伦 发表于 2015-11-5 09:46:42 | 显示全部楼层
这个就是删除模型的第三个节点,由于模型树下面第一个节点是tools,第二个节点要作为被复制的实体,因此从第三个节点开始删除。
10#
 楼主| 慧娴亚伦 发表于 2015-11-5 09:46:56 | 显示全部楼层
这个就是删除模型的第三个节点,由于模型树下面第一个节点是tools,第二个节点要作为被复制的实体,因此从第三个节点开始删除。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-4 22:35 , Processed in 0.070847 second(s), 14 queries .

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

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