dynamips+dynagen中文教程

dynamips+dynagen中文教程
dynamips+dynagen中文教程

Dynamips / Dynagen 教程

Version 8.1

说明:翻译了两个版本了。最近比较忙,没有来得及及时更新。我想对于大多数来说,看英文原版的教程是很舒服的一件事情。但还是有一部分兄弟看英文的比较费劲,我也抽空翻译一下。顺便再整理一下自己的思路。

成都的雨季来临了,这几天一直在下雨。

本文英文版版权归原作者Greg Anuzelli所有。中文版欢迎大家转载,转载请注明作者和出处!!

感谢那些支持我们eguodu论坛的朋友们。在这里你可以边听音乐边讨论网络技术。

感谢群里面那些兄弟们,感谢那些积极发言的兄弟们。讨论技术问题是我们的目标。但我们的尊旨是互相讨论,共同提高。

Dynamips确实是个非常不错的工具,感谢Chris!!

有了Dynamips,我们不再需要和卖二手设备的人讨价还价。

网络刀客(netDorker)

天府之国成都

2006年11月24日

QQ群:9161468

BBS:https://www.360docs.net/doc/007840254.html,

版本: 1.9.1

作者: Greg Anuzelli

介绍 (3)

安装 (4)

IOS 印象文件 (4)

资源利用 (5)

配置你的Telnet客户端 (5)

网络文件 (6)

运行Simple Lab #1 (7)

通过管理控制台工作 (10)

计算 Idle-PC 值 (14)

Simple Lab #2 (18)

Frame Relay Lab (19)

和真实网络通信 (21)

Ethernet Switch Lab (22)

2691/3600/3700 Routers (23)

C/S 和多服务器操作 (24)

其他需要注意 (25)

FAQs (25)

附录1 ghost RAM feature (28)

附录2 All_config_options.txt (30)

介绍

Dynamips 是Christophe Fillot 编写的一个Cisco路由器模拟软件。它可以模拟Cisco 2691,3620,3640,3660,3725,3745和Cisco7206硬件平台,而且可以运行标准的Cisco IOS文件。引用Chris 自己的话来说:

这个模拟器可以用来:

?作为培训的平台使用,通过软件的方式模拟使用真实环境中的设备。它可以让大家更熟悉Cisco的设备,因为Cisco是网络技术的领导者。

?测试和实验Cisco IOS的各种特性feature

?迅速检测实施到真实路由上的配置

当然,这个模拟器不能替代真实的路由器,对于Cisco网络管理员或者那些想通过

CCNA/CCNP/CCIE考试的人来说,它是真实lab中的一个简单的辅助性的工具。

Dynagen 是Dynamips的一个基于文本的前端控制系统,它采用”Hypervisor”超级监控模式和Dynamips通信。Dynagen简化了虚拟网络的创建和工作:

?使用简单,特定的虚拟路由器硬件的配置文件也容易理解;

?路由器,网桥,帧中继,ATM和以太网交换机互联的语法简单。不需要去处理NetIO。

(注:NetIO为网络输入输出接口)

?可以工作在C/S客户端/服务器模式下,可以让运行在工作站上的Dynagen和运行在后台服务器上的Dynamips通信。Dynagen也可以同时使用多个分布式的

Dynamips服务器来运行一个大的虚拟网络。当然可以可以运行在同一个系统(PC)

上。(只要系统的CPU、内存等资源足够)

?提供了CLI的管理方式,可以列出设备,启动,停止,重启,挂起,恢复和连接虚拟路由器的console口。

Dynagen使用Python来编写,因此兼容所有有Python解释器的平台(译注:几乎是所有的平台都可以支持Dynagen的运行)。设计是模块化的,对Dynamips使用了单独的OOP API 接口。其他Python应用可以使用这个API编写虚拟网络,或者其他的前端控制系统。Yannick Le Teigner继续为Dyangui工作,一个使用这个库的GUI前端控制系统。

如果你偶然发现了这个教程,而不是首先发现了Dynamips或者Dynagen Web站点,这里有一些重要的链接可能对你有用:

Dynamips (Cisco7200路由器模拟器):

http://www.ipflow.utc.fr/index.php/Cisco_7200_Simulator

Dynamips Blog : http://www.ipflow.utc.fr/blog/

Dynagen (模拟器的前端控制系统): https://www.360docs.net/doc/007840254.html,/

Dynagui: https://www.360docs.net/doc/007840254.html,/

Dynamips / Dynagen Bug 跟踪: http://www.ipflow.utc.fr/bts/

Hacki的Dynamips / Dynagen / Dynagui 论坛: http://hacki.at/7200emu/index.php

特别感谢ConfigObj库的创建者

https://www.360docs.net/doc/007840254.html,/python/modules.shtml#configobj. Dynagen使用这个库读取

它的配置文件。

在国内有很多论坛都有Dynamips的专版,网络刀客netDorker的论坛也有很多关于Dynamips 的详细介绍: https://www.360docs.net/doc/007840254.html,/bbs

安装

Dynagen可以运行在任何支持Python的平台上,也就是说几乎所有平台。我已经整理了一个包括Dynamips的Windows的安装包,并且提供了一个Dynagen的编译版。他们的运行不需要安装Python。它也提供一个完全的整合,因此你可以通过双击网络文件来运行他们。

首先,安装libpcap或者winpcap,这取决于你将要运行Dynamips的机器的平台。这个库用来提供桥接路由器接口到物理网卡,就是将物理网卡作为虚拟路由器的网卡,可以让虚拟路由器和真实环境中的设备通信。Windows用户必须安装winpcap4.0或者更新的版本,目前是beta版的。可以到winpcap的官方网站上下载:https://www.360docs.net/doc/007840254.html,.

