《Flexsim物流仿真实验》指导书 境下很容易地操控3D模型,从不同角度、放大或缩小来观测。 (3)建模和调试的方便 建模过程中用户只需要从模型库中拖入已有的模型,根据模型的逻辑关系进行连接,然后设 定不同对象的属性。建模的工作简单快捷,不需要编写程序。 (4)建模的扩展性强 Flexsim支持建立用户定制对象,融合了C+编程。用户完全可以将其当作一个C+的开发 平台来开发一定的仿真应用程序。 (5)开放性好 提供了与外部软件的接口,可以通过ODBC与外部数据库相连,通过socket接口与外部硬 件设备相连,与Excel、.Visio等软件配合使用。 3.1.2 Flexsim的一些重要概念 (1)面向对象的思想 相对于目前的一些仿真软件(如Witness,eM-Plant等),Flexsim是采用面向对象思想和技术 开发的,其本身更是用C+语言实现。严格地说该仿真软件包括了两部分,仿真软件和后台支 持环境VC+.NET。由于C+是一种面向对象的语言,所以使用Flexsim软件,从用户用于系统 建模,或是做一些二次开发,这些工作都有面向对象思想的体现。 对象(Object).的概念在Flexsim软件中无处不在,我们先直观的感受一下。软件的运行界 面左边是一个常用的对象库(如图32)。库中的各种部件就是有特定功能的对象,这些对象是 软件本身自带的,使用这些基本的部件对象用户可以完成大多数的仿真工作
《Flexsim 物流仿真实验》指导书 6 境下很容易地操控 3D 模型,从不同角度、放大或缩小来观测。 (3) 建模和调试的方便 建模过程中用户只需要从模型库中拖入已有的模型,根据模型的逻辑关系进行连接,然后设 定不同对象的属性。建模的工作简单快捷,不需要编写程序。 (4) 建模的扩展性强 Flexsim 支持建立用户定制对象,融合了 C++编程。用户完全可以将其当作一个 C++的开发 平台来开发一定的仿真应用程序。 (5) 开放性好 提供了与外部软件的接口,可以通过 ODBC 与外部数据库相连,通过 socket 接口与外部硬 件设备相连,与 Excel、Visio 等软件配合使用。 3.1.2 Flexsim的一些重要概念 (1)面向对象的思想 相对于目前的一些仿真软件(如 Witness, eM-Plant 等),Flexsim 是采用面向对象思想和技术 开发的,其本身更是用 C++语言实现。严格地说该仿真软件包括了两部分,仿真软件和后台支 持环境 VC++.NET。由于 C++是一种面向对象的语言,所以使用 Flexsim 软件,从用户用于系统 建模,或是做一些二次开发,这些工作都有面向对象思想的体现。 对象(Object)的概念在 Flexsim 软件中无处不在,我们先直观的感受一下。软件的运行界 面左边是一个常用的对象库(如图 3-2)。库中的各种部件就是有特定功能的对象,这些对象是 软件本身自带的,使用这些基本的部件对象用户可以完成大多数的仿真工作
《Flexsim物流仿真实验》指导书 A Library ▣☒ File Edit Standard Objects nbine 图3-2 Flexsim常用的对象库 这里借用C+程序设计语言中的对象的概念。对象是类的实例,类是对现实对象的抽象。 类中包含了对象的数据(相当于现实对象的状态),以及对象的方法(相当于现实对象用来处理 外界所给信息的方法)。对象封装了属性和方法,进一步到Flexsim中,对于软件中可用的库对 象,它们本身有自己的属性(如颜色,尺寸,位置等),还有处理物件的方法。在使用软件的过 程中,完全可以以人们平时的思维方式来思考,而无须过多的抽象化,这也就是面向对象方法的 优点。 面向对象方法的另一个优点是类与类之间可以有继承关系,类的继承性给我们提供了更大的 柔性来扩展我们自己的对象,即衍生出新的对象。在Flexsim中我们可以充分利用继承性来开发 自己的对象,而软件本身也给用户提供了这样的机制。Flexsim本身的库对象是高度抽象化的, 具有很强的通用性,几乎涵盖了仿真中可能遇到的所有对象。这些对象之间有一定的继承关系, 他们之间存在着逻辑关系。下图(图3-3)是Flexsim中类的层次结构
《Flexsim 物流仿真实验》指导书 图 3-2 Flexsim 常用的对象库 这里借用 C++程序设计语言中的对象的概念。对象是类的实例,类是对现实对象的抽象。 类中包含了对象的数据(相当于现实对象的状态),以及对象的方法(相当于现实对象用来处理 外界所给信息的方法)。对象封装了属性和方法,进一步到 Flexsim 中,对于软件中可用的库对 象,它们本身有自己的属性(如颜色,尺寸,位置等),还有处理物件的方法。在使用软件的过 程中,完全可以以人们平时的思维方式来思考,而无须过多的抽象化,这也就是面向对象方法的 优点。 面向对象方法的另一个优点是类与类之间可以有继承关系,类的继承性给我们提供了更大的 柔性来扩展我们自己的对象,即衍生出新的对象。在 Flexsim 中我们可以充分利用继承性来开发 自己的对象,而软件本身也给用户提供了这样的机制。Flexsim 本身的库对象是高度抽象化的, 具有很强的通用性,几乎涵盖了仿真中可能遇到的所有对象。这些对象之间有一定的继承关系, 他们之间存在着逻辑关系。下图(图 3-3)是 Flexsim 中类的层次结构。 7
《Flexsim物流仿真实验》指导书 FlesimOte Dispatcher) Source Queue Operator Sink Conveyor Crane Rack ASRSvehide Reservoir FbedResouroeTemplate Combiner○Separator 图3-3 Flexsim对象的层次结构 Flexsim中的对象(Objects))又被称为实体,在仿真中模拟不同类型的资源。在Flexsim中实 体主要可以分为以下几种类型: 资源类对象(FixedResources)一般是仿真模型中的主干对象。此类对象决定了模型的流程。 Source,Queue,Processor,Sink,Combiner,Separator,MultiProcessor,Conveyor,MergeSort, FlowNode,Rack,and Reservoir. 执行类对象(TaskExecuter)可从FixedResource对象中获取并执行任务,如物料搬运或生产 操作等。也可以向其他TaskExecutor对象指派任务,或者管理模型中所有的TaskExecuters对象。 Dispatcher,Operator,Transporter,Elevator,Robot,Crane,ASRSvehicle. 网络类对象(NetworkNode)一般用来设定TaskExecutor对象的行动路线.包括:NetworkNode, TrafficControl. 图示类对象(Visual Object0用于在仿真模型中显示各种信息、标识、图片或图表等。包括: VisualTool,Recorder
《Flexsim 物流仿真实验》指导书 图 3-3 Flexsim 对象的层次结构 Flexsim 中的对象(Objects)又被称为实体,在仿真中模拟不同类型的资源。在 Flexsim 中实 体主要可以分为以下几种类型: 资源类对象(FixedResources) 一般是仿真模型中的主干对象。此类对象决定了模型的流程。 包括:Source, Queue, Processor, Sink, Combiner, Separator, MultiProcessor, Conveyor, MergeSort, FlowNode, Rack, and Reservoir。 执行类对象(TaskExecuter) 可从 FixedResource 对象中获取并执行任务,如物料搬运或生产 操作等。也可以向其他 TaskExecutor 对象指派任务,或者管理模型中所有的 TaskExecuters 对象。 包括:Dispatcher, Operator, Transporter, Elevator, Robot, Crane, ASRSvehicle。 网络类对象(NetworkNode) 一般用来设定TaskExecutor对象的行动路线。包括:NetworkNode, TrafficControl。 图示类对象(Visual Object) 用于在仿真模型中显示各种信息、标识、图片或图表等。包括: VisualTool, Recorder。 8
《Flexsim物流仿真实验》指导书 临时实体(Flowitem)也译为迁移实体,是那些在模型系统中移动通过的实体。临时实体可以 代表零件、托盘、组装部件、纸张、集装箱、人、电话呼叫、订单或任何移动通过仿真过程的对 象。临时实体可以被加工处理,也可以被物料运输资源传输通过模型。在Flexsim中,临时实 体产生于发生器(Sourc©)实体。一旦临时实体从模型系统中通过,它们就被送至吸收器(Sink)实体。 (2)实体的端口与连接 每个Flexsim的实体都可有多个端口,端口数没有数量限制。实体通过端口与其它实体进行 通信。端口有3种类型:输入、输出和中心端口。 输入和输出端口在设定临时实体在模型中的流动路线时使用。例如,一个邮件分拣器,根据 包裹的目的地不同,把包裹放置在几个输送机中的一个上。要在Flexsim中模拟这个过程,你需 要将一个处理器实体的多个输出端口连接到几个输送机实体的输入端口,这表示一旦处理器(或 邮件分拣器)完成对临时实体(或包裹)的处理,将把它发送到输送机。 中心端口用来建立一个实体与另一个实体的相关性。中间端口通常的应用是建立固定实体与 可移动实体之间的相关关系,这些固定实体如机器、暂存区、输送机,可移动实体如操作员、叉 车、起重机等。本课教程中不使用中间端口。 端口的创建和连接操作方法是,按住健盘上不同字母,点击一个实体并拖动至第二个实体。 如果在点击和拖动过程中按住字母“A”键,将在第一个实体上生成一个输出端口,同时在在第二 个实体上生成一个输入端口,这两个新的端口将自动连接。如果按住“S”健将在这两个实体上各 生成一个中间端口并连接这两个新的端口。当按住的是“Q”键或“W键时,输入输出端口之间 或中间端口之间的连接被断开,端口被别除。表31给出了用来建立和断开两类端口连接的键盘 字母。 表3-1端口的创建和连接操作 输出一输入 中心 (A连接) (S连接) 断开 连接 A (3)Flexsim对象的方法 Flexsim对象的方法Methods)是用来完成一项任务的一系列规则集,Flexsim采用一系列方
《Flexsim 物流仿真实验》指导书 9 临时实体(Flowitem)也译为迁移实体,是那些在模型系统中移动通过的实体。临时实体可以 代表零件、托盘、组装部件、纸张、集装箱、人、电话呼叫、订单或任何移动通过仿真过程的对 象。临时实体可以被加工处理,也可以被物料运输资源传输通过模型。 在 Flexsim 中,临时实 体产生于发生器(Source)实体。一旦临时实体从模型系统中通过,它们就被送至吸收器(Sink)实体。 (2)实体的端口与连接 每个 Flexsim 的实体都可有多个端口,端口数没有数量限制。实体通过端口与其它实体进行 通信。端口有 3 种类型:输入、输出和中心端口。 输入和输出端口在设定临时实体在模型中的流动路线时使用。例如,一个邮件分拣器,根据 包裹的目的地不同,把包裹放置在几个输送机中的一个上。要在 Flexsim 中模拟这个过程,你需 要将一个处理器实体的多个输出端口连接到几个输送机实体的输入端口,这表示一旦处理器(或 邮件分拣器)完成对临时实体(或包裹)的处理,将把它发送到输送机。 中心端口用来建立一个实体与另一个实体的相关性。中间端口通常的应用是建立固定实体与 可移动实体之间的相关关系,这些固定实体如机器、暂存区、输送机,可移动实体如操作员、叉 车、起重机等。本课教程中不使用中间端口。 端口的创建和连接操作方法是,按住键盘上不同字母,点击一个实体并拖动至第二个实体。 如果在点击和拖动过程中按住字母“A”键,将在第一个实体上生成一个输出端口,同时在在第二 个实体上生成一个输入端口,这两个新的端口将自动连接。如果按住“S”键将在这两个实体上各 生成一个中间端口并连接这两个新的端口。当按住的是 “Q” 键或“W”键时,输入输出端口之间 或中间端口之间的连接被断开,端口被删除。表 3-1 给出了用来建立和断开两类端口连接的键盘 字母。 表 3-1 端口的创建和连接操作 输出 – 输入 (A 连接) 中心 (S 连接) 断开 Q W 连接 A S (3)Flexsim 对象的方法 Flexsim 对象的方法(Methods)是用来完成一项任务的一系列规则集,Flexsim 采用一系列方
《Flexsim物流仿真实验》指导书 法集来完成所建模型的作业。这些方法集主要分为以下几大类: Arrival Method:Determines how and when Flowltems enter the model Trigger Method:Determines what,where,and when to assign information to Flowltems Flow Method:Determines how,where,and when to move Flowltems through the model. Navigation Method:Model navigation,and fly through. FlowItem Bin Method:Defines the Flowltem characteristics. TaskExecuter Move Method:Dertermins who,and how Flowltems move from one FixedResource to another. 3.2 Flexsim仿真起步 Flexsim是一个强有力的分析工具,可帮助工程师和设计人员在系统设计和运作中做出智能 决策。采用Flexsim,可以建立一个真实系统的3D计算机模型,然后用比在真实系统上更短的 时间或者更低的成本来研究系统。 作为一个what-iP'分析工具,Flexsim就多个备选方案提供大量反馈信息,来帮助用户迅速 从多个方案中找到最优化方案。在Flexsim的逼真图形动画显示和广泛的运作绩效报告支持下, 可以在短时间内识别问题并对可选方案做出评估。在系统建立之前,使用Flexsim来建立系统的 模型,或在系统真正实施前试验其运作策略,可以避免在启动新系统时经常会遇到的很多缺陷, 以前需要花费几个月甚至几年时间来进行查错试验以对系统进行改进,现在使用Flexsim可以在 几天甚至几小时内取得效果。 3.2.1 Flexsim-与离散事件仿真 Flexsim是一种离散事件仿真软件程序。这意味着它被用来对这样的系统建模,这些系统根 据特定事件发生的结果在离散时间点改变状态。一般,状态可分为空闲、繁忙、阻塞或停等机, 事件则有用户订单到达、产品移动、机器停机等。离散仿真模型中被加工的实体通常是物理产品, 但也可能是用户、文书工作、绘图、任务、电话、电子信息等等。这些实体通过一系列加工过程、 排队和运输步骤,即所谓加工流程,在系统中依次进行下去。加工过程中的每一步都可能需要 个或多个资源,例如机器、输送机、操作员、车辆或某种工具。这些资源有些是固定的,另一些 10
《Flexsim 物流仿真实验》指导书 10 法集来完成所建模型的作业。这些方法集主要分为以下几大类: Arrival Method:Determines how and when FlowItems enter the model. Trigger Method:Determines what, where, and when to assign information to FlowItems. Flow Method:Determines how, where, and when to move FlowItems through the model. Navigation Method:Model navigation, and fly through. FlowItem Bin Method:Defines the FlowItem characteristics. TaskExecuter Move Method : Dertermins who, and how FlowItems move from one FixedResource to another. 3.2 Flexsim仿真起步 Flexsim 是一个强有力的分析工具,可帮助工程师和设计人员在系统设计和运作中做出智能 决策。采用 Flexsim,可以建立一个真实系统的 3D 计算机模型,然后用比在真实系统上更短的 时间或者更低的成本来研究系统。 作为一个“what-if”分析工具,Flexsim 就多个备选方案提供大量反馈信息,来帮助用户迅速 从多个方案中找到最优化方案。在 Flexsim 的逼真图形动画显示和广泛的运作绩效报告支持下, 可以在短时间内识别问题并对可选方案做出评估。在系统建立之前,使用 Flexsim 来建立系统的 模型,或在系统真正实施前试验其运作策略,可以避免在启动新系统时经常会遇到的很多缺陷。 以前需要花费几个月甚至几年时间来进行查错试验以对系统进行改进,现在使用 Flexsim 可以在 几天甚至几小时内取得效果。 3.2.1 Flexsim与离散事件仿真 Flexsim 是一种离散事件仿真软件程序。这意味着它被用来对这样的系统建模,这些系统根 据特定事件发生的结果在离散时间点改变状态。一般,状态可分为空闲、繁忙、阻塞或停等机, 事件则有用户订单到达、产品移动、机器停机等。离散仿真模型中被加工的实体通常是物理产品, 但也可能是用户、文书工作、绘图、任务、电话、电子信息等等。这些实体通过一系列加工过程、 排队和运输步骤,即所谓加工流程,在系统中依次进行下去。加工过程中的每一步都可能需要一 个或多个资源,例如机器、输送机、操作员、车辆或某种工具。这些资源有些是固定的,另一些