编辑 | blame | 历史 | 原始文档

ShanMeiXinNengYuan

陕煤新能源立库(WCS仓库控制系统)

项目简介

陕煤新能源立库是一个功能完善的仓库控制系统(WCS),用于自动化立体仓库的设备控制与任务调度。系统支持堆垛机、输送线、机器人等多种仓储设备的实时通信与监控,实现入库、出库、移库等核心仓储业务流程的自动化管理。

技术架构

前端技术栈

  • 框架: Vue 3 + Vite
  • UI组件: Element Plus
  • 路由: Vue Router
  • 状态管理: Pinia
  • 图表: ECharts

后端技术栈

  • 框架: ASP.NET Core 7
  • ORM: SqlSugar
  • 任务调度: Quartz.NET
  • 缓存: Redis + MemoryCache
  • 通信协议: 多种工业PLC通信

支持的设备通信协议

  • 西门子 S7 / S7200Smart
  • Modbus TCP
  • 欧姆龙 EtherNet/IP
  • 罗克韦尔 Allen Bradley EtherNet/IP
  • 汇川 H5U / AM 系列
  • 串口通信

核心功能模块

任务管理

  • 入库任务
  • 出库任务
  • 移库任务
  • 机器人任务

设备管理

  • 堆垛机控制
  • 输送线控制
  • 穿梭车控制
  • 拘束机控制
  • 插拔钉机控制

路由管理

  • 设备路由配置
  • 路径规划
  • 位置管理

系统管理

  • 用户权限管理
  • 角色管理
  • 部门管理
  • 字典配置
  • 日志管理

项目结构

Code/WCS/
├── WIDESEAWCS_Client/          # 前端项目
│   ├── src/
│   │   ├── api/              # API请求封装
│   │   ├── components/      # 公共组件
│   │   ├── extension/        # 业务扩展
│   │   ├── router/          # 路由配置
│   │   ├── store/           # 状态管理
│   │   ├── views/           # 页面视图
│   │   └── uitils/          # 工具函数
│   └── package.json
│
└── WIDESEAWCS_Server/         # 后端项目
    ├── WIDESEAWCS_Common/    # 公共枚举/常量
    ├── WIDESEAWCS_Communicator/  # PLC通信模块
    ├── WIDESEAWCS_Core/      # 核心框架
    ├── WIDESEAWCS_DTO/       # 数据传输对象
    ├── WIDESEAWCS_Model/    # 实体模型
    ├── WIDESEAWCS_QuartzJob/ # Quartz任务
    ├── WIDESEAWCS_RedisService/ # Redis服务
    └── WIDESEAWCS_Server/    # 控制器

环境要求

前端

  • Node.js 16+
  • npm 8+

后端

  • .NET 7.0 SDK
  • SQL Server 2019+
  • Redis 6.0+

配置说明

数据库连接配置

appsettings.json 中配置数据库连接字符串:

{
  "ConnectionStrings": {
    "DefaultDb": "Server=localhost;Database=WCS;Uid=sa;Pwd=yourpassword;TrustServerCertificate=true"
  }
}

Redis配置

{
  "Redis": {
    "Enabled": true,
    "ConnectionString": "127.0.0.1:6379,defaultDatabase=0",
    "InstanceName": "WCS:",
    "DefaultDatabase": 0
  }
}

设备通信配置

在数据库 Dt_DeviceInfo 表中配置设备信息,包括:
- 设备编号
- 设备名称
- 设备类型
- IP地址
- 端口
- PLC型号

快速开始

后端启动

cd Code/WCS/WIDESEAWCS_Server

# 还原依赖
dotnet restore

# 构建项目
dotnet build

# 启动服务
dotnet run

前端启动

cd Code/WCS/WIDESEAWCS_Client

# 安装依赖
npm install

# 启动开发服务器
npm run dev

业务流程

入库流程

  1. WMS系统下发入库任务
  2. WCS系统创建入库任务记录
  3. 分配堆垛机执行任务
  4. 输送线接收货物
  5. 堆垛机将货物存入目标库位
  6. 任务完成,更新状态

出库流程

  1. WMS系统下发出库任务
  2. WCS系统创建出库任务记录
  3. 堆垛机从库位取货
  4. 输送线运输至出库口
  5. 任务完成,更新状态

任务状态说明

入库任务状态

  • 0: 待执行
  • 1: 已分配
  • 2: 执行中
  • 3: 待确认
  • 4: 完成

出库任务状态

  • 0: 待执行
  • 1: 已分配
  • 2: 执行中
  • 3: 已出库
  • 4: 完成

重要说明

  1. 安全库存: 系统设置最大任务数为100,超过时拒绝新任务
  2. 设备心跳: 定时检测设备连接状态
  3. 任务超时: 任务配置超时自动处理机制
  4. 事务支持: 关键操作使用事务保证数据一致性

License

本项目仅供内部使用。