然后,windows用户应该安装windows安装包。在本地或远程设备上运行Dynamips/Dynagen 所需要的东西,这个安装包都提供了。

Linux用户应该下载Dynamips/Dynagen压缩包,并解压到一个合适的目录中。然后在

/usr/local/bin中创建到dynagen和dynamips的可执行的symlinks,或者是在其他你自己的PATH中做这件事。

注意:如果你在RedHat或Fedora系统上运行Dynamips的话,看一看FAQ item #2。

IOS 印象文件

Dynamips运行时需要真实的Cisco2691,3620,3640,3660,3725,3745或者7200的IOS软件。来自Dyanmips的FAQ:

你能给我提供一个Cisco 7200的IOS印象文件吗?

不能,我没有权力分发任何Cisco IOS印象文件. 你只能自己去找,如果你是Cisco 的用户的话,这应该不是什么问题.

注:在国内很多BBS上都有Cisco的IOS印象文件可以下载,虽然他们很多都没

有经过Cisco的授权。

在Windows系统上,请把IOS文件放在C:\Progam Files\Dynamips\images目录中。实际上你可以把IOS印象文件放在任何你需要的地方,但是实例lab被配置为在c:\Progam Files\Dynamips\images目录中查找IOS文件。在Linux/Unix系统上,指定一个目录来保存你的IOS文件并把IOS文件放在你指定的目录中。(我喜欢使用/opt/images,当然你的系统你作主)

Cisco IOS印象文件是压缩的。这些压缩的文件将和好的配合Dynamips工作。然而通过这个解压进程,boot过程确实非常慢,就像在真实路由器上一样。在这里推荐你先解压IOS 文件,这样模拟器就不用去解压了。你可以在Linxu/Unix /Cygwin上使用”unzip”:

unzip -p c7200-g6ik8s-mz.124-2.T1.bin > c7200-g6ik8s-mz.124-2.T1.bin

你将会看到来自unzip的一个警告信息,对于这个警告,你可以方向的忽略它。

注:dynagen安装好以后在c:\program files\dynamips目录中。你可以把这个目录下的所有文件copy到你喜欢的地方去。这个软件是纯正的绿色软件。我一般把这个目录下面的文件copy到空间比较大的一个逻辑盘上来运行。因为运行这个软件的时候会产生大量的文件。

资源利用

Dynamips为了完成它的模拟功能,使用大量的RAM和CPU资源。如果你想运行一个在真实7200路由器上需要256M RAM的IOS的话,你必须为你的虚拟路由器进程提供256M RAM,它将从内存里面分配256M来工作。在Unix系统中Dynamips也需要分配(默认)64M RAM/进程(Windows进程需要16M)来缓存JIT转换。这是整个工作区的大小;默认情况下,你系统实际内存的使用量明显要少一些。这是因为Dynamips为虚拟内存使用了内存映射文件。在工作目录中你会发现临时的”ram”文件,大小和虚拟路由器的RAM大小相同。(注,Dynagen0.4.2和早期版本的用户:这种行为和你以前使用的有所不同。启动0.4.2版本时mmap默认为True,用来匹配在命令行下使用Dynamips的默认情况。如果你想返回到早期的行为,而且你有足够多的RAM,而且你知道你在做什么。那么你就可以在你lab的7200或router小节中设置”mmap = true “)。

以我的经验来看,即使内存比Cisco要求的要小,一些IOS文件照样可以运行。我已经成功的为需要128M内存的IOS分配了96M内存,为需要256M内存的IOS分配160M内存。当然,这依赖于你的配置文件和网络的复杂性,可能会有所变化。

Dynamips也使用大量的CPU资源,但和使用RAM的情况大不相同:因为Dynamips模拟路由器的CPU指令系统,它无法得知虚拟路由器的CPU何时空闲。它忠实的执行所有组成IOS空闲程序的指令,就像它执行那些些完成”实际”工作的指令一样。因此,当虚拟路由器运行时,主机的CPU通常是在100%,不管你是模拟一个路由还是十个路由。基于这个原因,我喜欢在Linx/Unix上以”niced”方式运行Dynamips进程(或者Windows上的”Below normal”模式)。这样一来,系统进程不再急需CPU资源。

配置你的Telnet客户端

启动Dynagen后,Dynagen包括了一个telnet命令,你可以直接从命令行中连接虚拟路由器的console口。但是你必须得先配置dynagen.ini文件(在Window系统中,在C:\progam Files\dynagen目录中,在Unix系统上,在你解压的目录中),这个文件决定了Telnet。反

注释行合乎你的系统,你可以使用你自己喜欢的Telnet客户端软件。参见ini文件中的注释情况。

注:其实这个文件已经配置好了。直接在Dynagen中telnet routername,就可以登录到路由器了。

网络文件

Dynagen使用一个单独的”network file”来存储组成虚拟lab的所有路由器、交换机和设备间互联。这个文件使用一个简单的类似INI的格式。用文本编辑器可以打开https://www.360docs.net/doc/007840254.html,文件(在windows系统的桌面上有一个指向”Dynagen Sample Labs”目录的快捷方式)。

# Simple lab

任何以#开始的行都是注释,可以忽略。

[localhost]

第一小节指定运行Dynamips的主机。在这个例子中,我们要在同一台机器上运行Dynamips 和Dynagen,因此,我们指定localhost。如果在不同的机器上运行Dynamips,你应该写在这里用机器的hostname或者IP地址来替代localhost。(我们稍后会看到一个这样的例子)

