【FlexSim2019】仿真软件入门笔记:基本操作、快捷键、事件驱动、控制与程序

您所在的位置:网站首页 3dmax全选功能键 【FlexSim2019】仿真软件入门笔记:基本操作、快捷键、事件驱动、控制与程序

【FlexSim2019】仿真软件入门笔记:基本操作、快捷键、事件驱动、控制与程序

2023-11-28 12:34| 来源: 网络整理| 查看: 265

参考书目:

使用系统仿真建模与分析——使用Flexsim(第2版).秦天保, 周向阳. 清华大学出版社.

文章目录 基本操作鼠标按住Shift或Ctrl批量可操作鼠标右键单击鼠标右键退出当前模式按住鼠标右键旋转镜头 鼠标滚轮选中物体后鼠标滚轮可调整物体高度 常用快捷键 仿真模型运行原理设计上,面向过程,直接设计以Flow为事件驱动器流动实体流动实体类型与标签控制与编程机制、代码

基本操作 鼠标 按住Shift或Ctrl批量可操作

在这里插入图片描述

标准模式(Standard Mode/鼠标模式)下,按住shift,拖拽鼠标左键批量选中物体(或者说将物体分组)。按住shift,在空白处拖拽鼠标左键,取消选择。 standard mode 鼠标右键 单击鼠标右键退出当前模式

1.鼠标处于连线状态,或选中对象时,按右键或Esc退回到Standard Mode。

按住鼠标右键旋转镜头 鼠标滚轮 选中物体后鼠标滚轮可调整物体高度

在这里插入图片描述 在这里插入图片描述

常用快捷键 键功能Backspace删除对象按住A鼠标A连接模式按住S鼠标S连接模式按住Q鼠标剪断Q连接模式按住W鼠标剪断W连接模式 仿真模型运行原理

在这里插入图片描述

目前只跟着第2章做了案例,对大概的运行原理有了一个推测。

设计上,面向过程,直接设计

将要仿真的对象直接转换为flex的对象,摆放、确认连接关系即可。

A连接是有向的;B连接是无向的。

A连接从端口出,零一对象端口入。每个对象自己的出入端口有编号。

中间端口比如Dispatcher,其更像是Queue的分支(与Queue是S连接),与Operator是A连接(从Dispatcher到Operator)。在Queue的Flow页中选择Use Transport,即可调度Operator。

以Flow为事件驱动器 流动实体

书28页:流动实体(Flowitem)是系统中沿不同路线流动,并在不同地方被加工处理或被服务的对象。Flowitem可以代表产品、零件、托盘、容器、人、电话呼叫、订单等。Flowitem通常由Source对象生成,由Sink对象离开系统。

流动实体类型与标签

每个流动实体都内置属性实体类型(Itemtype),可以代表条形码、产品类型或工件号等。可以用于路线选择等决策逻辑。可以在通过增加Label来定义新属性。

控制与编程机制、代码

当Source创建流动实体时会触发onCreation触发器执行。可通过加号按钮为触发器增加代码模板。

在这里插入图片描述

通过卷轴按钮可以查看代码,这里以定义流动实体类型和颜色为例。

Object current = ownerobject(c); Object item = param(1); int rownumber = param(2); //row number of the schedule/sequence table { // ************* PickOption Start ************* // /***popup:SetTypeAndColor*/ /**Set Item Type and Color*/ Object involved = /** \nFlowitem: *//***tag:involved*//**/item/**/; double newtype = /** \nItem type: *//***tag:type*//**/duniform(1,3,getstream(current))/**/; involved.Type = newtype; involved.color = Color.byNumber(newtype); } // ******* PickOption End ******* // { // ************* PickOption Start ************* //

旧版本中,各种对象都是treenode类型的,现在变为了Object。

这其中,代码表达的是:

current代表对象本身;item代表刚刚创建的流动实体; Object involved = item; // 将item的引用赋值给involved变量 double newtype = duniform(1,3,getstream(current)); // 在分布中产生一个数赋给newtype involved.Type = newtype; // 将item的itemtype设为newtype involved.color = Color.byNumber(newtype); // 设置item的color

可见flexscript也是采用面向对象的思想的。至于Object有多少子类、属性,不必过于深究,还是以GUI操作为主。

学了一晚,让我想起小时候玩的魔兽争霸地图编辑器:world edit。如果flexsim再有什么心得的话,那就下篇再见。

后记(2019年12月5日):距离写这篇文章已经过去快3个月了。现在回头看,“以Flow为事件驱动器”的理解是不对的。对于flexsim的学习,读书不如读软件中自带的英文版User Manual。去读User Manual吧,以后学编程也要注意,有精力,则去读官方文档吧,去读底层吧,去读源码吧。现在知道了,所谓A、S连接也并非我想的那样,过家家似的连接在一起。A、S连接只不过是Port连接的一种表现,而连接有三种:Port、List与Conveyors。

github:https://github.com/PiperLiu微信公众号:Piper蛋窝


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3