# 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` 中配置数据库连接字符串: ```json { "ConnectionStrings": { "DefaultDb": "Server=localhost;Database=WCS;Uid=sa;Pwd=yourpassword;TrustServerCertificate=true" } } ``` ### Redis配置 ```json { "Redis": { "Enabled": true, "ConnectionString": "127.0.0.1:6379,defaultDatabase=0", "InstanceName": "WCS:", "DefaultDatabase": 0 } } ``` ### 设备通信配置 在数据库 `Dt_DeviceInfo` 表中配置设备信息,包括: - 设备编号 - 设备名称 - 设备类型 - IP地址 - 端口 - PLC型号 ## 快速开始 ### 后端启动 ```bash cd Code/WCS/WIDESEAWCS_Server # 还原依赖 dotnet restore # 构建项目 dotnet build # 启动服务 dotnet run ``` ### 前端启动 ```bash 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 本项目仅供内部使用。