关于几种数据队列的解析和场景比对

三种数据队列的传输方式场景

①带节拍的整体前移,输送形式常见滚床,物流皮带机,滚子线等,通常首位由mes系统输入信息,但现在罗克韦尔的系统,有个对接it和物联网的iot系统,所以,首位也可能是对接这个

②不带节拍的,暂存数据队列,先入先出,涂装到总装的BDC数据队列,总装sps数据配送队列

不带节拍的,

③冒泡发数据传送,比如焊装车间分拼线(发舱、底板)等往主线转运,我们需要在分拼的末端工位通过自主改善增加自动螺柱焊、涂胶、视觉检测等功能,检测完成后,主线的输送系统比如空中小车吊走到主线进行合并,分拼的倒数第二个工位是11,改善工位是12,需要将12工位的产品配置config、型号spilit等传递给改善工位,也就是12工位,我们可以采用冒泡队列传送,当12工位自动拍照完成或者进行补焊完成(持续2S),将堆栈1数据清零,堆栈5存取的是11工位在它的机器人工作完成后发出的配置号。

11工位的产品信息,会像逐渐上升的气泡一样,以PLC的循环扫描为一个时间点,从堆栈5,上升到堆栈4,.......并最终到达堆栈1, 数据从堆栈5上升到堆栈4,堆栈5为从有数据变为0,堆栈4从0变为之前堆栈5的数据,在4个扫描周期后,堆栈5的数据传到堆栈1,且此时堆栈2-5的数据都是零。

对比维度 整体迁移(同步移位) 冒泡法(逐级上浮) FIFO队列(先入先出)
核心目的 物理位置同步:使每个工位的"数据"与"工件"的物理位置始终保持一致。 快速可靠接力:将一个关键数据(如车型)在毫秒级时间内从A点传递到B点,保证不丢失、不错位。 缓冲与排序:存储多个数据,解决上下游节拍差异,保证"先到先处理"的顺序。
数据结构 数组,每个索引对应一个固定工位。 固定深度的数组,数据"上浮"填补空白。 通常是循环队列,有头指针和尾指针。
数据移动方式 全体同步移动:一个触发信号(如步进),所有工位的数据同时向后(或向前)复制一位。 逐级填补空位:每个扫描周期,若上一级为空,则本级数据上浮,自身清零。 指针移动:入队时尾指针+1,出队时头指针+1,数据本身在内存中不动。
数据数量 每个工位都有独立数据(可以是同一车型,也可以是不同车型)。 同时只有一个有效数据在队列中移动(其他堆栈为空或瞬态)。 队列中可同时存在多个有效数据(例如10个待排序车身)。
空位处理 不允许有空位:每个工位都有数据(值为0表示无工件)。 主动填补:有空白立即填补,数据快速向上移动。 不填补:队列中间有空位(出队后),新数据只从队尾加入,不会跳到中间。
触发方式 通常由设备动作完成信号(如滚床到位、升降机到位)触发整体移位。 下游数据被读取/清零触发上浮(如机器人涂胶完成)。 入队条件 (新工件到达)和出队条件(下游取走)触发。
典型深度 等于工位数量(几十到上百)。 很小(3~6级)。 可大可小(几十到几千)。
应用场景 主线工位间车身数据跟踪(焊接、涂装、总装流水线)。 PLC内部高可靠性短距信号接力(如跨程序块、跨扫描周期的关键数据)。 缓存区 (BDC车身库)、订单队列 (SPS)、排序区(涂装→总装排序)。
优缺点 优点:逻辑直观,与物理设备一一对应,便于调试。缺点:每个节拍都要搬运大量数据,效率较低。 优点:逻辑极简,响应快,可靠。缺点:不适合存储多个数据,深度小。 优点:存储效率高,适合大量数据缓存。缺点:逻辑稍复杂,需要管理指针,且不主动填补空
总结 对应模式 核心逻辑
整体前移,用FOR循环+指针,从i-1传到i,入口清零 整体迁移(同步移位) 所有工位数据同步移动,适用于流水线
当前层为0,下层不为0,则下层上传并清零 冒泡法(逐级上浮) 数据逐级"上浮"填补空位,适用于短距接力
FIFO是大容量暂存,谁先进谁先出 FIFO队列(先入先出) 存储多个数据,适用于缓存区/排序区
PLC也能做FIFO,但成百上千的数据更适合Java服务器 FIFO的工程实现权衡 PLC内存有限,大型队列由MES/服务器管理
相关推荐
weixin_4462608514 小时前
AgentsCAD:基于多智能体大模型推理与几何特征识别的FDM增材制造自动化设计
人工智能·自动化·制造
bkl_921314 小时前
AI Agent 零基础入门:基于GPT-5.5搭建自动化工作流全实操
人工智能·gpt·自动化
江华森17 小时前
Python 编程快速上手:让繁琐工作自动化 —— 19章全实战笔记
笔记·python·自动化
Mr_Controll17 小时前
【运动控制——电子凸轮曲线设计(多项式)】
算法·自动化
曦尧17 小时前
Terax:轻量级终端优先的 AI 原生开发工作区
ai·自动化
搬砖柯17 小时前
系列12-接口压测怎么做成平台能力?自研 httpx 引擎、分布式 Worker 与 Locust 选型对照
分布式·测试工具·性能优化·开源·自动化·httpx
2603_955279701 天前
Cursor + GitOps:自动化运维新姿势
运维·自动化
ai_coder_ai1 天前
编写自动化脚本,在自己后端服务中使用Open Api进行设备相关操作
java·运维·自动化
搬砖柯1 天前
系列10-接口/UI 自动化怎么验落库?数据工厂与数据库断言实践
数据库·测试工具·ui·开源·自动化
iPad协议个微协议1 天前
企业微信文件上传下载在自动化系统中的处理方式
java·运维·人工智能·机器人·自动化·企业微信