Files
smart_management_dev/调度系统与盘点系统开发文档.md

12 KiB
Raw Permalink Blame History

调度系统与盘点系统开发文档

1. 项目概述

1.1 项目背景

调度系统是用于实现仓库自动化作业的核心系统通过与WCS仓库控制系统和AGV自动导引车系统的协作实现货物的自动化入库、出库、移库等操作。

盘点系统是用于实现仓库库存自动盘点的系统通过RFID设备自动采集货品信息并与系统库存数据进行比对以实现库存的精确管理。

1.2 项目目标

  • 实现调度系统与WCS、AGV系统间的无缝对接
  • 实现盘点系统与RFID设备的高效协作
  • 提供标准化接口,确保各系统间稳定运行
  • 实现出入库、盘点等核心业务流程

2. 调度系统

2.1 系统架构

调度系统作为中间层负责协调WMS、WCS、AGV三个系统间的任务流转和状态同步。

2.2 业务流程描述

2.2.1 入库/上架流程

  1. 任务创建WMS系统创建入库任务
  2. 任务分发调度系统将任务分发给WCS系统
  3. 设备执行WCS系统控制立体库设备执行上架操作
  4. 状态反馈WCS系统实时反馈任务执行状态
  5. 完成确认:任务完成后更新状态

2.2.2 出库/下架流程

  1. 任务创建WMS系统创建出库任务
  2. 任务分发调度系统将任务分发给WCS系统
  3. 设备执行WCS系统控制立体库设备执行下架操作
  4. AGV配合根据需要调度AGV进行货物搬运
  5. 状态反馈WCS/AGV系统实时反馈任务执行状态
  6. 完成确认:任务完成后更新状态

2.2.3 移库流程

  1. 任务创建WMS系统创建移库任务
  2. AGV调度调度系统先调度AGV搬运货物
  3. WCS配合根据需要调度WCS进行货物存放
  4. 状态监控:实时监控任务执行状态
  5. 完成确认:任务完成后更新状态

2.3 核心功能

2.3.1 入库/上架功能

  • 接收WMS系统的入库任务
  • 控制立体库设备执行上架操作
  • 实时反馈任务执行状态给WMS系统

2.3.2 出库/下架功能

  • 接收WMS系统的出库任务
  • 控制立体库设备执行下架操作
  • 实时反馈任务执行状态给WMS系统

2.3.3 任务调度功能

  • 任务队列管理
  • 任务优先级调度
  • 设备资源分配

2.4 业务流程图

graph TD
    A[WMS创建任务] --> B{判断任务类型}
    B -->|入库/上架| C[WMS调用WCS /API/Ruku接口]
    B -->|出库/下架| D[WMS调用WCS /API/Chuku接口]
    
    C --> E[WCS接收任务请求]
    D --> E
    
    E --> F[WCS验证任务参数]
    F --> G{参数验证结果}
    G -->|验证失败| H[WCS返回错误信息给WMS]
    G -->|验证成功| I[WCS创建内部任务]
    
    I --> J[WCS控制立体库设备执行任务]
    J --> K[设备执行中...]
    K --> L{任务执行结果}
    L -->|执行成功| M[WCS更新任务状态]
    L -->|执行失败| N[WCS记录异常并重试]
    
    M --> O[WCS回调WMS状态更新]
    N --> P{重试次数达到上限}
    P -->|是| Q[WCS回调WMS失败状态]
    P -->|否| J
    
    O --> R[WMS接收状态更新]
    Q --> R
    H --> R
    
    R --> S{是否需要AGV配合}
    S -->|是| T[WMS调度AGV]
    S -->|否| U[任务完成]
    T --> U

2.5 接口规范