[[7200]]

接下来的这一节是用空格递进的,而且使用了双括号。这意味着后面的配置应用于上面小节中指定的Dynamips 服务器上(在这个例子中是localhost)。所有的空白地带都可以忽略,因此这种犬牙交错的排列方式仅仅是为了视觉效果。双括号的真正意义是说这一节是嵌套在[localhost]小节中。

[[7200]]这一节定义了所有默认情况,将被应用到任何我们创建的7200路由器例程上。这使得事情简单了,我们仅需要一次性指定所有路由器的通用参数,如RAM大小,IOS文件等。注意,你可以指定默认值,而且还可以在路由器实例下的定义新的值来覆盖原来的默认值。

image = \Program

Files\Dynamips\images\c7200-jk9o3s-mz.124-7a.image

# On Linux / Unix use forward slashes:

# image = /opt/7200-images/c7200-jk9o3s-mz.124-7a.image

Image关键字指定了我们想为所有Dynamips运行时,路由器例程默认使用的IOS文件的位置(在这个例子中是我们本地机器)。这里,我们在Windows系统上指定了一个12.4的印象文件。对于Linux/Unix系统,使用”/”来书写路径,就像注释中显示的一样。

npe = npe-400

ram = 160

我们的每一个路由器例程都将使用NPE-400引擎,分配160M内存。

[[ROUTER R1]]

现在,我们使用ROUTER关键字定义一个虚拟路由器例程。关键字后面的字符串是我们分配给这个路由器的名称。在这个例子中是”R1”。这个名字仅仅是Dynamips/Dynagen使用的一个名字。它和你在IOS中分配给路由器的hostname没有任何关系(当然使用相同的名字可以减少混乱)。

s1/0 = R2 s1/0

这一行表明我们将使用R1的Serial 1/0接口连接R2的Serial 1/0接口(通过虚拟的背靠背串口线缆)。Dynagen自动在slot1上安装一个PA-8T的适配卡去适应R1和R2的互联(注意,有个方法可以去取代这种默认行为。例如,由于某种原因你可以使用PA-4T+)。

[[router R2]]

现在我们创建第二个路由器,命名为R2。同样R2参考了连接R1和R2的串口的那一行。正如你看到的,关键字ROUTER是不区分大小写的(所有的关键字都一样)。

# No need to specify an adapter here, it is taken care of

# by the interface specification under Router R1

虽然我们创建了R2路由器,但是我们没有必要在这里指定任何适配卡。当我们在上面连接它到R1的Serial 1/0时,R2的serial 1/0接口已经被创建了。在这个地方没有必要再次指定连接关系。除非有其他接口需要使用。

运行Simple Lab #1

为了运行这个虚拟lab,首先在你本地机器上启动Dynamips服务器。如果你使用windows 安装包,你会在桌面上发现一个名为”Dynamips Server”的快捷方式。运行这个快捷方式启动服务器(默认情况侦听7200端口),在window中就像下面一样:

注:虽然可以使用这个快捷方式,但我还是建议大家在windows命令方式下,进入dynamips 的安装目录,使用命令Dynamips –H 7200 启动Dynamips server。

在Linux/Unix系统上,在后台启动服务器。例如:

nice dynamips –H 7200 &

在windows系统上,打开https://www.360docs.net/doc/007840254.html,文件时Dynagen会自动运行,同时网络文件被启动(注:最好的办法就是用命令行dynagen https://www.360docs.net/doc/007840254.html, 启动https://www.360docs.net/doc/007840254.html,文件):

在Linux/Unix系统上,也可以用Dynagen关联”.net”文件,而不论你使用什么来管理文件,或者在命令行下面运行它:

dynagen https://www.360docs.net/doc/007840254.html,

目前,启动Dynagen后需要忽略”no idle-pc value”的告警信息;我们稍后开始处理。查看所有虚拟lab中的设备,使用list 命令:

这说明有两台路由器,R1和R2。目前他们都运行在本地主机上。R1的console口是TCP 端口 2000,R2的是端口2001。Telnet到这些端口就连接到了虚拟路由器例程。或者如果你配置dynagen.ini文件来指定telnet客户端的话,只要输入”telnet R1”就可以连接到R1的console口。

甚至更方便的是,你可以输入” telnet /all ”,每一个虚拟路由器都将有一个连接console的窗口。如果你使用Linux,OS X,或者windows的Tera Term SSH” 的话,telnet /all ”会工作的更好,因为标题栏有路由器的名字。然而windows内置的Telnet命令不允许这个。由于这个原因用最初的” telnet /all ”连接你lab中的路由器,使用windows内置的telnet命令可能不是一个好主意。因为你可能无法知道你连接的是哪个路由器!

分配合适的IP地址给两个路由器的Serial 1/0接口,并且” no shut ”接口,你会发现他们确实已经连接上了。

通过管理控制台工作

通过管理控制台,使用help命令可以查看所有可以使用的命令:

获得一个特定命令的帮助,可以输入help command或者command ? 例如:

在平台上提供了Readlin库(Linux/Unix),控制台将提供tab完成命令。(我还没有发现用于在windows上提供这个功能的适当的Python Readline库。如果有人发现并且已在Dynagen 上经测试,请告诉我)

对虚拟路由器”断电”,使用stop命令。帮助显示语法如下:

stop {/all | router1 [router2] ...}

关闭一个单独的路由器,使用stop routername命令:

