wanshenmean
8 天以前 fd18eaba5e1c086a588509371f91310e7aafff9c
README.md
@@ -1,4 +1,204 @@
## ShanMeiXinNengYuan
陕煤新能源立库
# 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
本项目仅供内部使用。