
automode-课件.ppt
35页2018/9/28,物流仿真,1,,AutoMod 软件学习,2018/9/28,物流仿真,2,第一讲 AutoMod 基本操作,AutoMod操作 作业模型与系统(Models & Systems) 进程(Process)的概念 实体(Loads) 和 实体类型(Load Types) 域( Territories )的概念 使用BEdit编写逻辑定义文件 语法Syntax 运行控制,2018/9/28,物流仿真,3,1 AutoMod 操作,启动 AutoMod AutoMod的文件结构 导入模型 编译模型 运行窗口控制:鼠标和 View Control 运行 AutoMod模型 模型中的实体,2018/9/28,物流仿真,4,1.1 导入模型Import model,菜单:Model Open; AutoMod安装目录\demos\gswa\examp02-1\ 正确结果:显示loading信息 importing or reading the different systems creating entities and paths 显示模型窗口编辑窗口,2018/9/28,物流仿真,5,对刚才打开的模型,选择运行(Run),将会打开模型运行窗口。
运行窗口如下:,2018/9/28,物流仿真,6,1.2 运行窗口的控制,鼠标: 左键:主键,可以点选、拖选 右键:辅助功能 View Control 在左下的快捷工具栏上,,2018/9/28,物流仿真,7,1.3 View Control 的快捷键,s /S: 放大缩小 x / X:围绕 x-轴 旋转 y / Y:围绕 y-轴旋转 z / Z :围绕 z-轴旋转 w :turns solids 开关 v :顶视图 top view u :前视图 previous view h:帮助 help p:开始运行模型,相当于Continue d/d:运行速度的加快/减慢,2018/9/28,物流仿真,8,1.4 AutoMod模型的运行,模型运行: 方法1:运行窗口, “Control” 菜单->“Continue” 方法2:快捷键,p,2018/9/28,物流仿真,9,1.5 Automod 的模型组成,1个 process system 模型的逻辑和核心 0~n个运动系统(movement systems) Conveyor systems Vehicle systems Pathmover Power & Free AS/RS Bridge Crane Kinematics 0~n个静态系统(static systems),2018/9/28,物流仿真,10,1.6 Process 的概念,每个模型有且只有1个Process系统 进程系统定义了货物在模型中的执行逻辑 每个Process系统会有很多Processes 进程是 逻辑子系统,定义了货物(load)的一系列活动 注意.可以形象理解 Processes是 Process系统的逻辑子系统 Processes的命名应该是唯一的,所以建议使用“P”作为首字母命名,如: P_start,P_inspection,P_paint 模型中的每个进程都有arriving procedure,此程序要在source file 中定义,2018/9/28,物流仿真,11,1.7 实体(Loads)的概念,Loads 是模型中的活动单位; AutoMod 是靠实体驱动的,即是“实体”来完成各个进程的逻辑的; 实体所占据的物理上的空间被称为“域territories” Loads在模型中将会有如下行为: 从系统第一个进程产生并进入进程; 在进程中完成各种操作 在逻辑上会从一个进程转到下一个进程 离开系统,即该实体消失(die) 注意:如果不产生实体或者没有实体进入,进程将不会被执行。
2018/9/28,物流仿真,12,1.8 实体类型和域的概念,实体类型: 每个实体都有用户定义的类型(load type) 图形属性,如形状、大小、颜色 被创建的属性,如这种load是在Pstar这个进程中每隔5分钟被创造1个 注意.Load的名称最好用“L”开头 域( territory) 实体在某个时刻独占的物理空间: 队列(Queues) 运输车辆(Vehicles) 辊道(Conveyor sections),2018/9/28,物流仿真,13,1.9 新建AutoMod模型,步骤1:启动Automod 步骤2:菜单,ModelNew,选择模型保存目录,键入要新建的模型名字(如Model1),保存;注意. Save和Export模型的区别Export 导出 :会产生或更新modelname.arc的目录Save 保存 :会产生或更新modelname.dir的目录,2018/9/28,物流仿真,14,1.10 新建process,左键点击process New 输入process的名称 完成,,,,2018/9/28,物流仿真,15,1.11 建立load type,点击load New 输入名称 编辑图形属性:颜色、大小等 编辑被创建属性,,,,,2018/9/28,物流仿真,16,单击Edit Graphic进入编辑图形属性界面:,,,2018/9/28,物流仿真,17,颜色设置如下:,,2018/9/28,物流仿真,18,,,2018/9/28,物流仿真,19,导入图形(路径:软件存储盘找到软件文件夹——demos——graphics——cell——找到所需模型即可),,2018/9/28,物流仿真,20,,2018/9/28,物流仿真,21,,,,,,2018/9/28,物流仿真,22,1.12新建系统System,步骤1:打开你刚才新建的模型; 步骤2:菜单,SystemNew; 步骤3:键入要新建的系统名称,如Conv1,从(System Type )下拉列表中选择,如:Conveyor 步骤4:新建确定,保存;,2018/9/28,物流仿真,23,1.13 新建模型中的逻辑文件,步骤1:模型编辑处于Process系统窗口; 步骤2:Process工具条,Source FilesNew; 步骤3:键入要新建的文件名称,如logic.m; 步骤4:保存; 步骤5:编辑logic.m文件,,,,,2018/9/28,物流仿真,24,1.14 逻辑语法Syntax,AutoMod提供给用户的仿真逻辑语言 比较直观的自然语言 基础语法: begin/end arriving wait print send,2018/9/28,物流仿真,25,begin/end and arriving,begin Pstart arriving procedure /*the logic for the process called Pstart will be here这段是注释文字,不需键入*/ End 这是每个进程的逻辑语言的套路,2018/9/28,物流仿真,26,wait for,begin Pstart arriving wait for uniform 10,2 min /*等待一个时间段,长度是(2,10)的Uni分布,单位是分钟*/ end 作用:等待一个时间段 语法: wait for 时间长度 时间单位,2018/9/28,物流仿真,27,print,begin Pstart arrivingwait for uniform 10,2 minprint this load “ was just delayed” to message /*会在消息窗口( message window)中显示如下消息:“实体ID名称 was just delayed” */ end 作用:向某个输出端口发出一个消息; 语法: print 消息内容 消息端口 ; 消息内容可以包含保留字或者程序变量;,2018/9/28,物流仿真,28,send to,begin Pstart arriving wait for uniform 10,2 min print this load “ was just delayed” to message send to Pnext /*实体从Pstart进程转移到Pnext进程*/ end 作用:将实体从逻辑上转移到下个进程; 语法: send to 下个进程名称 ; 不代表物理意义上的转移 一般作为进程的最后一个执行逻辑语句,2018/9/28,物流仿真,29,1.15 随机分布 Statistical Distributions,常见的分布: 常数Constant wait for 5 min 均匀分布Uniform wait for uniform 5,1 min 正态分布Normal wait for normal 5,1 min 三角分布Triangular wait for triangular 4,5,6 min 指数分布Exponential wait for exponential 5 min,2018/9/28,物流仿真,30,作业1,平均间隔5分钟(按照指数分布exponentially distributed ),有1辆卡车到达; 卡车将等待7-13分钟(按照distributed uniformly分布); 向消息窗口输出等待的信息; 等待结束后,卡车离开系统。
(建议加上两个Queues,便于看效果),2018/9/28,物流仿真,31,建立进程 步骤1:模型编辑处于Process系统窗口; 步骤2:Process工具条,ProcessesNew; 步骤3:键入要新建的进程名称,如Pstart;,,,,2018/9/28,物流仿真,32,建立Load 步骤1:模型编辑处于Process系统窗口; 步骤2:Process工具条,LoadsNew; 步骤3:键入要新建的Load名称,如L_start; 步骤4:设置其他属性,如产生属性,起始Pstart,每5分钟产生1个; 步骤5:保存;,2018/9/28,物流仿真,33,,,,,,,,2018/9/28,物流仿真,34,,,,,,,2018/9/28,物流仿真,35,编写logic.m文件,按照刚才的步骤; 编译运行模型 begin Pstart arrivingprint this load “Truck will arrive“ to messagewait for u 10,3 minprint this load “was just delayed“ to messagesend to die end,。