而且毫无疑问,这个路由器现在停止工作了:

你也可以让部分或所有路由器停止工作,使用 stop /all 命令:

重启 R1,使用start命令:

start {/all | router1 [router2] ...}

在dynamips的虚拟路由器中不支持IOS中的reload命令。因此你可以使用dynagen的reload命令。它先执行stop,然后再start。重置整个lab中的所有路由器,使用reload /all:

Suspend 和resume 命令语法与stop 和 start相似,但他们是临时暂停指定路由器(如果你suspend所有路由器,将结束100%CPU利用率) :

Exit命令从网络上停止并删除所有的设备,并且退出dynagen。如果你退出管理控制台,你的模拟器将不再运行。要想启动模拟器,重新启动dynagen即可。

计算 Idle-PC 值

你可能注意到了,前面的lab会导致你系统的CPU高居100%。这个因为dynamips不知道虚拟路由什么时候处于空闲状态,什么时候处于使用状态。”idlepc”命令协助分析正在运行的印象文件,在执行代码中测定一个最有可能的点在IOS中描绘一个空闲循环周期。一旦应用,dynamips在空闲循环周期被执行的时候偶尔”休眠”虚拟路由器,当然这不会在实际操作中降低虚拟路由器的处理能力。主要是大幅度的降低主机的CPU消耗。

如何计算idlepc的值呢?首先,打开一个lab,确认一台路由器进程正在运行(如果可能的话,最好停止lab中所有其他的路由器) :

然后,telnet到正在运行的路由器进程。如果你发现IOS自动配置的提示,用”no”来回复。其他的则不要随便输入:

等所有的接口都初始化以后,再等一会儿确保路由器不再运行并处于空闲状态。你的路由器看起来应该像下面这样:

现在,切换到dynagen的管理控制台,使用”idlepc get routername ”。你会看到一条关于收集统计信息的消息,大概10秒钟以后,你会看到idlepc值的一个统计列表:

带星号”*”的值是更好一些的,选择菜单钟的一个值并输入回车。你应该可以看到你的主机的CPU利用率戏剧性的降低。如果是这样的话,你就已经为这个IOS印象文件获得了一个良好的idlepc值。

如果你的CPU利用率没有降低,请试一下另外的idlepc值。输入”idlepc show routername” 显示刚才的idlepc值,这次请选一个和上次不同的值。

新的idlepc值马上生效。一旦你发现一个不错的值,你可以保存到你的本地idlepc数据中,使用命令”idlepc save routername db”。通过dynagen.ini中的”idledb”选项保存IOS印象文件的idlepc值。默认的文件名是”dynagenidledb.ini”,在你的$HOME 或者”documents and settings “ 目录下面可以找到这个文件。(注:windows系统中,d and s目录下有你系统登陆的用户目录,在这个目录下有dynagenidledb.ini文件)

一旦idlepc值存在于数据中,在你的任何lab中,只要使用这个IOS印象文件,它都会被自动应用(注:这个是一劳永逸的事情,如果要重新修改idlepc值,删掉dyangenidledb.ini 文件即可)。如果dynagen启动一台路由器的时候没有发现idlepc值,它会给出” Warning: Starting xxx with no idle-pc value ”的告警信息。如果你宁愿在网络中间中存储idlepc值的话,使用” idlepc save routername ” 添加一行”idlepc = xxxx ”到路由器定义小节中

(如: ”[[ROUTER R1]]”) 。或者使用” idlepc save routername default”保存到网络文件的路由器平台默认小节中(如”[[7200]]”)。

关于idle-PC值几句话。它是特别针对IOS印象文件的。对于不同的IOS版本这个值也不同,即使是相同版本的不同特性集(注:说白了就是IOS文件名不同,idlepc值也不同)。然而idlepc值不挑剔你的PC,操作系统或者dynamips的版本。因此”dynagenidledb.ini”文件可以随意的从一个系统到另外一个系统。随便使用。

Idlepc数据库根据网络文件的”image = ”制定的IOS来索引。因此你的IOS文件必须唯一。我强烈推荐使用既定的下载的bin文件,只是用image替换bin来说明IOS是解压缩的。如果大家使用习惯相同,这个数据库将能透明共享。

有可能dynamips不能为一个IOS印象文件找到idlepc值,或者这个值不能很好的工作。如果发生这种情况,试着重复一下查找idlepc值的过程。或者就是你的这个特别的IOS让你很不幸(发生这种情况是很罕见的。一旦遇到,拜托你去买彩票,中将之后给我分一点?)。

Simple Lab #2

“https://www.360docs.net/doc/007840254.html,” lab (在sample_labs 目录中)显示了一个使用”LAN”关键字的桥接网络。

[[ROUTER Zapp]]

console = 2001

f0/0 = LAN 1

f1/0 = LAN 2

首先,我们手工是定Zapp的console口(port 2001)。FastEthernet 0/0连接到LAN 1。”1”可以是任何一个数字和文件混合的标识序列号。所有连接在相同的LAN上的以太网接口被桥接在一起(就像把他们连接到一个虚拟的HUB上)。同样,和前面的酸lab一样使用了串口适配卡,Dynagen在0槽位上自动安装一个PA-C7200-IO-FE的适配卡,参考f0/0和f0/1,在槽位1安装PA-FE-TX适配卡。

在这个lab中所有的f0/0接口都连接到了一个以太网段上,所有的f1/0接口连接在另外一个网段上:

[[ROUTER Leela]]

console = 2002

f0/0 = LAN 1

f1/0 = LAN 2

[[ROUTER Kif]]

