280 likes | 1.04k Views
AutoMod 培训教程. 仿真软件网 www.vichetor.com. 仿真软件网 www.vichetor.com. 第一讲 AutoMod 基本操作. AutoMod操作 启动 AutoMod AutoMod 的文件结构 导入模型 编译模型 运行窗口控制:鼠标和 View Control 运行 AutoMod 模型 模型中的实体 模型与系统( Models & Systems ) 进程( Process )的概念 实体( Loads ) 和 实体类型( Load Types ) 域( Territories )的概念
E N D
AutoMod培训教程 仿真软件网 www.vichetor.com 仿真软件网 www.vichetor.com
仿真软件网www.vichetor.com 第一讲 AutoMod基本操作 • AutoMod操作 • 启动 AutoMod • AutoMod的文件结构 • 导入模型 • 编译模型 • 运行窗口控制:鼠标和 View Control • 运行 AutoMod模型 • 模型中的实体 • 模型与系统(Models & Systems) • 进程(Process)的概念 • 实体(Loads) 和 实体类型(Load Types) • 域( Territories )的概念 • 使用BEdit编写逻辑定义文件 • 语法Syntax • 运行控制 • 作业 • 本讲完成后,你将有能力解决如下问题 • 平均间隔5分钟(按照指数分布exponentially distributed ),有1辆卡车到达; • 卡车将等待7-13分钟(按照distributed uniformly分布); • 等待结束后,卡车离开系统 仿真软件网 www.vichetor.com
仿真软件网www.vichetor.com 文件结构 • 每个模型都有对应的目录存储:\modelname\ • 注意:文件命名不能有空格. • modelname.arc目录: • ASCII 文件; • “Export”的时候生成; • systemname.asy:模型的系统描述文件 • model.amo:模型文件列表 • 保存拷贝模型只要 arc目录 仿真软件网 www.vichetor.com
仿真软件网www.vichetor.com 导入模型Import model • 跟我做: “Open”模型 菜单:ModelOpen; AutoMod安装目录\demos\gswa\examp02-1\ • 正确结果: • 显示loading信息 • importing or reading the different systems • creating entities and paths • 显示模型窗口编辑窗口 仿真软件网 www.vichetor.com
仿真软件网www.vichetor.com 编译模型Building a model运行模型Run Model 跟我做: “Build”模型 菜单:Model Build / Run Model; 注意:build和Run的区别是: 运行(Run)之前必须先编译(Build),所以如果没有编译就运行的话,系统会提示你将先编译再运行模型的. 正确结果: 显示编译和链结信息 如果选择运行(Run),将会打开模型运行窗口 仿真软件网 www.vichetor.com
仿真软件网www.vichetor.com AutoMod的运行窗口 • 正确编译后的运行窗口如下: • 注意:消息(Message )和状态(Status)窗口 仿真软件网 www.vichetor.com
仿真软件网www.vichetor.com 运行窗口的控制 • 鼠标: • 左键:主键,可以点选、拖选 • 右键:辅助功能 • View Control • 在左下的快捷工具栏上 • 跟我做:滚动、视图、选项的作用 仿真软件网 www.vichetor.com
仿真软件网www.vichetor.com View Control的快捷键 • 快捷键 • s /<Shift>S:放大缩小 • x / <Shift>X:围绕 x-轴 旋转 • y / <Shift>Y:围绕 y-轴旋转 • z / <Shift>Z:围绕 z-轴旋转 • w:turns solids 开关 • v:顶视图 top view • <control/shift>u:前视图 previous view • h:帮助help • 其他快捷键: • p:开始运行模型,相当于Continue • d/<shift>d:运行速度的加快/减慢 仿真软件网 www.vichetor.com
仿真软件网www.vichetor.com AutoMod模型的运行 • 模型运行: • 方法1:运行窗口, “Control” 菜单->“Continue” • 方法2:快捷键,p • 跟我做:按照上面的方法运行模型 • 跟我做:用view control窗口和快捷键来观察 • 注意.消息(Message )和状态(Status)窗口 仿真软件网 www.vichetor.com
仿真软件网www.vichetor.com Automod的模型组成 • 1个Automod模型(model)将包括如下系统(system): • 1个 process system • 模型的逻辑和核心 • 0~n个运动系统(movement systems) • Conveyor systems • Vehicle systems • Pathmover • Power & Free • AS/RS • Bridge Crane • Kinematics • 0~n个静态系统( static systems) • 如静态的地面、厂房等 仿真软件网 www.vichetor.com
仿真软件网www.vichetor.com Process的概念 • 每个模型有且只有1个Process系统 • 进程系统定义了货物在模型中的执行逻辑 • 每个Process系统会有很多Processes • 进程是 逻辑子系统,定义了货物(load)的一系列活动 • 注意.可以形象理解 Processes是 Process系统的逻辑子系统 • Processes的命名应该是唯一的,所以建议使用“P”作为首字母命名,如: P_start,P_inspection,P_paint • 模型中的每个进程都有arriving procedure,此程序要在source file中定义 仿真软件网 www.vichetor.com
仿真软件网www.vichetor.com 实体(Loads)的概念 • Loads 是模型中的活动单位; • AutoMod 是靠实体驱动的,即是“实体”来完成各个进程的逻辑的; • 实体所占据的物理上的空间被称为“域territories” • Loads在模型中将会有如下行为: • 从系统第一个进程产生并进入进程; • 在进程中完成各种操作 • 在逻辑上会从一个进程转到下一个进程 • 离开系统,即该实体消失(die) • 注意:如果不产生实体或者没有实体进入,进程将不会被执行。 仿真软件网 www.vichetor.com
仿真软件网www.vichetor.com 实体类型和域的概念 实体类型: • 每个实体都有用户定义的类型(load type) • 图形属性,如形状、大小、颜色 • 被创建的属性,如这种load是在Pstar这个进程中每隔5分钟被创造1个 • 注意.Load的名称最好用“L”开头 域(territory) • 实体在某个时刻独占的物理空间: • 队列(Queues) • 运输车辆(Vehicles) • 辊道(Conveyor sections) 仿真软件网 www.vichetor.com
仿真软件网www.vichetor.com 新建AutoMod模型 • 跟我做: • 步骤1:启动Automod V12 • 步骤2:菜单,ModelNew,选择模型保存目录,键入要新建的模型名字(如Model1),保存; • 正确结果: • 进入模型编辑窗口; • 在模型保存目录下出现modelname的文件夹 • 注意. Save和Export模型的区别 • Export 导出:会产生或更新modelname.arc的目录 • Save 保存 :会产生或更新modelname.dir的目录 • 跟我做: Save和Export模型 • 跟我做:菜单,ModelClose,关闭模型 • 注意.一定要随时保存和导出模型 仿真软件网 www.vichetor.com
仿真软件网www.vichetor.com 新建process • 新建process • 左键点击process • New • 输入process的名称 • 完成 仿真软件网 www.vichetor.com
仿真软件网www.vichetor.com 建立load type • 新建load type • 点击load • New • 输入名称 • 编辑图形属性:颜色、大小等 • 编辑被创建属性 仿真软件网 www.vichetor.com
仿真软件网www.vichetor.com 新建你的第一个模型中的系统System • 跟我做: • 步骤1:打开你刚才新建的模型; • 步骤2:菜单,SystemNew; • 步骤3:键入要新建的系统名称,如Conv1,从(System Type )下拉列表中选择,如:Conveyor • 步骤4:新建确定,保存; • 正确结果: • 进入系统编辑窗口; • 导出模型后,在模型保存目录\modelname.arc\的目录下出现了systemname.asy的文件 • 注意. 不同的system的编辑窗口是不同的 • 跟我做: Save和Export模型 • 跟我做:菜单,Modelclose,关闭模型 • 注意.一定要随时保存和导出模型 仿真软件网 www.vichetor.com
仿真软件网www.vichetor.com 新建你的第一个模型中的逻辑文件 • 跟我做: • 步骤1:模型编辑处于Process系统窗口; • 步骤2:Process工具条,Source FilesNew; • 步骤3:键入要新建的文件名称,如logic.m; • 步骤4:保存; • 步骤5:编辑logic.m文件 • 正确结果: • 进入BEdit编辑窗口; • 注意. 逻辑文件名称一定要写全,要加“.m” BEdit • *.m是系统的逻辑文件,包含系统的运行的逻辑定义; • BEdit是Automod默认的*.m的编辑工具; • BEdit具有跟Windows记事本相似的编辑功能; • 具有语法查错功能; 仿真软件网 www.vichetor.com
仿真软件网www.vichetor.com 逻辑语法Syntax • AutoMod提供给用户的仿真逻辑语言 • 比较直观的自然语言 • 基础语法: • begin/end • arriving • wait • print • send 仿真软件网 www.vichetor.com
仿真软件网www.vichetor.com begin/end and arriving • 跟我做:首先,如何开始和结束一个进程 • 在你的logic.m中键入 begin Pstart arriving procedure /*the logic for the process called Pstart will be here这段是注释文字,不需键入*/ end • 注意.这是每个进程的逻辑语言的套路 • 该进程名称:Pstart • 在begin和end行之间的逻辑将是该进程会执行的行为,可以为空 • begin和end必须成对使用 • 程序注释可以用/*被注释的内容*/ • 注释最好用英文 仿真软件网 www.vichetor.com
仿真软件网www.vichetor.com wait for • 跟我做:在你的logic.m中继续键入 begin Pstart arriving wait for uniform 10,2 min /*等待一个时间段,长度是(2,10)的Uni分布,单位是分钟*/ end • 注意.这里为Pstart进程加了一行执行逻辑,表示 wait for uniform 10,2 min • 等待一个时间段,长度是(2,10)的Uni分布,单位是分钟 • wait for • 作用:等待一个时间段 • 语法: wait for 时间长度 时间单位 • 时间长度可以是常数,也可以是随机分布 • 时间单位的缩写参考帮助文件 仿真软件网 www.vichetor.com
仿真软件网www.vichetor.com print • 跟我做:在你的logic.m中继续键入 begin Pstart arriving wait for uniform 10,2 min print this load “ was just delayed” to message /*会在消息窗口( message window)中显示如下消息:“实体ID名称 was just delayed” */ end • 注意.这里为Pstart进程加了第二行执行逻辑,表示 print this load “ was just delayed” to message • 会在消息窗口( message window)中显示如下消息:“实体ID名称 was just delayed” • print • 作用:向某个输出端口发出一个消息; • 语法: print 消息内容 消息端口 ; • 消息内容可以包含保留字或者程序变量; • 消息端口可以是消息窗口( message window),程序的报告文件,外部文件等 仿真软件网 www.vichetor.com
仿真软件网www.vichetor.com send to • 跟我做:在你的logic.m中继续键入 begin Pstart arriving wait for uniform 10,2 min print this load “ was just delayed” to message send to Pnext /*实体从Pstart进程转移到Pnext进程*/ end • 注意.这里为Pstart进程加了跟下个逻辑承接的语句,表示 send to Pnext • 在逻辑上,实体离开Pstart进程,转移到Pnext进程 send to • 作用:将实体从逻辑上转移到下个进程; • 语法: send to 下个进程名称 ; • 不代表物理意义上的转移 • 一般作为进程的最后一个执行逻辑语句 send to die • 作用:将实体从逻辑上离开系统; • 一般某实体离开系统的最后一个执行逻辑语句 仿真软件网 www.vichetor.com
仿真软件网www.vichetor.com 随机分布 Statistical Distributions • Automod提供了现成的函数作为随机分布输入 • 常见的分布: • 常数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 • 注意.可以用u, n, t 和 e缩写上述的数学函数,如 wait for u 5,1 min 具体的函数和缩写请参考帮助。 仿真软件网 www.vichetor.com
仿真软件网www.vichetor.com 还记得我们上课前的任务吗? • 作业1: • 平均间隔5分钟(按照指数分布exponentially distributed ),有1辆卡车到达; • 卡车将等待7-13分钟(按照distributed uniformly分布); • 向消息窗口输出等待的信息; • 等待结束后,卡车离开系统。 仿真软件网 www.vichetor.com
仿真软件网www.vichetor.com 完成第一个模型 • 跟我做:建立进程 • 步骤1:模型编辑处于Process系统窗口; • 步骤2:Process工具条,ProcessesNew; • 步骤3:键入要新建的进程名称,如Pstart; • 跟我做:建立Load • 步骤1:模型编辑处于Process系统窗口; • 步骤2:Process工具条,LoadsNew; • 步骤3:键入要新建的Load名称,如Lini; • 步骤4:设置其他属性,如产生属性,起始Pstart,每5分钟产生1个; • 步骤5:保存; • 跟我做:编写logic.m文件,按照刚才的步骤; • 跟我做:编译运行模型 • 正确结果: • 进入模型运行窗口; • 跟我做:运行模型 • 正确结果: • 消息窗口( message window)中显示如下消息:“实体ID名称 was just delayed” 仿真软件网 www.vichetor.com
仿真软件网www.vichetor.com 参考逻辑 begin Parrive arriving print this load "Truck will arrive" to message wait for u 10,3 min print this load "was just delayed" to message send to die end 仿真软件网 www.vichetor.com