在之前文章《“(FlexSim 学习笔记)案例1:不合格产品二次优先加工,两次不合格作废》中简单描述了下 flexsim 合成器的合成打包工作原理,并在该文“3.3、合成器合成打包选择“这节内容中,通过直接修改“更新合成器组件列表”事件的代码,以适应实际要求。

言犹未尽。直接修改“更新合成器组件列表”事件的总代码量虽然只有几行,但涉及到树节点操作,不太方便理解。故本文尝试再仔细阐述flexsim的合成器工作机制,并采取不用代码的方式来实现其工作过程。

一、合成器打包工作机制

首先我们来看合成器的组件列表。合成器始终会先接收来自输入端口1的货品(并把它当作容器),然后再按下图所示的组件列表,分别接收其他输入端口的货物进行组合打包。例如下图表示合成器从输入端口1接收到容器后,再从输入端口2/3/4分别接收2、3、2个货物,然后进行打包。也即打包完成后,该容器中共有7个货物。

上图的数量设置多少无所谓,因为实际案例中往往需要按订单,设法动态更新此表的数量。

如何更新呢?方法就是在合成器的On Entry触发器中,设置动态更新合成器组件表。这样的话,只要合成器从输入端口1收到某个容器,就会立刻执行更新合成器的组件列表。

上图涉及的order表是全局表,需要预先创建,例如下图(3行5列)。是不是与3行1列的合成器组件表非常相像,除了列多了点?

order全局表有5列,要用它去更新合成器组件列表,那么究竟该取那列值呢?这就涉及利用某个标签值了。例如下图的流程,某个标签值 item.orderID=3(左图),就是取全局表order(中图)的第3列值的意思,再用此列值去更新合成器组件表(右图)的相应数量。

        

那么标签orderID 又从哪来呢?可以考虑给容器定义orderID标签。这样的话,按合成器的工作机制,合成器会先从输入端口1接收容器,紧接着触发On Entry 事件,因为我们在该事件中设置了更新合成器组件,那么flexsim就可利用此容器的orderID标签值,去执行更新合成器组件列表的一系列操作。

二、案例

接下来我们用一个案例来具体实现合成器的打包工作机制。

如上图,有4个发生器,第1个是托盘发生器产生托盘容器(与合成器A连接时,应保证是合成器的第一个输入端口),其他是货物发生器,分别产生红/绿/蓝货物。托盘离开发生器时,将生成订单信息。合成器接收到托盘后,按订单要求进行打包(即合成器最终在此托盘中分别放置红/绿/蓝货物若干数量,进行打包)。

三、解决方案

1、创建order订单全局表,3行1列

2、托盘

在工具箱临时实体栏中选择托盘,新增4个数值标签,名称及值分别为 r=0,g=0,b=0,orderID=1

r 表示订单中的红色货物数量,g 表示绿色货物数量,b 表示蓝色货物数量,orderID 对应订单全局表 order 的第几列(列索引) ,因为order表只有1列,故orderID初始值设置为1,表示取订单表order的第1列。

3、托盘发生器

3.1、托盘发生器的临时实体栏选托盘,表示该发生器产生托盘。

3.2、在托盘发生器的On Creation触发器分别设置托盘的 r,g,b 标签值为1~5的随机数。

    

这样的话,每产生1个托盘,托盘的 r/g/b 分别就有随机值,比如 r=3,g=5,b=2,表示此托盘要对应的订单为红色货物3个,绿色货物5个,蓝色货物2个。

3.3、在托盘发生器的On Exit 触发器中,设置”写入全局表“3次,分别将托盘的 r,g,b 数量写入订单全局表order的第1行第1列,第2行第1列,第3行第1列。

    

4、红色货物发生器/绿色货物发生器/蓝色货物发生器

在红色货物发送器的On Creation 触发器中,设置Type标签和颜色为1,产生类型为1的红色货物。

其他颜色货物发生器的设置类推。

5、合成器

在合成器的On Entry触发器中,设置”更新合成器组件列表“,表为order,标签为orderID,表示通过托盘的orderID值,来取order表的对应列,去更新组件表。这里托盘的orderID值已经有初始值=1,所以更新取的是order表的第1列。

6、全部完成。

四、最终效果

五、小结

1、定义一个订单全局表;

2、对托盘容器,定义和订单数量相关的标签,以及和订单列索引相关的标签;

3、在某个合适的触发器中,利用托盘标签值去修改订单全局表;

4、在合成器的进入触发器中,用订单全局表去更新合成器组件表。