2.5.1 入库接口(/API/Ruku

  • 功能说明WMS系统调用此接口创建入库/上架任务
  • 请求方式POST
  • 我方服务地址http://[IP_ADDR]:[PORT]/API/Ruku
  • 第三方调用WCS系统需实现此接口并接受调用

2.5.2 出库接口(/API/Chuku

  • 功能说明WMS系统调用此接口创建出库/下架任务
  • 请求方式POST
  • 我方服务地址http://[IP_ADDR]:[PORT]/API/Chuku
  • 第三方调用WCS系统需实现此接口并接受调用

2.5.3 任务状态回调接口

2.6 对接流程

2.6.1 WCS系统对接流程

  1. 接口实现WCS系统需实现入库/出库接口
  2. 数据格式:按约定格式接收任务数据
  3. 状态反馈:通过回调接口实时反馈任务状态
  4. 异常处理:处理任务执行中的异常情况

2.6.2 AGV系统对接流程

  1. 接口实现AGV系统需实现搬运任务接口
  2. 数据格式:按约定格式接收任务数据
  3. 状态反馈:实时反馈任务执行状态
  4. 任务协调与WCS系统任务进行协调执行

2.7 配置信息

2.7.1 WCS系统配置

wcs:
  job:
    create-url: http://[WCS_IP_ADDR]:[WCS_PORT]/API/Ruku         # WCS上架任务接口
    chuku-url: http://[WCS_IP_ADDR]:[WCS_PORT]/API/Chuku         # WCS出库任务接口

2.7.2 AGV系统配置

agv:
  job:
    create-url: http://[AGV_IP_ADDR]:[AGV_PORT]/api/job/create

3. 盘点系统

3.1 系统架构

盘点系统通过RFID设备采集数据与库存数据进行比对生成盘点报告。

3.2 业务流程描述

3.2.1 盘点任务创建流程

  1. 任务规划阶段

    • 确定盘点范围(指定仓库、库区、货位等)
    • 确定盘点类型
    • 确定盘点时间安排
    • 分配盘点人员
  2. 基础数据准备

    • 获取指定范围内的库存数据作为基准
    • 验证库存数据完整性
    • 生成任务清单
  3. 任务创建阶段

    • 在系统中创建盘点任务记录
    • 设置任务基本信息(名称、仓库、时间等)
    • 绑定盘点设备
    • 分配执行人员
  4. 任务下发阶段

    • 将任务信息同步到相关设备或人员
    • 准备盘点所需的辅助数据
    • 启动任务状态监控

3.2.2 盘点执行流程

  1. 设备连接RFID设备连接到系统
  2. 任务获取:设备获取盘点任务信息
  3. 标签扫描RFID设备在指定区域扫描标签
  4. 数据传输:将扫描数据实时传输回系统
  5. 状态监控:监控设备工作状态和任务进度

3.2.3 数据处理流程

  1. 数据收集收集从RFID设备传回的标签数据
  2. 数据验证:验证数据完整性和准确性
  3. 数据比对:将采集数据与库存数据进行比对
  4. 差异分析:分析盘点差异
  5. 结果生成:生成盘点结果报告

3.3 核心功能

3.3.1 盘点任务管理

  • 创建盘点任务设置任务名称、仓库ID、场景ID、执行人、完成时间等
  • 任务类型手持盘点0和自动盘点1
  • 任务状态待执行0、已完成1、已超时2

3.3.2 自动盘点功能

  • 设备连接管理通过RFID设备IP和端口建立TCP连接
  • 标签扫描启动RFID设备进行标签扫描
  • 数据传输通过WebSocket将扫描到的EPC标签数据发送给前端
  • 扫描控制:支持开始、停止、断开连接等操作

3.3.3 数据匹配功能

  • 将扫描数据与系统库存数据进行匹配
  • 生成匹配结果(正常、未扫到、误扫)
  • 统计盘点结果并生成图表

3.3.4 报告管理功能

  • 生成盘点统计图表
  • 导出盘点报告
  • 提供历史盘点记录查询

3.4 业务流程图

graph TD
    A[创建盘点任务] --> B[RFID设备连接]
    B --> C[下发盘点任务到设备]
    C --> D[设备开始标签扫描]
    D --> E[实时收集标签数据]
    E --> F{是否完成扫描?}
    F -->|是| G[停止扫描]
    F -->|否| D
    G --> H[数据比对分析]
    H --> I[生成盘点结果]
    I --> J[输出盘点报告]
    J --> K[任务完成]

3.5 接口规范

3.5.1 设备连接接口(/AutoInventory/connect

3.5.2 开始盘点接口(/AutoInventory/scan

3.5.3 停止盘点接口(/AutoInventory/stop

3.5.4 断开连接接口(/AutoInventory/disconnect

3.5.5 设备状态查询接口(/AutoInventory/status

3.5.6 开始匹配接口(/AutoInventory/match

3.5.7 盘点任务管理接口(/Inventory/task

3.6 对接流程

3.6.1 RFID设备对接流程

  1. 连接建立设备通过TCP/IP连接到我方系统
  2. 设备注册设备向我方系统注册获取设备ID
  3. 任务获取:设备从我方系统获取当前盘点任务
  4. 数据采集:设备开始扫描,实时传输标签数据
  5. 状态同步:设备定期同步工作状态
  6. 任务完成:设备完成任务后报告完成状态

3.6.2 WebSocket通信

  • 连接地址ws://[IP_ADDR]:[PORT]/websocket
  • 数据格式JSON格式的标签数据
  • 心跳机制:定期发送心跳包保持连接

3.7 配置信息

3.7.1 RFID设备配置

rfid:
  device:
    conn-id: [RFID_IP_ADDR]:[RFID_PORT]

4. 部署说明

4.1 环境要求

  • Java 8 或更高版本
  • Maven 3.6.0 或更高版本
  • MySQL 5.7 或更高版本
  • Redis 5.0 或更高版本

4.2 部署步骤

  1. 配置数据库连接信息
  2. 配置第三方系统接口地址
  3. 启动应用服务
  4. 验证接口连通性

4.3 配置文件

  • application.yml主配置文件
  • application-druid.yml数据库配置文件

5. 我方开发工作汇总

5.1 调度系统开发工作

5.1.1 接口开发

  • 入库/上架接口开发实现与WCS系统的入库任务下发预计16小时
  • 出库/下架接口开发实现与WCS系统的出库任务下发预计16小时
  • 任务状态回调接口开发实现任务状态反馈机制预计24小时

5.1.2 业务逻辑开发

  • 货物上架逻辑实现实现完整的货物上架业务流程预计32小时
  • 货物下架逻辑实现实现完整的货物下架业务流程预计32小时
  • 任务调度与排队机制实现多任务排队调度算法预计24小时

5.1.3 系统集成开发

  • 与WMS系统接口对接确保调度系统与WMS系统稳定通信预计20小时
  • 与AGV系统协调机制实现调度系统与AGV系统的任务协调预计16小时

调度系统总计180小时

5.2 盘点系统开发工作

5.2.1 设备接口开发

  • RFID设备连接接口开发开发RFID设备连接、断开、状态查询接口预计24小时
  • 盘点控制接口开发开发开始盘点、停止盘点等控制接口预计16小时

5.2.2 数据处理开发

  • 扫描数据处理开发处理RFID设备扫描的标签数据预计28小时
  • 数据匹配算法开发开发扫描数据与库存数据的匹配算法预计32小时

5.2.3 任务管理开发

  • 盘点任务管理开发开发盘点任务的增删改查功能预计24小时
  • 报告生成开发开发盘点报告生成和统计功能预计20小时

5.2.4 系统集成开发

  • WebSocket通信开发实现实时数据传输功能预计20小时

盘点系统总计164小时

5.3 项目总计

  • 调度系统开发180小时
  • 盘点系统开发164小时
  • 项目总计344小时