设为首页收藏本站

最大的系统仿真与系统优化公益交流社区

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5511|回复: 10

Flexsim学习方法

    [复制链接]
发表于 2008-6-6 17:21:01 | 显示全部楼层 |阅读模式
Flexsim学习方法
我学习Flexsim已经有比较长的时间了,简单说说我认为应该怎么样学习Flexsim。
第一步,准备。Flexsim是一个离散事件仿真软件,在学习它之前肯定是需要一些必备知识的,比如仿真相关的知识,这其中自然也包括仿真所需的数学方面的知识。另外这个软件是基于Visual C++.net 2003开发的,所以最好能对面向对象有一定概念,特别是能够掌握简单的C++编程,当模型复杂到需要深入使用Flexsim的时候,编程方面的知识就会派上用场了。不过如果C++,甚至是编程基础都很薄弱的话,还是可以通过学习相关的材料,迅速达到一定水平的,这个后面会提到。
第二步,入门。版上的很多朋友可能处在这个阶段前后。这部分的学习材料是最丰富的,也是比较好找到的。我知道的包括:软件联机帮助中自带的Tutorial,一套入门的教学录像(有软件操作和讲解),台湾的一本设施规划的教材(后面几章是讲Flexsim的),一份英文的初级培训讲义(PowerPoint文档)和一份中文的初级培训讲义(也是PowerPoint文档)。我知道的就是这些了,其中很多可以在这个网站下载到,其他版友如果知道还有其它的学习材料请补充。这其中,我认为软件自带的教程是基础,软件本身的帮助就是开发人员写的,自然是最权威的了。包括在后面的学习中,联机帮助永远是最重要的学习材料。教学录像有的地方讲的比较细,相比简明扼要的教程要多些内容,而且由于是通过录像展示了操作的过程,生动、形象,入门时很有用。台湾的教材主要是结合设施规划方面,Flexsim讲得似乎不是很深,我没有仔细看过,有仔细学过的版友可以说说。我觉得中、英文两个讲义的内容大致相当,英文版的多了一些例子,其中有些涉及到了编程,这个不属于我说的入门阶段,放在后面再说。讲义可以作为参考文档,不过讲义的缺点是比较概要,都是提纲挈领的,没有详细的讲解。我所说的入门阶段是指熟悉软件的各项操作,能够搭建简单的模型,设定参数等,而不需要自己写代码,编程。这个阶段参考上面所说的这些材料,几天应该就可以达到一定的程度。
第三步,深入。除了有些人只是简单学习一下之外,很多人应该是需要用这个作为工具解决一些相关的问题。在这种情况下,往往模型的复杂程度会超出入门的程度,这就需要深入学习了。其中的一大部分就是在Flexsim中编程。在联机帮助中介绍了Flexsim编程的基础知识,Writing Logic in Flexsim和Basic Modeling Functions这两部分介绍了在Flexsim中编程的一些基本规则,逻辑表达和常用函数。我前面提到的编程基础比较弱的人也可以通过先学习这两部分,逐步掌握Flexsim编程。另外前面提到在中、英文两份讲义中也有相关的内容,特别是英文讲义中后面的那些例子都是很好的学习对象。首先,自然要熟悉规则;其次,就要在实践中不断学习了。在学习的过程中,代码例子自然是非常重要的,除了讲义中带的例子之外,在联机帮助中有一个专门的部分:Sample Models中包含了大量的例子。Sample Models里的模型都不大,但是很实用,每个sample就是某个功能的展示或某种逻辑的实现。Sample Models里提到的例子都可以在Flexsim安装目录下的Samples子目录中找到。如果这部分内容确实都掌握了,你的水平可以提高一大截。今后在Flexsim编程方面的学习就主要靠参考Flexsim自带的源代码了。Flexsim代码的开放性是它的一个特点,不论是自带的模型还是程序本身,绝大部分的代码都是公开的,所以我们可以通过模仿实现自己需要的逻辑。比如参考它的选项中的逻辑代码,能够找到的一些模型中的建模思路和编程方法,还有软件程序本身的很多代码也都能看到。另外编程时一定离不开Command Summary,这里有Flexsim所有已经定义好的函数的说明,绝大多数人的编程还是会在Flexsim里完成,并不需要在Visual C++.net环境中编程,所以这个帮助非常有用。比如,你需要在货架上实现一定的逻辑,那就可以查查Rack那部分有什么函数是可以实现这个逻辑的。感觉Flexsim虽然是基于C++开发的,但是它还是和其他软件一样,都是用软件自带的函数写代码来实现逻辑,通常不会需要在外部环境中写纯粹的C++代码。所以编程的关键就在于熟练掌握软件提供的和自己相关的那些函数,每个人情况不同,一般几十个吧。
第四步,全面。上一步主要说的是高级使用中的编程部分。诚然很多功能的使用到达一定复杂程度后都可能需要用到编程,对软件的全面了解还是非常有用和必要的。举个我自己的例子:为了让叉车每次卸货完毕后回到特定的地点,我自己写了代码实现,后来才发现原来有相应的选项,根本不用自己编程实现。所以对软件的全面了解在某种意义上比学编程还要重要,从中我们可以更容易的知道,Flexim都能做什么,哪些可能不能做,哪些需求可以通过已有的功能直接实现,不能直接实现的需要通过什么途径实现等等。全面熟悉软件我觉得至少包括下面两个部分:1、通读用户手册,不需要逐字逐句地学习,但是能够从头到尾“过”一两遍,至少能够了解都有什么功能,都能够做什么,至于具体怎么做可以用到的时候再回来仔细学习;2、知道软件界面上的各个菜单、按钮、选项是做什么用的,其实用户手册里也有专门的部分讲这个,不过我是习惯拿到一个软件就看看都有什么菜单。比如说建模窗口的Edit Selected Objects里有个选项就可以实现复制对象,Combiner这种对象就可以实现装配工作台的效果,这些在入门里就不一定有,因为入门只会提到最常见的,有些我们需要的东西在入门里是没有提到的。总之,这个阶段我认为比第三个阶段更重要,即便你不想编程,跳过第三阶段,也不能错过这个阶段,否则你就只能停留在入门的阶段了。只进行第四步,而跳过了第三步,至少也知道能做什么和大致上是通过什么来实现的,只不过当遇上一定需要用编程来解决的问题时就不成了。
学了这么长时间,我觉得Flexsim还是很强大的,也有很多东西可以学,我们也只能是用到什么学什么。上面是我认为比较好的学习方法给大家参考,其实和大多数软件的学习方法都是相通的。另外再次提醒大家用户手册的重要性,有时遇到问题,一查手册就会恍然大明白了,特别是有些专门标出的文字以前也都看漏了,其实是很重要的。希望大家有好的学习方法或学习材料也拿出来分享。

