全球FlexSim系统仿真中文论坛

标题: 【TFT 2014.04.15 FlexSim仿真模型题(4)】 [打印本页]

作者: 慧娴亚伦    时间: 2014-4-15 11:00
标题: 【TFT 2014.04.15 FlexSim仿真模型题(4)】
问题描述:本问题曾经出现在论坛的入门解答板块。在很多工厂内部的传输系统都要求一段传送带能够进行旋转。本次题目要实现的是这段旋转的动画过程。


模型要求:
1 附件中有本题7.0的原始布局,使用其他版本请也按照附件中的模型进行布局,以方便审核和对比;
2 实现附件视频中的旋转动画,注意必须要实体完全进入旋转传送带,传送带才可以开始转动。


提示:由于本题有多种解决方法,请选择您认为最好的一种,上传完成的模型。
作者: yushaozheng1990    时间: 2014-4-15 12:51
[i]蓝桥书生[/i] [/b]按楼主的要求做了一下,实际上是基于以前的一个模型,但是之前的模型是实体刚进入传送带就开始转动,代码稍稍做了改动,工作做的不多,还望楼主批评指正。[attach]1800[/attach]
作者: 蓝桥书生    时间: 2014-4-15 13:04
[i=s] 本帖最后由 蓝桥书生 于 2014-4-15 14:51 编辑 [/i]

[attach]1808[/attach][attach]1802[/attach]第一次上传没看到第二个条件,所以删了重传一个修改后的
作者: 大摸鱼    时间: 2014-4-15 14:04
11
作者: 大摸鱼    时间: 2014-4-15 14:11
上面这个模型有一个问题;运行速度慢的时候一切正常,但是只要速度一快就出现了严重的问题,请教一下楼主这是什么原因?
作者: 大摸鱼    时间: 2014-4-15 14:35
找到一种解决方法,在进入出发设置setrot(current,0,0,0);
作者: 慧娴亚伦    时间: 2014-4-15 20:17
回复2楼:
完成的很好,基本实现了题目的要求,在此提两个小建议:
1、您注意到了要求2,即必须产品全部进入传送带才进行转动,但是否忽视了实际上也应该等到产品完全离开旋转传送带,再让传送带再转回来呢?(仔细看视频中也是如此转动的)
2、运用deactivatekinematics这个命令的话,标签就不需要归零了,本题中没什么大碍,但是当传送带带有其他标签的时候,就会有点困扰。

恭喜您!您是第一个完成模型要求的活动参与者。
论坛ID为yushaozheng1990 的朋友在第三层的回复是第一个有效回复。获得积分5分。同时也是连续三次第一个有效回复的拥有者。
24小时后本题结束(即2014年4月16日20时17分),其后的回复不计为有效回复。
作者: 慧娴亚伦    时间: 2014-4-15 20:34
回复3楼:
完成的很好,实现了题目的要求。使用注解是非常好的习惯,但是你在运行过程中发送了三种不同的延迟消息,既使得代码难懂,又导致运行负荷加重,而且容易出错。

