Flexsim中级讲义版.ppt
《Flexsim中级讲义版.ppt》由会员分享,可在线阅读,更多相关《Flexsim中级讲义版.ppt(92页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2目录目录 全局表 任务序列 自制部件 概率分布与Experfit Experiment Flexsim与外部数据库的连接方法 定制简单3D图形 Flexsim仿真优化模块OptQuest3全局表全局表 全局表(Global Table) 用于储存模型输入输出数据等 可以是数值类型或字符串类型34 4全局表的添加全局表的添加 在Global Tables菜单中单击“Add” 重命名表格名 设置行数与列数 点击“Advanced”设置各行或列的数据类型5全局表的修改全局表的修改 直接编辑表格附初值 借助事件的下拉列表对全局表进行修改 相关函数 gettablenum(tablename, row
2、, col); settablenum(tablename, row, col, value); gettablestr(tablename, row, col); settablestr(tablename, row, col, “string”);56Global Variables全局变量全局变量 全局变量( Global Variables )菜单中具有两个标签:Global Variables和Global Macros Global Variables可以定义如下八种类型全局变量: integer, double, treenode, string, integer array,
3、double array, treenode array, and string array Global Macros允许用户进行宏定义及仿真逻辑的程序控制语句67Excel 将Excel文件数据导入Flexsim全局表,或者将Flexsim全局表导出为Excel文件 打开方式 通过菜单Tools- Excel打开 通过toolbox按钮打开78Excel的单表导入的单表导入89Excel的复表导入的复表导入910Excel的单表导出的单表导出1011Excel的定制导入的定制导入1112路径模型路径模型 目的 使用全局表定义加工路线的简单案例 学习使用标签跟踪实体的加工步骤 描述 3种不同
4、的产品需要进入一个由5台处理器组成的加工单元 产品按照下述路线被处理 类型为1的产品需要经过工作台1、3和2 类型为2的产品需要经过工作台1、2和4 类型为3的产品需要经过工作台2、4、3和5 使用全局表,以保证产品按照正确的顺序发送到相应的工作台进行加工 所有没有完全加工完成的产品都放置在同一个堆放区中 问题 尝试用颜色标示产品所处的加工步骤13模型布局模型布局14Flexsim与外部数据库的连接方法与外部数据库的连接方法 15 与Excel的连接DDE (Dynamic Data Exchange) 与 Databases的连接ODBC (Open DataBase Connectivit
5、y)16 DDE是一个将数据传递到Excel或接受Excel的数据的系统。 它是与已经打开的Excel连接。 Flexsim能在同一时间读或写1个workbook 。 Flexsim有30 语句是关于Excel连接的。与Excel的连接17 excellaunch(str launchdir) 打开Microsoft Excel 的语句,以便Flexsim能与Excel连接。 例:excellaunch( C:/Program Files/Microsoft Office/Office10); excelquit() 关闭Microsoft Excel 的语句,与excellaunch(str
6、 launchdir) 相对。Flexsim关于关于Excel连接的主要语句连接的主要语句18excelopen(str workbook) 打开指定的Excel文件的语句。 例: excelopen(mydata.xls); excelclose(num save 1/0 ) 关闭当前的Excel文件。 例:excelclose(true);excelsetsheet(str sheetname ) 指定当前Sheet。 例:excelsetsheet(Sheet1); 19 excelreadnum(num row, num column) 例:excelreadnum(5,1); exc
7、elreadstr(num row, num column) 例:excelreadnum(5,1) ; excelwritenum(num row, num column , num value) 例:excelwritenum(5,1,99.87) ; excelwritestr(num row, num column , num value) 例:excelwritenum(5,1,99.87) ;20 excelimporttable(str/node table, num startrow, num startcol, num numrows, num numcols) ; 例:将E
8、xcel的表数据输入到Flexsim的内制表格中 。 例:excelimporttable(MyTable,1,1,5,3); excelexporttable(str/node table, num startrow, num startcol, num numrows, num numcols) ; 例:将Flexsim的内制表格中 的数据输出到Excel表格中 。21 打开 Excel Launch excellaunch() 打开Excel文件( workbook) excelopen() 指定当前的worksheet excelsetsheet() 读写需要的数据 excelread
9、num(), excelwritenum(), excelreadstr(), excelwritestr() 关闭Excel。 excelclose() and excelquit()Excel连接的连接的Step22建模练习(建模练习(1) 三种不同的产品随机的送到5台设备进行加工. 设备不同、产品不同加工时间不一样。 每台设备的加工时间从GlobalTable中读入。 在模型Reset时,用ExcelImport将Excel Sheet1的加工时间表输入到 GlobalTable 在运行时实时地将设备利用率写入到Excel的 sheet2.Processor 1Processor 2Pr
10、ocessor 3Processor 4Processor 5Item 19138812Item 26109814Item 31011691023与与ODBC的连接的连接 ODBC是与数据库连接的标准方法 Access, Oracle, Excel 和其它数据库都用ODBC. 允许用户使用SQL (Structured Query Language)访问数据。 模型实行时需要作成一个ODBC Alias (或数据源). Flexsim有22条语句 是关于连接数据库的. Flexsim提供两种方式操作数据库。 SQL mode and Table mode.24 dbopen(str datab
11、asename, str command (SQL string or Tablename), num usetable, num showlogin)打开数据库.这里databasename是指Alias Name.例:dbopen(itemdrive,timetable,1); /Table mode. dbopen(warehouse,select * from inventory,0); /SQL mode. dbclose()关闭当前数据库.Flexsims ODBC Commands25 dbgetnumrows() Returns the number of rows (reco
12、rds) in the current table. dbgetnumcols() Returns the number of columns (fields) in the current table. dbgetfieldname(num field) Returns the name of the specified column (field) in the current table. dbgetmode() Returns the current mode that Flexsim is in. 0 = DBMODE_CLOSED 1 = DBMODE_SQL 2 = DBMODE
13、_TABLE26 dbsqlquery(str query) 执行指定的SQL语句(select or update). 例 dbsqlquery(select processtime from timetable where itemtype=1); dbsqlquery(update timetable set processtime=itemtype*2); dbchangetable(str tablename) 切换当前Table为指定的Table。只用于 Table mode.27 dbgettablenum(num row, num col) dbgettablestr(num
14、row, num col)返回指定行和列的值(数字或文字) ,只能是当前的 table mode. dbsettablenum(int row, int col, double val) dbsettablestr(int row, int col, char *val)写入值(数字或文字)给数据库指定行和列 ,只能是当前的 table mode.28 dbimporttable(str tablename, num startrow, num startcol, num numrows, num numcols) 从当前表的指定行和列开始输入一组数据给Flexsim的内制表( GlobalT
15、able),数据的行数、列数及GlobalTable的名字须指定。例:dbimportnode(MyTable4,2,2,3,3); dbexporttable(str tablename, num startrow, num startcol, num numrows, num numcols) 从内制表( GlobalTable)输出一组数据给当前表,必须指定数据库表的写入开始和列以及数据的行数和列数。例:dbexportnode(MyTable4,2,2,3,3); 29连接连接ODBC的一般流程的一般流程 确认是否建立了alias,如没有需建立了alias 。 打开表(Table)或S
16、QL Mode。dbopen() 读或写你所需要的数据。dbgettablenum(num row, num col)dbsettablenum(int row, int col, double val) 关闭数据库dbclose()30建立建立 ODBC Alias 在 Windows控制面板, 双击BDE Administrator,在Object菜单选择ODBC Administrator,如右上图。 点击“添加”按钮. 选择数据库类型,在这里选择“Microsoft Access Driver(*.mdb”),如右下图。31 在数据源名处写入名字 (Flexsim中要求指明的数据库名就
17、是这个名字,(例200907CSN). 点击选择按钮,指定你要连接时数据库,(例Access1.mdb).32建模练习(建模练习(2)生产计划数据如下表。No.ArrivalTimeItemNameItemtypeQuantity1100Product1172200Product22113300Product3334400Product4465500Product554这组数据已计录在数据库(Access1.mdb)的表(Schedule)里。将这组生产计划数据在模型reset时,直接输入给“Resouce”的Schedule节点。有五种产品将按计划生产,设备只有1台。33任务序列任务序列 任
18、务序列(Global Table) 用于TaskExecutor执行任务3334任务序列任务序列34treenode ts = createemptytasksequence(centerobject(current,1),0,0);inserttask(ts,TASKTYPE_TRAVEL,current,NULL);inserttask(ts,TASKTYPE_FRLOAD,item,current,port);inserttask(ts,TASKTYPE_BREAK,NULL,NULL);inserttask(ts,TASKTYPE_TRAVEL,outobject(current,po
19、rt),NULL);inserttask(ts,TASKTYPE_FRUNLOAD,item,outobject(current,port),opipno(current,port);dispatchtasksequence(ts);35案例案例1 目的 学习如何使用任务序列及优先级 描述 零件的到达时间间隔是服从均值为20秒的指数分布。零件到达后由操作员将其运送到一个空闲的工作台上。 操作员需要对零件进行10秒钟的预处理 之后工作台自行处理实体,需要20秒钟时间 加工完成后,实体离开系统 一个操作员负责所有的三个工作台 问题 使操作员在运送完一个实体后,立即对该实体进行预处理 尝试不使用中心
20、端口连接实现此模型36案例案例13637案例案例2 全局任务序列 treenode ts = createglobaltasksequence(tsname, dispatcher, dp1,dp2,dp3,dp4,dp5); dispatchtasksequence(ts); freeoperators(Dispatch,item);38案例案例23839自制部件库自制部件库40 用来创建和配置实体的特殊功能,并将这些实体保存为模板以便在其他模型中的其它部分使用。 每个用户库包含一组实体。 可以保存用户库,以后可以将它们装载到其它项目中。 用户库视窗可同时打开若干个用户库。 视窗顶部的菜单用
21、来创建、清除和编辑用户库。 自制部件库自制部件库41自制部件库工具自制部件库工具 新建用户对象库新建用户对象库 - 此选项用来创建一个新用户库,并将它添加到当前打开的用户库列表中 导入用户对象库导入用户对象库 - 此选项用来装载一个保存过的用户库, 将它添加到当前打开的用户库列表中 另存为另存为. - 此选项用来将当前选定的用户库保存为文件 关闭用户对象库关闭用户对象库 - 此选项用来从用户库列表中移除当前选定的用户库 关闭所有用户对象库关闭所有用户对象库 - 此选项用来关闭全部用户库 重命名用户对象库重命名用户对象库 - 此选项用来重命名当前选定的用户库42添加实体到一个用户库添加实体到一个
22、用户库 若要向用户库添加一个实体,在正投影或透视视图中右击此实体,并选择“添加到用户库”选项。 如果用户库视窗中没有库,那么将创建一个新用户库里,实体将被添加到此新用户库中。 一旦向用户库中添加了实体,就可在用户库视窗中右键单击这些实体来编辑或清除。 43库对象编辑菜单库对象编辑菜单 浏览实体树浏览实体树 - 此选项用来在一个树视窗中浏览实体 浏览用户实体树浏览用户实体树 - 此选项用来在一个树视窗中浏览整个用户库 从用户库中删除实体从用户库中删除实体 - 此选项可以从用户库中移除实体 参数参数 - 此选项可以打开实体的参数视窗 属性属性 - 此选项可以打开实体的属性视窗44模型添加用户库实体
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Flexsim 中级 讲义
限制150内