评分

参与人数 1仿真币 +15 收起 理由
苘苘 + 15 我很赞同

查看全部评分

 楼主| 发表于 2008-6-6 17:21:37 | 显示全部楼层

呵呵

网上找的文章
发表于 2008-7-5 00:30:36 | 显示全部楼层
很好的文章,谢谢小帅共享
发表于 2008-7-18 23:14:22 | 显示全部楼层
不错,但是lz能否告之,在实际的工作中物流仿真软件的用处体现在哪里?还是仅作学术上的模拟学习? 多谢
发表于 2008-7-28 09:35:05 | 显示全部楼层
如果搂主能结合学习过程中的心得提供一些有针对性的学习资料和安莉那就更好了,谢谢搂主。
发表于 2008-12-31 09:59:14 | 显示全部楼层
十分感谢楼主分享宝贵经验,小弟目前刚开始学习这个软件。看到论坛里这么多大牛,对这个软件也越来越有信心了。
发表于 2009-1-2 13:15:28 | 显示全部楼层
呵呵,学习了
发表于 2009-1-15 16:45:42 | 显示全部楼层
呵呵,不错,
发表于 2009-1-25 10:32:17 | 显示全部楼层
很好,有同感
发表于 2010-12-19 23:29:57 | 显示全部楼层
对我们新手来说这个东西太好了 谢了
发表于 2010-12-30 13:02:55 | 显示全部楼层
谢谢楼主,刚开始接触flexsim,对我来说算是一个指路灯了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|SimulWay 道于仿真   

GMT+8, 2024-5-6 13:12 , Processed in 0.014798 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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