Flexsim基础知识

上传人:pu****.1 文档编号:593607142 上传时间:2024-09-26 格式:PPT 页数:158 大小:9.30MB
返回 下载 相关 举报
Flexsim基础知识_第1页
第1页 / 共158页
Flexsim基础知识_第2页
第2页 / 共158页
Flexsim基础知识_第3页
第3页 / 共158页
Flexsim基础知识_第4页
第4页 / 共158页
Flexsim基础知识_第5页
第5页 / 共158页
点击查看更多>>
资源描述

《Flexsim基础知识》由会员分享,可在线阅读,更多相关《Flexsim基础知识(158页珍藏版)》请在金锄头文库上搜索。

1、1Flexsim软件的安装步骤(软件的安装步骤(单机版单机版)单机版单机版根据电脑操作系统打上相应的补丁安装.NetFramework安装Flexsim4.52插入加密狗输入客户序列号开始菜单/Flexsim4/FlexsimLicenseActivation(推荐)安装VisualC+.net12Flexsim软件的安装步骤(网络版)软件的安装步骤(网络版)网络版网络版服务器上安装:加密狗hdd32.exe(加密狗驱动)(HASPdevicedriver)aksmon32.exe(服务器监控程序)lmsetup.exe(服务器序列号管理器)*上面三个文件在网络版安装光盘的目录下可以找到23F

2、lexsim软件的安装步骤(网络版)软件的安装步骤(网络版)网络版网络版客户机上安装:.NetFrameworkFlexsim4.52软件插入加密狗输入客户序列号(推荐)VisualC+.net34什么叫系统仿真什么叫系统仿真 系统仿真是现代企业科学管理技术之一系统仿真是现代企业科学管理技术之一, ,是将对象系统模型化是将对象系统模型化, ,把模把模型作为实验装置型作为实验装置, ,用来分析已存在的系统或计划系统的一种技术用来分析已存在的系统或计划系统的一种技术 。系系统仿真是工程师、经理和决策人对有关操作、流程、或是统仿真是工程师、经理和决策人对有关操作、流程、或是动态系统的方案进行试验、评

3、估、以及视觉化的工具。动态系统的方案进行试验、评估、以及视觉化的工具。5什么是模型什么是模型为解决特定问题,对真实系统进行抽象和简化的产物只包含真实系统中,解决问题所必需的元素6 不组装实际系统不组装实际系统,利用计算机模型进行实验利用计算机模型进行实验,可可以在短时间、低成本下运行,而且不给现行系统以在短时间、低成本下运行,而且不给现行系统带来任何中止或破坏的危险。带来任何中止或破坏的危险。现实现实系系统统现实系统(改进)现实系统(改进)现实世界现实世界计计划划实实验验成本高成本高时间长时间长业务停止的可能性大业务停止的可能性大改改进进方案方案仿真模型仿真模型仿真模型仿真模型计计划划实实验验

4、成本低成本低时间短时间短业务不需停止业务不需停止模型化模型化改进改进系统仿真技术的必要性系统仿真技术的必要性7解析模型与仿真模型解析模型与仿真模型解析模型静态的、确定性的用于寻找答案容易实现难以捕捉时间、动态系统难以捕捉复杂因果关系难以建立与时间相关的约束不能随时间运行模型仿真模型动态的、可执行的能够捕捉任何复杂度的因果关系和时间约束易于捕捉问题的随机本质能够详细描述模型中的行为可以测量各种量建立模型需要更多的时间和技巧8Flexsim软件主窗口布局软件主窗口布局Flexsim软件主窗口由下面五部分构成菜单工具栏对象库模型视图仿真控制栏89工具栏工具栏工具栏中常用到的按钮包括FlowItem:

5、临时实体库Tree:打开模型树Ortho:打开模型正投影视图Persp:打开模型透视图910离散事件仿真离散事件仿真只考虑在离散的时间点瞬间发生的改变状态的重要事件事件包括:订单到达零件加工完成库存量下降到下限状态包括机器:空闲、加工、故障车辆:行进、装货、卸货11统计分布函数统计分布函数指数分布正态分布Lognormal分布Gamma分布12Flexsim仿真模型的基本组成仿真模型的基本组成对象(Objects)Flexsim采用对象对实际过程中的各元素建模连接(Connections)Flexsim中通过对象之间的连接定义模型的流程方法(Methods)对象中的方法定义了模型中各对象所需要

6、完成的作业1213对象与继承对象与继承Flexsim采用面向对象的技术大部分Flexsim对象都是FixedResource或TaskExecutor对象的子对象子对象拥有其父对象所有的接口和相应的功能用户相对比较容易很快掌握子对象的使用1314Flexsim家族树家族树1415Flexsim的对象库的对象库15Flexsim有丰富的对象库,其中实体也是灵活便,可以满足客户个性需求,且可以自定义实体并保存,方便以后调用。16对象分类对象分类离散类(DiscreteObjects)资源类(FixedResources)Source,Queue,Processor,Sink,Combiner,Se

7、parator,MultiProcessor,Conveyor,MergeSort,FlowNode,Rack,andReservoir执行类(TaskExecuter)Dispatcher,Operator,Transporter,Elevator,Robot,Crane,ASRSvehicle网络类(Node)NetworkNode,TrafficControl图示类(VisualObject)VisualTool,Recorder连续类(FluidObjects)FluidTank,FluidGenerator,FluidTerminator,FluidMixer,FluidBlende

8、r,FluidSplitt-er,FluidPipe,FluidProcessor,ItemToFluid,FluidToItem,andTheTicker1617离散类离散类-资源类对象资源类对象FixedResource类对象一般是离散仿真模型中的主干对象此类对象决定了模型的流程1718执行类对象执行类对象TaskExecuter对象可从FixedResource对象中获取并执行任务,如物料搬运或生产操作等。一个TaskExecuter对象可以向其他TaskExecutor对象指派任务,或者管理模型中所有的TaskExecuters对象。TaskExecuters对象不参与模型中的流程指派

9、。1819网络类对象网络类对象NetworkNode对象一般用来设定TaskExecutor对象的行动路线19NetworkNodeTrafficControl20图示类对象图示类对象图示类对象可用在仿真模型中显示各种信息、标识、图片或图表等VisualTool和Recorder对象可用来提高仿真模型的直观感,同时可用来实时显示和搜集模型的输出数据2021连续类对象连续类对象连续类的对象主要是用于设计具有流体类的系统仿真,但它又不仅仅局限于流体,事实上它能够仿真的具有连续属性的事件,如测量重量、容量的变化。作为连续类的11个对象中提供了2个ItemToFluid、FluidToItem具有连续

10、与离散之间接合功能的对象。2122临时实体(临时实体(Flowitem)临时实体指模型中存在临时产生的对象临时实体可用来表示生产或服务中的原料、产品或产品集,如零件、部件、托盘、容器等;也可以是任务执行者临时实体可点击工具栏按钮Flowitem定义可对每个临时实体定义对象类别(Itemtype)2223连接与端口连接与端口Flexsim模型中的对象之间是通过端口来连接的三种类型的端口输入端口(inputports)FixedResource之间的连接输出端口(outputports)FixedResource之间的连接中心端口(centerports)连接TaskExecuter和FixedR

11、esource2324“s”连接连接按下“s”键的同时用鼠标从一个对象拖拉到另一个对象上以连接二者“s”连接仅用于中心端口之间的连接(即连接TaskExecuter和FixedResource)“s”连接用“w”取消(按下“w”键的同时用鼠标从一个对象拖拉到另一个对象上以连接二者)2425“s”连接连接中心端口26“a”连接连接按下“a”键的同时用鼠标从一个对象拖拉到另一个对象上以连接二者“a”连接用于除中心端口之外的所有其他的连接“a”连接用“q”取消输出端口输入端口27方法(方法(Method)方法是用来完成一项任务的一系列规则集好的方法应是可以重复使用的Flexsim采用一系列方法集来完

12、成所建模型的作业2728Flexsim建模方法集建模方法集Arrival MethodDetermineshowandwhenFlowItemsEnterthemodelTrigger MethodDetermineswhat,where,andwhentoassigninformationtoFlowItemsFlow MethodDetermineshow,where,andwhentomoveFlowItemsthroughthemodelNavigation MethodModelnavigation,andflythroughFlowItem Bin MethodDefinesthe

13、FlowItemCharacteristicsTaskExecuter Move MethodDerterminswho,andhowFlowItemsmovefromoneFixedResourcetoanother2829触发器的概念触发器的概念当资源对象上发生重要事件时,触发器被触发用户指定当触发发生时产生的一系列动作(触发器逻辑)可以定义的触发器包括:当实体被生成时,当实体进入或离开固定资源时,当处理过程完成时等等每类资源对象都有自己的一套触发器30触发器触发器定义和定制在特定事件发生时的系统行为向实体写入信息发送消息给其他资源对象改变资源对象自身的行为特征31模型视图模型视图视图是以

14、视窗方式展示的模型,在Flexsim中可以同时打开多个视图,每个视图都是从各自的角度观察模型。正视图和透视图平面视图和树结构视图32实体流实体流无论对象在模型布局中处于什么位置,实体从一个对象被传递到下一个对象都无需消耗任何时间添加输送机或移动资源用于运输,可以给实体流产生时间延迟输送时间取决于输送机的长度和速度对象间的运送时间取决于对象间的距离,以及移动资源的速度、加速度和减速度33应用应用 Flexsim建模的基本步骤建模的基本步骤1构建模型布局2定义对象流程3编辑对象参数4运行仿真模型5分析仿真结果3334步骤步骤1. 构建模型布局构建模型布局将仿真所需要的对象模型从对象库中拖拽到仿真视

15、图窗口中的适当位置3435步骤步骤2. 定义对象流程定义对象流程根据连接类型,按下“a”或“s”键的同时用鼠标从一个对象拖拉到另一个对象上以连接二者35在4.52版本中也可通过鼠标选择,来进行连接36步骤步骤2. 定义对象流程定义对象流程 (续(续1)连接两个对象端口所需按键“a”键用来将对象1的输出端口连接到对象2的输入端口上“q”键用来取消对象1的输出端口与对象2的输入端口之间的连接“s”键用来连接对象1与对象2的中心端口“w”键用来取消对象1与对象2的中心端口的连接3637步骤步骤2. 定义对象流程定义对象流程 (续(续2)各类端口连接的显示位置输出端口显示在对象的右上角输入端口显示在对

16、象的左上角中心端口显示在对象底部中心3738步骤步骤2. 定义物流流程定义物流流程 (续(续3)察看对象的端口连接状况对象属性窗口General选项卡调整端口的编号顺序删除端口连接3839属性/参数用于编辑和察看所有对象共同的一般性的信息外形、尺寸、转角、位置显示模式端口连接标签统计数据用于编辑对象特定的性能特征步骤步骤3. 编辑对象参数编辑对象参数双击对象可以打开对象的参数对话框40属性属性每个对象都具有同样的一组属性设置项目Visual(外观)外形和尺寸General(常规)端口连接显示模式开关Labels(标签)自定义属性Statistics(统计)产量、状态、排队量、停留时间数据、图表

17、41对象尺寸和转角对象尺寸和转角属性选项中可以定义对象的位置、尺寸和转角此外,在模型窗口中也可以实现(勾选菜单栏中Edit/ResizeandRotationObjects)左键拖动箭头改变尺寸右键拖动箭头进行旋转42参数参数每个对象类有自己的参数选项参数影响实体在对象中的停留时间和在对象间流动的线路Apply(应用)使改变生效OK(确定)使改变生效并关闭窗口Cancel(取消)关闭窗口,不做改变Properties打开对象的属性窗口43参数项目参数项目参数按照类别分在不同的项目中每个固定资源对象都有“Flow”(流)和“Triggers”(触发器)项44下拉菜单复合框下拉菜单复合框下拉菜单代

18、码模版(适合修改参数)代码编辑(修改C+代码)45步骤步骤4.运行仿真模型运行仿真模型编译模型重置模型控制速度运行仿真45注:在Flexsim4.52版本中不需要时时编译可以直接运行,如果用到了C+代码就需要进行编译F2键46步骤步骤5. 分析仿真结果分析仿真结果仿真之前通过菜单Statistics/ObjectGraphData/SelectedObjectsOn进行选择仿真时在对象属性对话框Statistics选项卡中可实时察看相应对象的统计数据和图表47步骤步骤5. 分析仿真结果分析仿真结果点击Statistics-ReportsandStatistics可以生成数据统计报告4748标准

19、报告标准报告为模型中的所有对象创建一个表格形式的报告(可以用Excel打开的csv格式文件)选择报告中包括的若干标准系统变量49案例案例目的使用资源库中的多种对象使用描述每隔20秒一份原材料进入分离器,并被分为三份,分别进入下述三条不同的加工路径:路径一:原材料经过S形输送机到达组合器。每八份原材料被放置在一个托盘上,并经过后续的输送机运送到接收器。路径二:原材料经过输送机到达多功能处理器。在多功能处理器上,原材料将经过三个加工工序,工序一需要3秒钟,工序二需要4秒种,工序三需要5秒钟,其中工序二需要一名操作员参与才能进行。完成全部三个工序后,运输车辆将产品运送到货架上存放。路径三:原材料沿流

20、节点到达堆放区,此堆放区需积累达10份原材料才会一份一份地送至处理器进行加工,每份加工时间是20秒。加工完成的产品会放置在后续的堆放区中等待操作员将其运送到相应的接收器中。50案例案例51实例实例1:简单仿真模型的建立:简单仿真模型的建立生产线同时生产三种产品,然后被送到监测车间的缓存区。检测车间有三台监测系统分别对这三种产品进行检测后,通过各自的传送带将产品运输出去5152模型描述模型描述产品到达检测车间的时间服从均值为20,方差为4的正态分布到达检测车间的产品类别为1,2,3,分别用不同的机器加工缓存区最大容量为25件产品机器加工时间服从(0,30)的指数分布传送带传输速度为2m/s525

21、3步骤步骤1:构建模型布局:构建模型布局从对象库中拖放所需的对象到建模视图中5354步骤步骤2. 定义对象流程定义对象流程54按住A键或直接选择鼠标方式,同时用鼠标左键点击Source对象并且拖动鼠标至Queue对象。此时会出现一条黄线连接。然后,黄线将变成一条黑线,表示Source和Queue的端口已经连接上。使用相同方法,分别连接其它对象。55步骤步骤2. 定义对象流程(续)定义对象流程(续)5556步骤步骤3. 编辑对象参数编辑对象参数定义产品的流出设置缓存区参数设置检测设备参数5657定义产品的流出定义产品的流出双击Source对象,打开其参数对话框5758修改产品流出间隔时间(修改产

22、品流出间隔时间(1)从Inter-Arrivaltime下拉框中选择StatisticalDistribution5859修改产品流出间隔时间(修改产品流出间隔时间(2)修改选项的默认参数点击Template按钮将其中蓝色的exponential(0,20,1)改为normal(20,2,1)。即为服从均值为20,标准差为2的正态分布5960指派产品不同的型号和颜色指派产品不同的型号和颜色选择SourceTriggers选项卡,在OnCreation下拉框中选择SetItemtypeandColor来改变产品类型和颜色使用默认值即可,即为duniform(1,3)服从1到3的均匀分布。6061

23、设置缓存区容量设置缓存区容量双击Queue,其参数对话框将会出现将MaximumContent对应值改为25.点击Apply确认6162 设置缓存区产品流选项设置缓存区产品流选项转到Flow选项卡,在“Output”框中,选择“SendToPort”下拉框中的“ByExpression”选项依次点击Apply和OK按钮,关闭Queue对象的参数对话框6263设置检测设备检测时间设置检测设备检测时间双击第一个Processor对象在参数对话框“ProcessTime”下拉框中选择“StatisticalDistribution”选项将函数参数中由默认值10改为30同样设置其他两个Processo

24、r对象6364步骤步骤4. 编译运行仿真编译运行仿真64编译模型重置模型控制速度运行仿真注:在Flexsim4.52版本中不需要时时编译,如果用到C+代码就需要进行编译,本模型不需编译F2键65步骤步骤5. 观察仿真结果观察仿真结果现在模型视图处于由上到下的垂直投影图中,该投影图在建模时经常使用,若在模型显示方面经常使用透视图。选择工具栏中的Persp按钮可打开一个新的透视图6566仿真透视图显示仿真透视图显示6667仿真统计结果的简单查看(仿真统计结果的简单查看(1)右键点击工作区调出ViewSetting菜单选中“ShowNames”(默认为选中)68仿真统计结果的简单查看(仿真统计结果的

25、简单查看(2)鼠标右键单击对象,从弹出菜单选择Properties,然后从属性对话框中选择Statistics选项卡Statistics选项卡中里面又包括State,Content,Staytime四个子选项卡6869仿真模型文件的保存仿真模型文件的保存仿真文件编写过程中要注意经常保存仿真文件保存修改主窗口File菜单Save或者工具栏中选择保存图标如果需要备份可以使用另存为主窗口File菜单SaveModelAs6970实例实例2:统计信息的查看与显示:统计信息的查看与显示打开已保存的例1的模型文件另存为Example2.fsm7071选取进行统计对象(选取进行统计对象(1)按住Ctrl键,

26、选中三个Processor对象,这时候所选中的对象外面出现一红色方框7172选取进行统计对象(选取进行统计对象(2)点击主窗口菜单Statistics/ObjectGraphData/SelectedObjectsOn选择所选中对象为统计对象进行统计的对象外面出现绿色方框按住Shift键点击模型视图的空白区域,可取消所有对象的选定(红色方框)7273添加添加Recorder对象对象拖放3个Recorder对象至建模视图中7374修改修改Recorder对象视图参数对象视图参数打开透视图依次打开Recorder的属性对话框,修改Visual选项卡中的SX,SY均修改为6,其它视情况调整7475修

27、改修改Recorder对象图示参数对象图示参数双击第一个Recorder对象,打开属性对话框点击按钮“Record”,选择TypeofData为StandardDataObjectName为Processor3Datatocapture为Staytime点击“Apply”保存7576修改修改Recorder对象表头对象表头“StandardDisplayOptions”属性下修改GraphTitle为StaytimeofProcessor3修改坐标轴参数LowerBound改为0UpperBound改为20Divisions改为10点击按钮“Done”退出参数设置依次修改其它两个Recorde

28、r对象的参数7677保存,重置,运行保存,重置,运行7778实例实例3:TaskExecuter的应用的应用在例1的基础上,2个检测员参与到了产品的检测中检测员的任务是从缓冲区取出产品,并安装到相应的监测系统中,安装时间为10秒传送带末端的产品由叉车送出7879修改仿真模型修改仿真模型打开例1的仿真模型文件,另存为Example3.fsm修改仿真模型如图7980创建创建“s”连接连接按住“s”将Dispatcher对象分别与第一个Queue对象及Process对象连接起来同样连接第二个Queue对象与叉车对象8081连接连接Dispatcher与与Operator按住“a”连接Dispatch

29、er对象的输出端口和两个Operator对象的输入端口8182修改缓冲区参数修改缓冲区参数打开第一个Queue的参数窗口在Flow选项卡中选中“UseTransport”同样修改另一个Queue的选项8283修改检测系统的参数修改检测系统的参数打开Processor对象的参数窗口修改SetupTime为ByExpression:10选中Operators选项卡中的UseOperator(s)forSetup同样修改其它两个Processor对象8384保存,重置,运行保存,重置,运行8485实例实例4:NetworkNode的应用的应用将例3中的Sink改成3个货架,3种产品检测完毕后分别放入

30、对应的三个货架中叉车只能够沿着规定路线行驶8586修改例修改例3仿真模型仿真模型删除Sink对象,添加三个Rack对象将第二个Queue对象与三个Rack对象分别用“a”连接8687修改缓存区与货架参数修改缓存区与货架参数修改第二个Queue对象的SendToPort参数为ByExpression默认值即可87修改货架高度为5层,点击“ApplyBasicSettings”和“OK”确定88保存,重置,运行保存,重置,运行观察仿真运行时叉车的行驶路线8889添加添加NetworkNode对象对象在模型视图中添加NetworkNode对象“a”连接NetworkNode到相应的存取位置(蓝色细线

31、)8990创建路网创建路网“a”连接相应的NetworkNode对象形成路网“a”连接叉车到路网中(红色细线)9091路网修改方法路网修改方法右键调出TravelNetworks窗口,选择Curve再连接,托拽路网上的小黑点(SplinePoint),可以修改路径的弯曲形状按住“x”键单击小黑点(SplinePoint)可以在路段上添加另一个另外一个小黑点(SplinePoint)9192路网修改方法路网修改方法右键后选择Curve托拽路网上的按住“q”键从一个NetworkNode拖到另一个NetworkNode可取消托拽方向的连接,形成单向路径(取消路径需要按住取消双方向的连接)9293模

32、型路网修改模型路网修改设置2条单向路径9394保存,重置,运行保存,重置,运行9495实例实例5:连续系统应用:连续系统应用首先通过Operator将2个不同类型的FlowItem分别转换为2种流体然后分别传入2个储罐Tank根据比例进行混合加工成一种新流体,然后再转换为固体传送至Sink里。9596模型描述模型描述FlowItem到达时间:按照0到10的指数分布ItemToFluid最大容量:20加仑ItemToFluid转换率:1个单位的FlowItem转换为10加仑ItemToFluid传送速率:每秒2加仑Pipe最大容量:20加仑(进Tank);其他为10加仑Tank:1加仑为低标位,

33、45加仑为高标位FluidToItem容量:10加仑FluidToItem转换率:10加仑转换1个单位FlowItemFluidToItem传送速率:每秒1加仑9697模型描述(续)模型描述(续)混合器MixerSteps步骤Step1:接收入口1的Fluids,无延迟时间Step2:接收入口2的Fluids,延迟10秒钟混合器MixerRecipe策略:入口1:接收10加仑,执行Step1入口2:接收20加仑,执行Step29798步骤步骤1:构建模型布局:构建模型布局将仿真所需要的对象模型从对象库中拖拽到仿真视图窗口中的适当位置所需对象如下:2个Sources1个Operator2个Flu

34、idToItems2个FluidPipes2个FluidTanks2个moreFluidPipes1个FluidMixer1个FluidProcessor1个FluidToItem1个Conveyor1个Sink9899步骤步骤1:构建模型布局(续):构建模型布局(续)99100步骤步骤2:定义对象流程:定义对象流程利用“A”键分别做如下图连接100101步骤步骤3. 编辑对象参数编辑对象参数定义Source1,Source2设置ItemToFluid参数设置Tank参数设置FluidMixer参数设置FluidToItem参数设置所有Pipe参数FluidProcessor参数默认不变101

35、102定义定义Source参数参数定义source流出间隔时间,以及分别设置ItemType为:1,2102103设置设置ItemToFluid参数参数MaximumContent设为20FluidperDiscreteUnit设为10MaximumObjectRate以及MaximumPortRate设为2103104设置设置Tank参数参数设置LowMark:10;HighMark:45设置PassingLowMark以及PassingHighMark触发器104105设置设置FluidMixer参数参数根据模型描述分别设置FluidMixer的MixerSteps及MixerRecipe

36、105106设置设置FluidToItem参数参数同ItemToFluid类似,设置如下MaximumContent设为20FluidperDiscreteUnit设为10MaximumObjectRate以及MaximumPortRate设为2106107设置设置Pipe参数参数FlowMode设为:FlowEvenlyMaximumContent设为:20MaximumFlowRate设为:2为了显示2种不同流的效果,将前面2个Pipe的颜色分别设为红色,蓝色。在每个pipe的属性窗口即可以改变。107108步骤步骤4:保存,重置,运行:保存,重置,运行108109美化与演示美化与演示Vi

37、ew settingAVI 制作制作图片抓取图片抓取110培训内容培训内容Flexsim软件的安装步骤Flexsim建模的基本概念Flexsim软件的使用步骤Flexsim实例训练Flexsim软件的开发应用Code树结构视图ToolsMenu110111一般规则一般规则区分大小写(A不等同于a)没有限制特定的格式(以“易读的”代码为目标,可以自由使用空格、制表符和回车换行)文本字符串由引号括起,mytext函数调用后面用圆括号,逗号分隔函数的参数,moveobject(item,container)函数总是以分号结束112一般规则一般规则根据需要可以在数学和逻辑表达式中自由地使用圆括号,(x

38、+10)*y大括号用于定义一段逻辑表达双斜线用于一行中其后的部分,/mycomment多行注释以/*开始,*/结束名字定义中不能含有空格或特殊字符,下划线除外名字中可以含有数字,但是不能以数字开头113CodeFlexsim主要两种编码形式:Flexscript、C+。关系:Flexscript具有C+的结构,C+的语法,但又相对独立于C+。在Flexsim自带的Command集中C+和Flexscript可以一样使用。区别:Flexscript更加便捷,调试运行无需编译,在安装Flexsim时不对VisualC+.Net做要求;C+调试运行必须首先进行编译,并且需要安装VisualC+.Ne

39、t。但其能力包含Flexscript但又超过它功能更强大。113114Code在Flexsim里面,虽然可以使用所有C+功能,但是作为一个Flexsim的建模者仅仅需要知道很少以部分Command就可以用来创建出复杂的模型。因此,本部分通过对FlexScript的讲解来进行Flexsim编码部分的说明。114115变量类型变量类型115变量名变量名类型说明类型说明int整型变量double浮点变量string字符串变量treenode树节点变量数组变量intarray整型数组变量doublearray浮点数组变量stringarray字符串数组变量treenodearray树节点数组变量116

40、数学运算符及方法数学运算符及方法操作符或方法操作符或方法浮点例子浮点例子整型例子整型例子+1.6+4.2(=5.8)2+3(=5)-5.8-4.2(=1.6)5-2(=3)*1.2*2.4(=2.88)5-2(=3)/6.0/4.0(=1.5)20/7(=2)%(integermode)34%7(=6)sqrt()sqrt(5.3)(=2.3)pow()pow(3.0,2.2)(=11.2) pow(3,2)(=9)round()round(5.6)(=6)frac()frac(5.236)(=0.236)fabs()fabs(-2.3)(=2.3)fmod()(floatingpointmo

41、d)fmod(5.3,2)(=1.3)116117比较运算符及方法比较运算符及方法操作符或方法操作符或方法例子例子(greaterthan)1.71.7(false)(lessthan)-1.7=(greaterthanorequalto)45=45(true)=(lessthanorequalto)455&y45!(logicalNOT)!(x=32|y45)min()min(x,y)max()max(x,y)118119赋值运算符赋值运算符操作符操作符例子例子=x=x+2;+=x+=2;(sameasx=x+2)-=x-=2;(sameasx=x-2)*=x*=2;(sameasx=x*2

42、)/=x/=2;(sameasx=x/2)+x+;(sameasx=x+1)-x-;(sameasx=x-1)119120基本对象指代基本对象指代current:当前对象item:当前涉及的实体model():模型树根节点rank(node,ranknum),rank(queue,2)node(relativepath,startnode),node(/Source1,model()121基本对象统计数据基本对象统计数据inobject(obj,portnum),inobject(current,1)outobject(obj,portnum),outobject(dispatcher,3)c

43、enterobject(obj,portnum),centerobject(processor,2)content(obj),content(current)getinput(obj),getinput(current)getoutput(obj),getoutput(current)122基本对象属性基本对象属性getname(obj)setname(obj,name),setname(current,Machine1getitemtype(item)setitemtype(item,type),setitemtype(item,5)setcolor(obj,red,green,blue),

44、setcolor(item,128,128,128)123对象空间方面的属性对象空间方面的属性位置:xloc(obj),yloc(obj),zloc(obj),setloc(obj,lx,ly,lz)尺寸:xsize(obj),ysize(obj),zsize(obj),setsize(obj,sx,sy,sz)转角:xrot(obj),yrot(obj),zrot(obj),setrot(obj,rx,ry,rz)124基本对象控制函数基本对象控制函数closeinput(obj),openinput(obj)stopinput(obj),resumeinput(obj)closeoutpu

45、t(obj),openoutput(obj)stopoutput(obj),resumeoutput(obj)sendmessage(toobj, fromobj, param1, param2, param3)senddelayedmessage(toobj, delaytime, fromobj, param1, param2, param3)125基本对象控制函数基本对象控制函数stopobject(obj),resumeobject(obj)moveobject(obj, container)closeoutput(current)senddelayedmessage(centerob

46、ject(current,1),10,current,1,getlabelnum(current,2),0)126消息消息消息:一个对象发送到另一个对象的信息当一个对象接收到消息时,它的“OnMessage”(消息)触发器被触发消息的发出是通过函数sendmessage(发出即时消息)和senddelayedmessage(发出延时消息)每条消息可以有三个附加的数值型参数127消息执行机制消息执行机制128案例案例目的学习如何控制产品流和发送延时消息描述工作台在处理完每个产品之后,需要等待50秒钟,才能继续处理后面的产品。使用closeinput和senddelayedmessage函数实现此

47、功能。问题如果此工作台最多可以同时处理两件产品,每次处理完一批(一件或两件)产品之后需要等待,如何实现?129案例案例130提示和输出提示和输出语法pf(num),pf(99.99)pt(str),pt(finished)pr():回车msg(caption,str),msg(Step1completed,ContinuetoStep2?)打印到OutputConsole(输出控制台)视图菜单中打开输出控制台131可用的变量和返回值可用的变量和返回值132可用的变量和返回值可用的变量和返回值133数组变量的声明数组变量的声明intarrayindexes=makearray(5);/makes

48、anarraywith5elementsindexes1=2;/inFlexsim,arraysare1-basedindexes2=3;indexes3=2;indexes4=6;indexes5=10;doublearrayweights=makearray(3);133134fillarray(weights,3.5,6.7,1.4);/fillarrayisaquickwayofsettingthearrayvaluesstringarrayfruits=makearray(2);fruits1=Orange;fruits2=Watermelon;treenodearrayoperat

49、ors=makearray(4);operators1=centerobject(current,1);operators2=centerobject(current,2);operators3=centerobject(current,3);operators4=centerobject(current,4);数组变量的声明数组变量的声明135135if结构的使用说明结构的使用说明if(expression)code blockelsecode blockif(content(item)=2)colorred(item);elsecolorblack(item);136136while结构的

50、使用说明结构的使用说明while(expression)codeblockwhile(content(current)0)destroyobject(last(current);137137For结构的使用说明结构的使用说明for(vardecl;expr;increment)codeblockfor(intindex=1;indexExcel打开通过toolbox按钮打开150151Excel的单表导入的单表导入151152Excel的单表导出的单表导出152153Excel的定制导入的定制导入153154综合应用技巧综合应用技巧Tree树视图的应用VisualTool的视觉效果美化,封装层

51、,以及通过它来进行多文件合并功能。通过BasicTE、BasicFR进行继承构建新的对象功能。利用官方网站在线资源获取更多媒体素材,例子以及软件最新的信息资源等FlyPath、FlyThougth漫游视频制作154155案例案例目的学习使用“拉”式规则,根据实体的Label定义它们的加工路线描述电子部件加工完成后需要接受测试两种类型的部件会进入堆放区,它们的到达是随机的,其中40%是类型为1的,60%是类型为2的。部件到达的间隔时间服从均值为40秒的指数分布两台测试机用于Label值为1的部件,三台测试机用于Label值为2的部件测试时间服从120到150秒的均匀分布问题尝试平衡各个测试机的工

52、作量尝试使用“推”规则实现此模型156案例案例157案例案例目的学习使用for循环描述组合器将8个箱子放在1个托盘上一个发生器提供托盘,另外一个发生器提供箱子组合器发送实体到一条输送机,再由这条输送机发送到另一条输送机在第一条输送机的离开触发器,使用for循环改变托盘上所有箱子的颜色问题尝试使用改变箱子外形158仿真练习仿真练习工工序序17分分工工序序210分分工工序序34分分工工序序43分分工工序序56分分6個個/H现现 状状瓶颈囗瓶颈囗问题:有一条由5个工序组成的生产线,每个工序有一台机械,前面的工序作业未完时,只能在现在的工序等待,每个工序的作业时间如下图所示。如果每个工序能增加一台新机械,怎样进行工程设计才能使其生产能力由原来的6个/小时提高到20个/小时。条件是尽可能利用低价机械(生产能力越高价格越贵)。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号