console = 2003

f0/0 = LAN 1

f1/0 = LAN 2

加载这个lab,我们将看到LAN输入二类公民,也可以说,他们不在设备列表中显示:(注:版本不一样,看到的情况也不一样,有些版本可以看到交换机)

当然由于在数据库中你现在已经有了这个IOS印象文件的idlepc值,因此你不会再看到“Warning:starting xxx with no idle-pc value” 告警信息。

Frame Relay Lab

Dynamips(Dynagen)提供集成的Fr交换机服务。看看” frame_https://www.360docs.net/doc/007840254.html, ” lab,像下面指定的来连接交换机:

[[ROUTER R1]]

s1/0 = F1 1

[[ROUTER R2]]

s1/0 = F1 2

[[ROUTER R3]]

s1/0 = F1 3

我们分别连接路由器的串口到名为”F1”的帧中继交换机端口1,2和3:

[[FRSW F1]]

1:102 = 2:201

1:103 = 3:301

2:203 = 3:302

这里我们使用关键字FRSW定义交换机,并命名交换机为F1。每个帧中继交换的完整格式如下:

Port:dlci = port:dlci

第一行分配本地端口1 DLCI为102,和端口2 DLCI 201映射在一起。其他两行配置类似。在三台路由器之间建立了full mesh的PVC连接。(103 <-> 301, and 201 <-> 302).

注意:Dynamips使用LMI类型为ANSI Annex D,而不是Cisco来模拟帧中继交换机。因此,在路由器上配置帧中继时,使用ansi类型的LMI。

运行lab显示如下:

flexsim快速基础教程

教程 本基础教程将带你一起完成建立过程流、创建模型、输入数据、查看动画、以及分析输出结果的各个步骤。每一节课都是基于上一节内容的,所以学完一节课要消化它,才能进入下一节课。每节课大约需要至少45分钟的时间。在第二课的最后还包括一个提高环节,可以为你的模型增色。本教程包括下列课程; 第一课:建立一个处理3种不同临时实体类型的简单模型。每种临时实体的路径都不同。本模型中使用的实体包括发生器、暂存区、处理器、输送机和吸收器。对模型表现的基本统计做了介绍,也介绍了每一实体的参数选项。 第二课:使用第一课中建立的模型。用户添加操作员和运输机。介绍实体的属性界面,进一步讨论附加统计分析。 第二课提高内容:完成第二课之后,介绍如何使用记录器实体向模型添加3D图表和图形。同时也介绍了如何使用可视化工具添加3D文本。 第三课:使用第二课中的模型,用户将要添加货架和网络路径。将会添加高级统计功能和模型逻辑编程功能。同时也将使用表来读取和写入数据。 每一课将会按照下列格式: 1. 介绍 2. 本课学习内容 3. 估计完成时间 4. 模型描述 5. 模型数据 6. Flexsim软件概念学习 7. 逐步模型构建 如果学习此课程有任何问题,请联系我们的技术团队。Flexsim技术支持的电话是801-224-6914(美国),或者发邮件到?.?希望你在学习如何使用flexsim来优化你们的流程的过程中感到愉快。 重要提示:你必须在电脑上安装Visual C++.NET编译程序,否则此Flexsim软件将不会正确工作。flexsim评估版本附带的编译器并不具备与Microsoft Visual C++零售版本同样的能力。如果你没有Visual C++ .NET,在购买Flexsim软件时,你可以选择捆绑购买Visual C++和Flexsim软件。

[课程]实验三Flexsim流体教程