(FlexSim 学习笔记)合成器打包的工作机制分析和实现相关推荐

  1. Git 学习笔记:5 分布式工作流程

    Git 学习笔记:5 分布式工作流程 分布式工作流程 集中式工作流 集成管理员工作流 司令官与副官工作流 工作流程总结 向一个项目贡献 提交准则 私有小型团队 John's Machine 私有管理团 ...

  2. Redis运维和开发学习笔记(6) 监控Redis工作状态-info命令

    Redis运维和开发学习笔记(6) 监控Redis工作状态-info命令 文章目录 Redis运维和开发学习笔记(6) 监控Redis工作状态-info命令 info server info clie ...

  3. Apache Nutch 1.3 学习笔记十一(页面评分机制 LinkRank 介绍)

    下面是Google翻译的http://wiki.apache.org/nutch/NewScoring内容,是关于Nutch 新的链接分数算法的说明,有点类似于Google的PageRank,这里有其 ...

  4. Apache Nutch 1.3 学习笔记十一(页面评分机制 OPIC)

    1. Nutch 1.3 的页面评分机制 Nutch1.3目前默认还是使用OPIC作为其网页分数算法,但其之后,已经引入了PageRank-like算法,以弥补OPIC算法的不足,目前OPIC算法还是 ...

  5. JVM学习笔记-04-java历史-沙箱安全机制

    JVM学习笔记-04-java历史-沙箱安全机制 文章目录 JVM学习笔记-04-java历史-沙箱安全机制 视频链接-最新JVM教程IDEA版[Java面试速补篇]-04-java历史-沙箱安全机制 ...

  6. 模电学习笔记 (一) 晶体三极管工作原理

    大家好,我是一名从事硬件电路设计的小工程师一名.我决心从今天开始撰写自己的博客,一方面是为了对知识进行总结记录,加深理解与认识,另一方面希望大家可以多多批评指正,同时结识更多志同道合的朋友,一起学习进 ...

  7. VBA学习笔记2:将工作簿的表格拆分为工作簿

    VBA学习笔记2:将工作簿的表格拆分为工作簿 1.判断原有工作簿的sheet是否需要拆分: 2.如需拆分则创建新表: 3.将原sheet复制到新建的工作簿中. 效果如下: 代码执行前,有1个工作簿,需 ...

  8. Windows事件等待学习笔记(三)—— WaitForSingleObject函数分析

    Windows事件等待学习笔记(三)-- WaitForSingleObject函数分析 要点回顾 WaitForSingleObject NtWaitForSingleObject KeWaitFo ...

  9. USB学习笔记(3)HID应用分析

    USB学习笔记(3)HID应用分析 本文根据前面对USB系统的了解,和USB协议的学习,列出鼠标,键盘,多媒体控制器,自定义HID设备等HID设备的各种描述符. 前景提要:每个设备有且仅有一个设备描述 ...

最新文章

  1. 2020年余丙森概率统计强化笔记-第三章 二维随机变量及其分布- 第四章 数字特征
  2. 【干货】APP产品处理加载机制和刷新机制的交互方法解析
  3. n9009 Android5.0内核,三星N9009(Galaxy Note 3 电信版 Android 5.0)刷Recovery教程
  4. Android常用的简单代码
  5. python table_python学习之HTML-table标签
  6. STC15单片机-数码管显示PCB板温度(TM1620驱动芯片使用介绍)
  7. llama是什么动物_羊驼(Alpaca)与骆马(Llama)
  8. 计算机芯片级维修包括哪些,计算机芯片级维修1
  9. unicloud进阶uni-id入门(一)---uni-id能做什么?
  10. CAN bus的移植
  11. base64编码图片替换url图片
  12. 【opencv-python不规则多边形 ROI提取】
  13. 鸡与 兔有几条腿的问题
  14. (论文加源码)基于DEAP的脑电情绪识别(CNN,RNN和两种不同的注意力机制)
  15. linux 安装 T400 无线网卡驱动
  16. How to recognise a good programmer
  17. Node.js:pretty-ms转换毫秒为人类可读的字符串
  18. 案例分析-电影评分分析
  19. 楚汉之刘邦灭秦java下载_刘邦灭秦之战
  20. vaspkit使用_vaspkit的使用

热门文章

  1. 《吃豆子过桥问题》——经典智力题、面试题
  2. 怎样为用户写“招标书”
  3. 串口DCB结构详细说明
  4. 2022年全国职业院校技能大赛(中职组)网络安全竞赛试题(1)
  5. 【射影几何03】中心射影和透视射影
  6. 简介WAP最新版本:WAP 2.0(转)
  7. 色阶的中间调调节原理——兼论色阶和曲线的联系
  8. 算法笔记--简单实现栈的先入后出(FILO,First In Last Out)功能
  9. 手机软件分类(自己分)
  10. 用手机软件给ESP8266一键配网