恭喜您!您是第二个完成模型要求的活动参与者。
获得积分4分。
作者: yushaozheng1990    时间: 2014-4-15 21:02
[b] [url=http://www.flexsim.asia/redirect.php?goto=findpost&pid=12135&ptid=4411]7#[/url] [i]慧娴亚伦[/i] [/b]
按照楼主的建议我再修改一下模型
作者: 慧娴亚伦    时间: 2014-4-15 21:14
回复6楼:
完成的不错,实现了题目的要求。模型的缺点您自己也应该发现了,如果改动传送带的速度,必须还要对应改动延迟消息的延迟发送时间,跟前面几个模型一样,改动起来不方便,也就是不灵活。

恭喜您!您是第三个完成模型要求的活动参与者。
获得积分1分。

关于您4楼的模型的问题:那是因为也是由于你通过发送延迟消息来控制开始运动学导致的,延迟时间一定要算好。
作者: yangkaichong    时间: 2014-4-16 18:01
多谢楼主
作者: yangkaichong    时间: 2014-4-16 18:05
下载来看看!!!
作者: 慧娴亚伦    时间: 2014-4-16 20:07
本次TFT活动已经截止。
      这是TFT活动的第四次正式活动,本题涉及到的是简单的运动学指令,FlexSim强大的三维功能一大优势,而强大的运动学功能可以使得定制化的模型效果更加贴近现实,使得“仿真”更“真”。除了运动学之外,7.0版本对动画编辑器加强了许多,使得很多动作的实现不再依赖相对复杂的运动学指令,使得打造炫酷的模型更为方便。旋转传送带作为工厂常见的一种动画要求,需要建模工程师熟练的掌握。

      本次题目一共有3位朋友得到了有效回复。他们的论坛ID分别是:
      yushaozheng1990、蓝桥书生、大摸鱼
      他们将获得指定积分,没有获得积分的朋友期待您的下次参与。值得一提的是yushaozheng1990朋友已经连续三次获得5分积分,虽然他并非每次都是第一个上传模型的,但是都是第一个上传符合题目要求模型的朋友。完整实现客户需求是评价一个模型好坏的重要因素。

      本次模型大家都能用运动学指令很好的完成,但是细节和代码上都有一定优化的空间。本次的参考模型,我本来准备的也是运用运动学指令来完成,考虑到只有一种方法明显不符合发布时候“有多种做法”的言论,特别再放上单纯使用发消息改变节点值的方式完成的参考模型(非最佳模型),代码相对繁琐,但是在某些情况下,运用这种方式实现运动效果会更好。同时简单地应用了一下传送带的光电传感器。

      再次感谢大家的参与和支持,没有参与者活动将无法开展,希望各位还能继续支持TFT的接下来的活动,再次感谢!
作者: yushaozheng1990    时间: 2014-4-16 22:29
[b] [url=http://www.flexsim.asia/redirect.php?goto=findpost&pid=12158&ptid=4411]13#[/url] [i]慧娴亚伦[/i] [/b]
一直以来非常感谢楼主的指点,这也是我前进的动力,以后会一直支持楼主的板块。
作者: cdotag    时间: 2014-7-24 23:27

作者: cdotag    时间: 2014-7-24 23:32
怎么实现先移动,再旋转呢
作者: 慧娴亚伦    时间: 2014-7-25 09:06
如果使用运动学的话,添加运动学命令 addkinematic()(这个命令有较多的参数,不过不用担心,您可以查看用户手册或者帮助命令,再结合本帖中的例子)其中的最后一个参数,是决定运动类型是旋转还是移动,第八和第九个参数是决定运动开始和结束的时间,通过控制这两个参数就可以控制运动的先后。
作者: carol    时间: 2014-8-7 09:37
求指点!:loveliness:
(1) OnReset
initkinematics(label(current,"kine"),-3.52,1.23,0,0,0,0,0,0);
(2) Custom Draw
updatekinematics(label(current,"kine"),current);
(3) OnEntry
closeinput(current);
double x=xsize(item);
double v=1;
double t=x/v;
updatekinematics(label(current,"kine"),current);
addkinematic(label(current,"kine"),0,0,90,180,0,0,0,0,time()+t,2);
(4) OnExit
double l=xsize(current);  /*旋转输送带的长度*/
double speed=1;
double t1= l/speed;
double x=xsize(item);    /*被输送实体的长度*/
double v=1;
double t=x/v;
double endtime=addkinematic(kin,0,0,-90,180,0,0,0,0,time()+t+t1,2);
senddelayedmessage(current,endtime-time(),current);
(5) OnMessage
openinput(current);
作者: 慧娴亚伦    时间: 2014-8-7 11:07
回复18楼:
          使用运动学完成了模型。您可以不必将代码都贴出来,只需要将关键的代码或者做法解释一下就可以了。
作者: carol    时间: 2014-8-7 12:04
好的,因为是新新新手,如果是代码出错,您可以马上指出来,这样我可以改正:lol
作者: 慧娴亚伦    时间: 2014-8-7 13:24
额。这么多的代码很难看出错误啦,还是从模型运行中看到运行有误比较好找出问题所在。
作者: carol    时间: 2014-8-8 08:38
soga!好嘞!多多指教!!!:victory:
作者: CPF2000    时间: 2014-8-23 12:11
goood
作者: CPF2000    时间: 2014-8-23 12:11
goood
作者: xinglei    时间: 2014-11-18 16:45

作者: xinglei    时间: 2014-11-25 10:57

作者: willqiu    时间: 2015-3-22 22:33
学习!
作者: yuzhu    时间: 2015-11-5 14:43
赞~
作者: zorsite    时间: 2015-12-29 18:38
简单的旋转、平移并不复杂,难的是多方向、多维度的运动。模型中发送了很多次消息,不知道会不会比较繁琐。使用Flexsim7.7制作。[attach]2918[/attach]
作者: 慧娴亚伦    时间: 2015-12-30 09:48
加老师使用的还是传统的运动学方式,运动学来处理一些运动过程是比较通用的。即使在现在动画制作功能逐步加强的7版本,也是深入应用flexsim的关键。
另外,这种数量的消息我认为不算繁琐。
作者: 1016175264    时间: 2017-3-29 02:59
学习学习、谢谢版主~~
作者: jianghua    时间: 2017-10-14 18:09
实现传送带旋转,
作者: yan8288314    时间: 2021-3-8 20:45
学习了,赞一个!




欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/) Powered by Discuz! X3.3