[课程]实验三 Flexsim流体教程 实验三 Flexsim流体教程 一(实验目的 学习Flexsim 流体。学习这些离散实体是如何相互影响、相互关联的,如何使用 它们建立模型。利用流体建立模型需要更加注重细节,所以在你开始学习流体之前,你应该感到使用其他实体建立模型还是比较舒服的。 二.实验内容: (1)怎么样使用Flexsim 模拟流体物质 (2)如何将实体转换成流体物质 (3)如何运输与储存流体物质 (4)如何在流体储存箱上使用液位标记(level marks)来控制液体流动。 (5)如何将流体物质混合 (6)如何将流体物质转换成临时实体 三.理论知识 流体模型 在这个模型中,一个操作员会将两种不同材质的箱子搬进模型。这两种箱子分别被转化成液体,通过输送管道(Pipe)运输至两个液体储存箱(Tanks)里面。两种液体由储存箱再输送至一个混合器(Mixer)中,混合器将两种液体混合在一起,生产出一种新的产品。这种新产品被输送到液体处理器(流体处理器)里,在通过实体转换器转换成实体,经过传送带,到达吸收器。模型中的液体单位为加仑,时间单位为秒。

流体模型数据 Flowitem 到达速率: exponential(0,10) seconds 流体转换器的最大容量: 20 加仑 单个实体转换成的流体量(流体转换器): 10 加仑/实体向储存箱输送液体的输送管的最大容量: 20 加仑运输率(流体转换器至储存箱): 2 加仑/秒储存箱的最低标记: 1 加仑 储存箱的最高标记: 45 加仑 向混合器输送液体的输送管(pipe)的最大容量: 10 加仑输送率(储存箱至实体转换器): 1 加仑/秒 混合步骤: 步骤1: 物质类型1, 无延迟 步骤2: 物质类型2, 10 秒延迟 混合方式: 物质类型1: 10 加仑, 步骤1 物质类型2: 20 加仑, 步骤2 实体转换器的最大容量: 10 加仑 转换成一个实体的流体量(实体转换器): 10 加仑/实体 另:新概念-Flexsim 术语 在建立模型之前,理解最基本的Flexsim 流体系统术语是非常有帮助的。

Flexsim5.0中文教程

Flexsim系统仿真软件5.0中文版 Flexsim 是工程师、管理者和决策人对提出的“关于操作、流程、动态 系统的方案”进行试验、评估、视觉化的工具。它具有完全的 C++ 对象指定(object-oriented) 性,超强的 3D 虚拟现实( 3D 动画),直观的、易懂的 用户接口,卓越的柔韧性。 Flexsim 是世界唯一的在图形的模型环境中应用 C++ IDE 和编译程序的仿真软件。定义模型逻辑时,可直接使用 C++ ,而且可立刻编译到 Flexsim 中。因为 Flexsim 具有高度的开放性和柔韧性,所以能 为几乎所有产业定制特定的模型。 Flexsim 的主要特性如下 : 一、模型 Flexsim 采用经过高度开发的部件 (Object) 来建模。 部件表示商业过程中的活动、行列,即代表着时间、空间等信息。建立模 型时 , 只需要将相应的部件从部件库拖放到模型视图 (View) 中,各个部件具有位置 (x , y , z) 、速度 (x , y , z) 、旋转角度 (rx , ry , rz) 和动态的活动 ( 时间 ) 等属性。部件可以被制造、被消灭 , 也可以相互移到另一个部件里,除了具有自身的属性外还可以继承他的部件的属性。部件的参 数是简单、快速、有效地建立生产、物流和商务过程模型的主要机能。通过部 件的参数设置,我们可以对几乎所有的物理现象进行模型化。例如,机械手、 操作人员、队列、输送机、叉车、仓库、交通信号、坦克、箱子等全都可用Flexsim 来建立模型,信息情报等“软”的部分也可很容易地使用 Flexsim 功能强大的部件库来建模。 二、层次结构 Flexsim 可以让建模者使模型构造更具有层次结构。 建立模型的时候,每一部件都使用继承的方法(即采用继承结构),可以 节省开发时间。 Flexsim 可以让用户充分利用 Microsoft Visual C++ 的层次体系特性。 三、量身定做 目前在市场上,像 Flexsim 一样能使用户自由自在的量身定制的仿真软件非常罕见。软件的所有可视窗体都可以向定制的用户公开。建模人员可以自由 地操作部件、视窗、图形用户界面、菜单、选择列表和部件参数,可以在部件 里增加自定义的逻辑、改变或删掉既存的编码,也可以从零开始完全建立一个 新的部件。 值得一提的是,不论是设定的还是新创建的部件都可以保存到部件库中, 而且可以应用在其它模型中。最重要的是,在 Flexsim 中可以用 C++ 语言创 建和修改部件,同时,利用 C++ 可以控制部件的行为活动。 Flexsim 的界面、按钮条、菜单、图形用户界面等都是由预编译的 C++ 库来控制的。 四、可移植性 因为 Flexsim 的部件是向建模者公开的,所以部件可以在不同的用户、库和模型之间进行交换。可移植性与量身定制相结合能带来惊异的建模速度。定

搬运系统——课程设计(Flexsim)

生产物流系统设计 1、设置发生器(source),位置坐标为(-70,0,0),产生5种不同类型的产品; 设置方法为:打开属性对话框,在“source”选项卡中的“Item Type”选项设置为5,并利用“Quick Properties”将发生器的位置坐标设置为X=-70,Y=0,Z=0。 2、将发生器产生的5种产品的类型设置为1、2、 3、 4、5的均匀分布; 设置方法为:发生器Triggers选项卡中的OnCreation选项设置为“Set Item type and Color”,并将“Item Type”属性设置为“duniform(1,5)”。 3、产品使用“托盘”装载; 设置方法:发生器source选项卡中的“FlowItemClass”选项设置为Pallet。 4、发生器产生的产品时间间隔设置为参数为5的负指数分布,即平均每5秒钟产生1个产品; 设置方法:发生器source选项卡中“Arrival Style”选项设置为“Inter-Arrival Time”,并单击“Inter-Arrival Time”选项右端的下拉菜单,选择“Statistical Distribution”,打开对话框,在“Distribution”

中选择“exponential”,在“Scale”中设置为“5”。 5、产生的产品进入暂存区排队等待加工,暂存区位置坐标为(-50,0,0),暂存区排队容量设置为50; 设置方法:暂存区“Queue”选项卡中的“Maximum Content”设置为50,并利用“Quick Properties”将暂存区控件的位置坐标设置为X=-50,Y=0,Z=0。 6、设置5台加工设备,其位置坐标分别为(0,40,0)、(0,20,0)、(0,0,0)、(0,-20,0)、(0,-40,0),5台加工设备的加工时间均设置为负指数分布,均值分别为3秒、2秒、4秒、5秒、1秒; 设置方法:(1)放置5个加工设备控件(Processor),并利用“Quick Properties”将加工设备控件的位置坐标设置为(0,40,0)、(0,20,0)、(0,0,0)、(0,-20,0)、(0,-40,0);(2)依次选择5个加工设备控件,打开属性对话框,单击Processor选项卡中的“Process Time”选项右端的下拉菜单,选择“Statistical Distribution”,打开对话框,在“Distribution”中选择“exponential”,在“Scale”中分别设置“3、2、4、5、1”。 7、对5台加工设备加工的产品类型进行指派,要求:第一台用于加工类型为1的产品,第二台加工类型为2的产品,第三台加工类型为3的产品,第四台加工类型为4的产品,第五台加工类型为5的产品;

仿真软件Flexsim教程

错误!未找到引用源。错误!未找到引用源。错误!未找到引用源。错误!未找到引用源。错误!未找到引用源。错误!未找到引用源。错误!未找到引用源。错误!未找到引用源。错误!未找到引用源。错误!未找到引用源。错误!未找到引用源。可视化工具 概述 可视化工具采用道具、风景、文字和展示幻灯片来装饰模型空间,目的是给模型更逼真的外观。它们可以是简单如彩色方框、背景之类的东西,或者是精细如3D图形模型、展示幻灯片之类的东西。 可视化工具的另一种用法是用做模型中其它实体的容器实体。当用作容器时,可视化工具就成为一个分级组织模型的便利工具。容器也可以保存在用户库中,作为将来开发模型的基本建模模块。 详细说明 可视化工具在模型中的使用方式有多种。 ?作为一个容器或子模型 ?作为平面、立方体、柱形或球形 ?作为导入形状 ?作为文本 ?作为展示幻灯片 ?其它设置

现在用可视化工具代替了Flexsim以前版本中的可视化实体、可视化文本。可视化工具扮演一个比可视化实体和可视化文本更广泛的角色。现在,可视化工具作为一个容器在层次建模结构中用来囊括子模型。由于可视化工具与其它Flexsim实体工作方式不同,现在解释一下如何使用它的详细情况。 将可视化工具用作容器 可视化工具默认设置是平面。当放置在模型中时,可视化工具显示为一个带有Flexsim GP位图纹理的平面。平面的尺寸和位置可以在正投影或VR(虚拟现实)模型视图视窗中进行图形化地设置,或者用可视化工具的参数分页来设置(参数分页的使用在“将可视化工具用作平面、立方体、柱形或球形”部分中进行解释)。当把可视化工具用作容器时,建议在开始时使用默认视图(一个平面)设置,可以以后再改变其视觉表达。在此例中,我们要建立一个容器,里面有1个暂存区、2个处理器。临时实体将会从容器外面的一个发生器进入容器。处理器将会把临时实体送到容器外面的一个吸收器。 步骤1:在模型视图中放置一个可视化工具

Flexsim下载地址及安装方法

Flexsim下载地址及安装方法 致:系统工程、物流工程、工业工程及质量等工管类的童鞋们。 /*………………………………………………… IE(工业工程)相关的软件、工具 https://www.360docs.net/doc/007840254.html,/p/1231415702 PS:本帖系统展示了IE相关的软件工具,按照科目分类,清楚明了。 文/ 转自京华孤客的blog ……………………………………………………* 【分享】witness系统仿真软件介绍 https://www.360docs.net/doc/007840254.html,/p/2267979792 ……………………………………………………* PS:此贴非楼主原创,向原创者致敬。严禁用于商业用途,如有侵权,请尽快与吧务组联系,我们将尽快删除该贴。 一款非常有用的离散系统仿真建模软件——Flexsim的下载地址及安装方法 以下:原作者语:【内容原创,如涉及版权问题请联系链接原址】 废话少说,关于Flexsim的简介、功用、教程自己谷歌去(在这里鄙视一下百度,不是我不挺国货,实在是狠铁不成钢) Flexsim的简介、功用链接:https://www.360docs.net/doc/007840254.html,/topics/2848566/ 因为网上没有关于Flexsim的安装教程,而且还曾被明确告知这个需要买,自己的机子装不了,偶然的找到了安装方法,就在这里与大家分享一下。 其他的各种原因,不解释,为了,为了(呵呵,可能老外累死也看不懂这句话)未完,不续,wait you Flexsim各版(含中英文各免注册版)本安装说明: 安装主要分两个阶段 一、环境的安装(关键部分,直接影响各版本是否能成功安装)

Flexsim系统环境要求:Microsoft Visual C++.NET 标准版/企业版,但这个的实在找不到,所 以就只能另谋他法了,这里我们使用VisualStudio 中的C++.NET 取而代之,下载地址见文章末尾 1、下载解压文件 2、进入[https://www.360docs.net/doc/007840254.html,.2005.简体中文版]\Setup文件夹下,找到setup.sdb文件,用记事本打开,把文件中的[Product Key](在文档的最后部分)修改为: KYTYHTQKW6VWPBQDKC8FHWC4J 3、点击Setup.exe安装即可(由于这个文件比较大,安装后最少占用1.9G左右,安装很费时, 所以建议安装时采用自定义安装并将文件安装到非系统盘,选择组件时只选中下面的就够了) 二、Flexsim软件安装 从下面链接下载文件,解压后选择自己想要安装的版本点击安装即可。 下载地址:

Flexsim中文版教程

本基础教程将带你一起完成建立过程流、创建模型、输入数据、查看动画、以及分析输出结果的各个步骤。每一节课都是基于上一节内容的,所以学完一节课要消化它,才能进入下一节课。每节课大约需要至少45分钟的时间。在第二课的最后还包括一个提高环节,可以为你的模型增色。本教程包括下列课程; 第一课:建立一个处理3种不同临时实体类型的简单模型。每种临时实体的路径都不同。本模型中使用的实体包括发生器、暂存区、处理器、输送机和吸收器。对模型表现的基本统计做了介绍,也介绍了每一实体的参数选项。 第二课:使用第一课中建立的模型。用户添加操作员和运输机。介绍实体的属性界面,进一步讨论附加统计分析。 第二课提高内容:完成第二课之后,介绍如何使用记录器实体向模型添加3D图表和图形。同时也介绍了如何使用可视化工具添加3D文本。 第三课:使用第二课中的模型,用户将要添加货架和网络路径。将会添加高级统计功能和模型逻辑编程功能。同时也将使用表来读取和写入数据。 每一课将会按照下列格式: 1.介绍 2.本课学习内容 3.估计完成时间 4.模型描述 5.模型数据 6.Flexsim软件概念学习 7.逐步模型构建 如果学习此课程有任何问题,请联系我们的技术团队。Flexsim技术支持的电话是 801-224-6914(美国),或者发邮件到. 希望你在学习如何使用flexsim来优化你们的流程的过程中感到愉快。 重要提示:你必须在电脑上安装Visual C++.NET编译程序,否则此Flexsim软件将不会正确工作。flexsim 评估版本附带的编译器并不具备与Microsoft Visual C++零售版本同样的能力。如果你没有Visual C++ .NET,在购买 Flexsim软件时,你可以选择捆绑购买Visual C++和Flexsim软件。

最新flexsim模型教学教材

模型一 1 模型描述 ?发生器产生四种临时实体,服从整数均匀分布,类型值分别为1、2、3、4, 颜色分别为红色、蓝色、黑色、黄色,进入暂存区; ?四种临时实体最后将被分别放置到四个货架相应的位置上,每个货架都分为 10列、6层;每个临时实体被放置到货架上的位置是随机的,每个临时实体被放置到货架上的列数和层数都服从整数均匀分布; ?红色和蓝色临时实体进入分拣传送带1自动分拣,分拣传送带1长度为10, 接着蓝色临时实体从分拣传送带1的出口点2处被分拣至传送带1上,然后堆垛机1将传送带1上的临时实体放置到货架2相应的位置上; ?红色临时实体从分拣传送带1的出口点5处被分拣至传送带2上,然后堆垛 机1将传送带2上的临时实体放置到货架1相应的位置上; ?同样的,黑色和黄色临时实体进入分拣传送带2自动分拣,分拣传送带2长 度为10,接着黄色临时实体从分拣传送带2的出口点2处被分拣至传送带3上,然后堆垛机2将传送带3上的临时实体放置到货架3相应的位置上;?黑色临时实体从分拣传送带2的出口点6处被分拣至传送带4上,然后堆垛 机2将传送带4上的临时实体放置到货架4相应的位置上; 2 模型布局

3 功能实现和参数设定 (1)连接 发生器与暂存区——“A”连接; 暂存区分别与分拣传送带1和分拣传送带2——“A”连接; 分拣传送带1分别与传送带1和传送带2——“A”连接; 分拣传送带2分别与传送带3和传送带4——“A”连接; 传送带1与货架1——“A”连接; 传送带2与货架2——“A”连接; 传送带3与货架3——“A”连接; 传送带4与货架4——“A”连接; 传送带1和传送带2分别与堆垛机1——“S”连接; 传送带3和传送带4分别与堆垛机2——“S”连接。 (2)参数设定 ◆a:临时实体类型和颜色的设定 ?双击打开“发生器”的属性窗口 ?打开“触发器”选项卡 ?在“创建触发”下添加 ——设置临时实体类型: 临时实体item 临时实体类型:duniform(1,4) ——根据临时实体类型值设置颜色 值:getitemtype(item) Cases: case 1: colorred(item);break; case 2: colorblue(item);break; case 3: colorblack(item);break; case 4: coloryellow(item);break; default: colorarray(item, value);break; ?单击“确定”关闭窗口 ◆b:临时实体流向的设定 ?双击打开“暂存区”属性窗口 ?打开“临时实体流”选项卡 ?在“输出发送至端口”下选择

flexsim快速基础教程

教程 本基础教程将带您一起完成建立过程流、创建模型、输入数据、查瞧动画、以及分析输出结果的各个步骤。每一节课都就是基于上一节内容的,所以学完一节课要消化它,才能进入下一节课。每节课大约需要至少45分钟的时间。在第二课的最后还包括一个提高环节,可以为您的模型增色。本教程包括下列课程; 第一课:建立一个处理3种不同临时实体类型的简单模型。每种临时实体的路径都不同。本模型中使用的实体包括发生器、暂存区、处理器、输送机与吸收器。对模型表现的基本统计做了介绍,也介绍了每一实体的参数选项。 第二课:使用第一课中建立的模型。用户添加操作员与运输机。介绍实体的属性界面,进一步讨论附加统计分析。 第二课提高内容:完成第二课之后,介绍如何使用记录器实体向模型添加3D图表与图形。同时也介绍了如何使用可视化工具添加3D文本。 第三课:使用第二课中的模型,用户将要添加货架与网络路径。将会添加高级统计功能与模型逻辑编程功能。同时也将使用表来读取与写入数据。 每一课将会按照下列格式: 1. 介绍 2. 本课学习内容 3. 估计完成时间 4. 模型描述 5. 模型数据 6. Flexsim软件概念学习 7. 逐步模型构建 如果学习此课程有任何问题,请联系我们的技术团队。Flexsim技术支持的电话就是801-224-6914(美国),或者发邮件到、希望您在学习如何使用flexsim来优化您们的流程的过程中感到愉快。 重要提示:您必须在电脑上安装Visual C++、NET编译程序,否则此Flexsim软件将不会正确工作。flexsim 评估版本附带的编译器并不具备与Microsoft Visual C++零售版本同样的能力。如果您没有Visual C++ 、NET,在购买Flexsim软件时,您可以选择捆绑购买Visual C++与Flexsim软件。

相关文档
最新文档