注意:AGV信息为演示内容,具体的电量、位置等信息需要自行对接相应厂家的接口。
1. AGV任务分配流程
1.1 任务分配
- 用户创建工单:
- 选择需要处理的电表
- 指定工单类型(入库/出库/移库)
- 系统分配AGV:
- 自动筛选空闲且电量充足的AGV
- 检查AGV容量是否满足工单需求
- 分配最优AGV执行任务
- 状态更新:
- AGV状态更新为”Moving”
- 工单状态更新为”InProgress”
- 电表状态更新为”Outbound”
1.2 任务执行
- AGV移动:
- AGV从当前位置移动到电表所在位置
- 实时更新AGV位置坐标
- 装载电表:
- AGV状态更新为”Loading”
- 电表被装载到AGV上
- 运输过程:
- AGV携带电表移动到目标位置
- 实时监控AGV位置和电量
- 卸载电表:
- AGV状态更新为”Unloading”
- 电表被卸载到目标位置
1.3 任务完成
- 状态恢复:
- AGV状态恢复为”Idle”
- 工单状态标记为”Completed”
- 电表状态更新:
- 入库:状态更新为”InStock”
- 出库:状态更新为”Outbound”
- 移库:位置更新,状态不变
- 根据工单类型更新电表状态:
- 电量消耗:
- AGV电量按任务消耗
- 低电量AGV自动发送到充电区
2. 功能特性
2.1 AGV容量管理
功能 | 描述 |
---|---|
容量限制 | 每个AGV有最大承载容量(默认10个电表) |
容量检查 | 分配任务时检查AGV容量是否满足需求 |
错误处理 | 超出容量时提示用户并拒绝分配 |
容量显示 | 在AGV卡片中清晰显示当前容量信息 |
2.2 实时位置跟踪
- 位置存储:
- AGV位置坐标(X,Y)存储于数据库
- 位置信息包含区域描述(如A区、充电区)
- 定时更新:
- 移动中的AGV定时更新位置
- 位置变化实时反映在仓库地图上
- 可视化展示:
- 仓库地图展示AGV实时位置
- 不同状态AGV使用不同图标和动画
2.3 电池管理系统
功能 | 描述 |
---|---|
电量显示 | 清晰展示当前电量百分比 |
任务耗电 | 每次任务执行消耗10%电量 |
低电预警 | 电量低于20%时显示警告 |
自动充电 | 低电量AGV自动发送到充电区 |
充电恢复 | 充电完成后电量恢复至100% |
2.4 事务处理机制
- 工作单元模式:
- 使用FreeSql的工作单元(UnitOfWork)
- 确保复杂操作的原子性
- 事务管理:
- 关键操作在事务中执行
- 错误时自动回滚所有更改
- 数据一致性:
- 确保AGV、工单和电表状态同步更新
- 防止数据不一致情况发生
3. 异常处理机制
3.1 AGV不可用情况处理
情况 | 处理方式 |
---|---|
状态非空闲 | 显示当前状态,拒绝分配新任务 |
电量不足 | 提示电量过低,建议充电 |
维护中 | 显示维护状态,不可分配任务 |
容量不足 | 提示容量限制,建议分批处理 |
3.2 位置边界控制
- 仓库范围限制:
- 越界处理:
- 特殊区域标记:
- 货架区域:A区、B区、C区
- 充电区:固定位置
- 装卸区:特定坐标范围
3.3 工单异常处理
异常情况 | 处理方式 |
---|---|
无效电表 | 提示电表不存在或状态异常 |
AGV分配失败 | 提供重试机制和备选方案 |
任务超时 | 自动取消任务并释放资源 |
位置冲突 | 重新规划路径或等待资源释放 |
4. 可视化增强
4.1 仓库地图
4.2 状态动画
状态 | 动画效果 | 颜色 |
---|---|---|
空闲(Idle) | 无动画 | 绿色 |
移动中(Moving) | 脉动效果 | 蓝色 |
装载中(Loading) | 脉动效果 | 橙色 |
卸载中(Unloading) | 脉动效果 | 橙色 |
充电中(Charging) | 无动画 | 青色 |
维护中(Maintenance) | 无动画 | 红色 |
4.3 进度指示
- 电池电量:
- 环形进度条显示
- 颜色渐变(绿→黄→红)
- 任务状态:
- 标签显示当前状态
- 不同状态使用不同颜色
- 位置信息:
- 显示精确坐标(X,Y)
- 区域描述辅助定位
5. 仓库布局编辑器完整实现
功能说明
- 仓库区域操作
- 添加储位组:创建新的储位组,自动生成储位布局
- 添加整理区:添加整理区域
- 添加线体区:添加线体区域
- 添加充电区:添加充电区域
- 添加过道:添加仓库过道
- 删除区域:移除选中的区域
- 区域编辑功能
- 拖拽移动:通过拖拽移动区域位置
- 双击编辑:双击区域打开属性面板
- 属性编辑:在属性面板中修改区域ID、位置和尺寸
- 储位组布局:修改储位组的行数和列数,点击更新布局重新生成储位
- 视图控制
- 缩放控制:使用滑块调整视图缩放比例
- 自动保存:组件销毁时自动保存布局
- 重置布局:恢复为默认布局
- 储位组编辑器
- 动态布局:根据行数和列数自动生成储位
- 缩放支持:根据缩放比例调整储位显示大小
- 位置计算:根据储位组尺寸计算每个储位的位置
- 数据持久化
- JSON存储:使用JSON格式保存仓库布局
- 错误处理:加载失败时创建默认布局
- 自动加载:服务初始化时加载布局
这个完整的仓库布局编辑器提供了直观的界面来设计和配置仓库布局,支持所有必要的仓库区域类型,并提供了灵活的编辑功能。
6. 系统优势总结
-
全流程管理:
- 从任务创建到完成的端到端管理
- 状态自动流转,减少人工干预
-
智能调度:
- AGV自动分配和路径规划
- 容量和电量智能匹配
-
实时监控:
- 仓库地图实时展示AGV位置
- 状态变化即时反馈
-
异常处理:
- 完善的错误检测和处理机制
- 事务保障数据一致性
-
可视化体验:
- 直观的状态展示和动画效果
- 丰富的数据可视化组件
-
扩展性强:
- 模块化设计便于功能扩展
- 支持多AGV协同工作
开发语言是.NET C#,数据库 Mysql、 Mssgl、 Oracle、 SQLite、 PostgreSQL等均可