全球FlexSim系统仿真中文论坛

标题: flexsim入门:上传实训时的小题目和模型(7) [打印本页]

作者: adysunshine    时间: 2012-8-9 08:37
标题: flexsim入门:上传实训时的小题目和模型(7)
1 模型描述
发生器产生四种临时实体,服从整数均匀分布,类型值分别为1、2、3、4,颜色分别为绿色、蓝色、白色、黄色,进入暂存区1;
然后随机进入处理器进行加工,可以使用的处理器有四个,不同类型的临时实体在处理器上的加工时间不同,详情如下表:
表7.1:不同处理器处理不同产品的加工时间
加工时间        处理器1        处理器2        处理器3        处理器4
产品1        4        6        2        5
产品2        5        3        3        5
产品3        2        4        2        2
产品4        4        6        3        6
加工结束后,进入暂存区2存放。
同时,在各个处理器附近用可视化工具显示该处理器的实时加工时间。
2模型布局
[attach]699[/attach]
3[attach]699[/attach]
作者: pymj4    时间: 2012-8-29 13:01
谢谢阿
作者: 耿勇    时间: 2012-9-3 15:33

作者: adysunshine    时间: 2012-9-20 16:43
(1)连接
发生器与暂存区1——“A”连接;
暂存区分别与处理器1、2、3、4——“A”连接;
处理器1、2、3、4分别与暂存区——“A”连接;
处理器1、2、3、4分别与可视化工具1、2、3、4——“S”连接。
(2)参数设定
a:临时实体类型和颜色的设定
双击打开“发生器”的属性窗口
打开“触发器”选项卡
在“创建触发”下添加
——设置临时实体类型:
临时实体item
临时实体类型:duniform(1,4)
——根据临时实体类型值设置颜色
值:getitemtype(item)
Cases:
case 1: colorgreen(item);break;
case 2: colorblue(item);break;
case 3: colorwhite(item);break;
case 4: coloryellow(item);break;
default: colorarray(item, value);break;
单击“确定”关闭窗口

b:临时实体流向的设定
双击打开“暂存区1”属性窗口
打开 “临时实体流”选项卡
在“输出发送至端口”下选择
——随机端口
其余实体流向均选择默认流向,即发送至“第一个可用端口”
单击“确定”关闭窗口

c:处理器加工时间的实现
在Flexsim软件菜单栏>“工具”下拉菜单中添加如下一个全局表:
表名设为:jiagongshijian;
行数、列数都为4。如下图7.1:
[attach]769[/attach]
    图7.1:在全局表中添加加工处理时间
双击打开“处理器1”属性窗口
在“加工时间”下拉菜单中选择“按照全局表查询”,如下图7.2:
[attach]770[/attach]
  图7.2:处理器加工时间的设定(全局表的调用)
“确定”关闭窗口
同理:对处理器2、3、4做同样的设置,区别在于表格列的查询分别为2、3、4。

d:可视化显示的实现
双击打开“可视化工具1”
选择“可视化显示”为文本(text)
文本显示内容为
——显示文本状态
文本:“P1 jiagongshijian:”
实体:centerobject(current,1)
状态:CurrentProcessTime
如下图7.3:
[attach]771[/attach]
图7.3:可视化工具显示加工时间的设置
同理:对可视化工具2、3、4做同样的设置
“确定”——“重置”——“保存”
作者: ceshi20070701    时间: 2012-10-2 19:41
其他几个可视化工具怎么设置?
作者: adysunshine    时间: 2012-10-3 08:59
5# ceshi20070701
同样的道理 只是文本显示不一样
作者: zt130025    时间: 2012-10-24 16:20
不错
作者: woaixiaoguai    时间: 2012-11-6 12:51
给力
作者: zorsite    时间: 2012-12-6 21:58
这个题目难度不大,考察的是全局表和可视化工具的应用,在flexsim5.0中做起来还是比较简单的。
在flexsim6.0中没有“显示文本状态”,可以选择“显示实体统计”,原理是一样的。

进阶思考:
如何让可视化工具显示当前实体类型和处理器处理时间?
提示:可参考小题目和模型(2)。
下面给出一段不成熟的代码,抛砖引玉。
  1. /**Custom Code*/
  2. treenode current = ownerobject(c);
  3. treenode textnode = parnode(1);
  4. treenode involved = centerobject(current, 1);

  5. int CurrentProcessTime;
  6. int stat = CurrentProcessTime;
  7. string statstr = "";
  8. if(stat == CurrentProcessTime)
  9. {
  10.         if(isclasstype(involved, CLASSTYPE_PROCESSOR))
  11.         {
  12.                 if(content(involved) > 0)
  13.                 {
  14.                         treenode item = first(involved);
  15.                         if(stat == CurrentProcessTime)
  16.                         {
  17.                                 if(getstatenum(involved) == STATE_PROCESSING || getitemstate(item) != FRSTATE_INQUEUE)
  18.                                         statstr = numtostring(getitemvar(item, ITEMVAR_PROCESSTIME), 0, 2);
  19.                                 else statstr = "Not Set";
  20.                         }
  21.                         else statstr = numtostring(getitemvar(item, ITEMVAR_SETUPTIME), 0, 2);
  22.                 }
  23.                 else statstr = "No Item";
  24.         }
  25.         else statstr = "Error, non-processor object";
  26. }

  27. string labelname = "leixing";

  28. setnodestr(textnode, concat("chanpinleixing:", numtostring(getlabelnum(involved, labelname), 0, 1), "jiagongshijian:", statstr));
复制代码
这段代码有一个问题:即使处理器上临时实体已经离开,但临时实体类型仍然显示。
作者: yangkaichong    时间: 2013-1-13 21:29
谢谢楼主的分享!
作者: hongtianwei    时间: 2013-1-28 08:50
继续学习,加油
作者: adysunshine    时间: 2013-1-28 10:56
11# hongtianwei

呵呵 加油
作者: adysunshine    时间: 2013-1-28 10:56
11# hongtianwei

呵呵 加油
作者: hdliuhaobo    时间: 2013-2-26 17:03
谢谢楼主。。
作者: kaituoze    时间: 2013-2-26 20:08
楼主辛苦!




欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/) Powered by Discuz! X3.3