anylogic - 一个站的两个输送机
问题描述
我有两个同时运行的输送机,然后有分拣机对来自这两个输送机的物品进行分拣,一个接一个,所以如果分拣机正在分拣来自输送机 1 的物品,那么两个输送机都应该停止,对于输送机 2 也是如此。所以基本上,如果分拣机正在分拣任何物品,来自传送带 1 或 2 的传送带都应该在这种情况下停止。在此处输入图像描述
那么我该怎么做呢?
解决方案
使用自定义站(我认为您正在使用),然后使用延迟块来模拟排序。使用 Delay 块的 on-enter 和 on-at-exit 动作来停止和启动传送带(使用它们的stop()
和run()
函数)。
因为使用自定义站需要您“拆分”传入和传出传送带(参见普通站),所以您必须记住它们进入哪个传送带(通过将该信息存储在流经的自定义 Material Item 代理中过程),以便您知道将它们放在哪个出站传送带上。
从视觉的角度来看,您还可以确保代理离开入站传送带并从空间中移除(传送块“离开传送带在出口处”和“从空间中移除”选项),然后让它们出现在,比如说,当自定义站位于延迟块(“代理位置”设置)中时,在自定义站顶部定义的矩形节点。
下面是一个最小的示例模型。
流经流程的代理有一个参数sourceConvey
(类型为Convey
),该参数存储它到达分拣机的传送块。(也可以存储传送带空间标记实例,或者,在这种情况下,因为只有 2 个传送带,只是boolean
说明它是否来自“传送带 1”。)
源块适当地设置代理sourceConvey
,然后出站传送块(convey2
在图片中)根据事物的来源动态分配源和目标传送带:
agent.sourceConvey == convey ? conveyor2 : conveyor3
conveyor2
(顶部出站输送机和conveyor3
底部输送机在哪里。)
(您也可以SelectOutput
为每个可能的路径使用带有两个出站 Convey 块的 a。)
推荐阅读
- powershell - 有没有办法同时打印文件字符串、文件哈希和上次修改日期?
- android - 如何从 HashSet 中获取()特定元素?科特林
- asp.net - 使用 Google Apps 脚本将网页导入 Google 电子表格?
- java - 如何打印按属性排序的对象数组?
- python - 即使我没有使用 urlparse 也没有名为 'urlparse 的模块
- python - 如何在foreachpartition中获取行属性值
- python - 通过 webscraping 字典列表值创建打印值
- javascript - 开/关自动滚动切换到简码wordpress内的猫头鹰轮播
- c - 是什么导致此“存储地址空间不足”错误?
- curl - 如何通过命令行从 gitlab 项目“上传”下载文件