# ControlCenter
**Repository Path**: gitmy/control-center
## Basic Information
- **Project Name**: ControlCenter
- **Description**: 基于c#语言开发的工控机软件
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2026-09-02
- **Last Updated**: 2026-09-02
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# ControlCenter
# 项目名称
<!-- 智能无人驿站控制系统 -->
---
# 版本信息




详细清单
| 组件/环境 | 最低版本 | 当前版本 | 备注 |
| --------- | -------- | -------- | ---- |
| .NET SDK | *8.0.403 | 8.0.403 | 长期支持 (LTS) |
| VS | *2022 17.11.5 | 2022 17.11.5 | 开发IDE |
| OS | *Win10 22H2 | Win10 22H2| 部署环境 |
| PaddleOcr | 5.x | 5.x| 图像识别 |
示例 machine.ini(点击展开)
```json
{
"SmallTrayWidth":170,
"MiddleTrayWidth":340,
"BigTrayWidth":500,
"ClosestContainerNumber":5,
"SmallTrayFixedLayers":[0],
"MiddleTrayFixedLayers":[1],
"TraysReserveLayer":0,
"TempLocation":"0120000405",
"ExitLocation":"010120",
"CacheNumber":3,
"ContainersInfo":[
{
"TrayType":1,
"Sticks":[468,2318],
"TraysType":null,
"Heights":[190,190,190,190,190,190,190]
},
{
"TrayType":1,
"Sticks":[468,2318],
"TraysType":null,
"Heights":[190,190,190,190,190,190,190]
},
{
"TrayType":1,
"Sticks":[805,2295],
"TraysType":null,
"Heights":[150,150,150,150,150,150,150,150,150]
},
{
"TrayType":1,
"Sticks":[825,2315],
"TraysType":null,
"Heights":[75,75,150,150,150,150,150,150,150,150]
},
{
"TrayType":2,
"Sticks":[300,2100],
"TraysType":null,
"Heights":[320,320,320,320,320,320]
}
],
"GetCourierTimeoutSeconds":1,
"GetEmptyTrayTimeoutSeconds":600,
"GetTempTimeoutSeconds":6000,
"PickupCourierTimeoutSeconds":600,
"PutEmptyTrayTimeoutSeconds":600,
"PutScheduledTimeoutSeconds":600,
"ReturnTrayTimeoutSeconds":6000,
"SendCourierTimeoutSeconds":6000,
"StoreCourierTimeoutSeconds":600,
"ForkLiftWaitSeconds":0,
"ForkLiftStaySeconds":0,
"CacheHeights": {
"Small": {
"100": "800",
"150": "801",
"190": "802"
},
"Middle": {
"300": "803"
},
"Big": {
"500": "804"
}
}
}
```
字段说明:
| 字段 | 类型 | 描述 |
| ---- | ---- | ---- |
| `SmallTrayWidth` | ushort | 小托盘宽度(单位:mm) |
| `MiddleTrayWidth` | ushort | 中托盘宽度(单位:mm) |
| `BigTrayWidth` | ushort | 大托盘宽度(单位:mm) |
| `ClosestContainerNumber` | ushort | 升降机旁靠近出口的货架号 |
| `SmallTrayFixedLayers` | ushort[] | 小托盘固定位置托盘层号 |
| `MiddleTrayFixedLayers` | ushort[] | 中托盘固定位置托盘层号 |
| `TraysReserveLayer` | ushort | 已抛弃,可忽略 |
| `TempLocation` | string | 出料口暂存托盘坐标,已抛弃,可忽略 |
| `ExitLocation` | string | 出料口坐标,用于计算距离和时间 |
| `CacheNumber` | ushort | 叉车缓存位个数 |
| `ContainersInfo` | ContainerDO[] | 货架参数配置 |
| `TrayType` | int | 托盘类型,设置该货架默认可放置托盘类型 |
| `Sticks` | int[] | 立柱坐标,每个立柱只录入尾部坐标 |
| `TraysType` | int[] | 仅大货架生效且TrayType=3时必须包含此项,用于定制大货架每层的托盘类型 |
| `Heights` | int[] | 每一个层可放置的快递高度 |
| `GetCourierTimeoutSeconds` | ushort | (可选)接快递任务超时时间,默认120,单位:秒 |
| `GetEmptyTrayTimeoutSeconds` | ushort | (可选)取空托盘任务超时时间,默认60,单位:秒 |
| `GetTempTimeoutSeconds` | ushort | (可选)取暂存位托盘任务超时时间,默认60,单位:秒 |
| `PickupCourierTimeoutSeconds` | ushort | (可选)取快递取托盘任务超时时间,默认60,单位:秒 |
| `PutEmptyTrayTimeoutSeconds` | ushort | (可选)放空托盘至固定位置任务超时时间,默认60,单位:秒 |
| `PutScheduledTimeoutSeconds` | ushort | (可选)存预约快递任务超时时间,默认60,单位:秒 |
| `ReturnTrayTimeoutSeconds` | ushort | (可选)返还空托盘任务超时时间,默认60,单位:秒 |
| `SendCourierTimeoutSeconds` | ushort | (可选)出库任务超时时间,默认60,单位:秒 |
| `StoreCourierTimeoutSeconds` | ushort | (可选)存快递任务超时时间,默认60,单位:秒 |
| `ForkLiftWaitSeconds` | ushort | (可选)叉车等待旋转台推至升降机时间,默认3,单位:秒 |
| `ForkLiftWaitSeconds` | ushort | (可选)叉车等待升降机完成是否能存件判断,默认30,单位:秒 |
| `CacheHeights` | CacheHeights | 预约口高度信息的Plc寄存器地址 |
| `Small` | Dictionary 示例 config.json(点击展开)
```json
{
"TcpDevice": {
"Ip": "192.168.4.1",
"Port": 3001
},
"ModbusTcpDevice": {
"Ip": "127.0.0.1",
"Port": 502
},
"BatchNumber": "75",
"PickupCode": "0027",
"DeliveryUserId": "63",
"Pending": "{}",
"Scheduled": "{}",
"Pickup": "{}"
}
```
字段说明:
| 字段 | 类型 | 描述 |
| ---- | ---- | ---- |
| `TcpDevice` | TcpConfig | Tcp通信配置 |
| `ModbusTcpDevice` | ModbusTcpConfig | ModbusTcp通信配置 |
| `Ip` | string | IP地址 |
| `Port` | ushort | 端口号 |
| `BatchNumber` | long | 批次号,用于存件 |
| `PickupCode` | int | 取件码,用于存件 |
| `DeliveryUserId` | string | 快递用户id |
| `Pending` | Dictionary
```
net8.0-windows/
├─ paddleocr/
│ ├─ det/
│ └─ rec/
└─ config.json
└─ machine.ini
```
## 📦 模型下载方式二:自行从 PaddleOCR 官方下载(可选)
如果你不希望使用 Release 附带的压缩包,也可以 **自行下载 PaddleOCR v5 模型**。
官方文档:
👉 https://www.paddleocr.ai/main/version3.x/pipeline_usage/OCR.html#5
---
# 目录总览
---
## 核心层(Core)
### Enums(通用枚举)
- **AccessTaskTypeEnum.cs**
- **ExpressTypeEnum.cs**
- **PlcCommandEnum.cs**
- **QrCodeFunEnum.cs**
- **WsMsgTypeEnum.cs**
### FrameWork(公共框架)
- **Error/**
- **BaseErrorCode.cs**
- **IErrorCode.cs**
- **Exceptions/**
- **AbstractException.cs**
- **LocalException.cs**
- **ServerException.cs**
- **GlobalExceptionHandler.cs**
- **SystemContext.cs**
- **VersionManger.cs**
### Models(业务模型)
#### AccessCourier(存取任务实体)
- **AccessTask.cs**
- **GerCourierTask.cs**
- **GetEmptyTrayTask.cs**
- **GetTempTask.cs**
- **PickBigTask.cs**
- **PickupCourierTask.cs**
- **PutEmptyTrayTask.cs**
- **PutScheduledTask.cs**
- **ReturnCourierTask.cs**
- **ReturnScheduleCourierTask.cs**
- **ReturnTrayTask.cs**
- **SendCourierTask.cs**
- **StoreBigTask.cs**
- **StoreCourierTask.cs**
#### QrCode(二维码)
- **IQrCodePayload.cs**
- **PUItem.cs**
- **PickUpQrCode.cs**
- **StoreCourierQrCode.cs**
#### Upload(上传记录任务)
- **CourierOutboundUploadTask.cs**
- **PendingEndUploadTask.cs**
- **ReplenishRecordUploadTask.cs**
- **ScheduledPickupUpdateUploadTask.cs**
- **UploadTask.cs**
- **UploadTaskFactory.cs**
- **PendingDeliveryDO.cs**
- **PrintImageDO.cs**
- **RecordDO.cs**
- **StationDO.cs**
- **TransMessage.cs**
---
## 数据层(Data)
### Repositories
- **RecordRepository.cs**
- **SpaceRepository.cs**
- **LogDO.cs**
- **MachineDO.cs**
- **ScheduledDO.cs**
- **SpaceDO.cs**
- **SpaceFactory.cs**
---
## 设备层(Devices)
- **DeliPrinter.cs**
- **ForkLift.cs**
- **ModbusTcpPlc.cs**
- **Phone.cs**
- **Scanner.cs**
- **TcpPlc.cs**
---
## 传输对象(DTOs)
- **BaseDTO.cs**
- **CreateNormalDTO.cs**
- **GridAddressDTO.cs**
- **PLCServiceSnapshotDTO.cs**
- **PendingInboundDTO.cs**
- **ReadResultDTO.cs**
- **RecordServiceSnapshotDTO.cs**
- **ReplenishDTO.cs**
- **ResponseDTO.cs**
- **UpdateNormalDTO.cs**
- **UpdateStatusDTO.cs**
---
## 服务层(Services)
### Dispatcher(消息/命令分发)
- **handler/**
- **PlcHandler**
- **QrCodeHandler**
- **MessageDispatcher.cs**
- **QrCodeDispatcher.cs**
- **BaseService.cs**
- **BroadcastService.cs**
- **MainFormService.cs**
- **PLCService.cs**
- **PhonsService.cs**
- **PrintService.cs**
- **RecordService.cs**
- **ScannerService.cs**
- **StationService.cs**
- **StorageService.cs**
- **WebsocketService.cs**
---
## 工具层(Utils)
### Constant(常量定义)
- **LogDesConstant.cs**
- **SystemConstant.cs**
- **TopicConstant.cs**
- **WSCodeConstant.cs**
- **ExtensionsUtil.cs**
- **HttpUtil.cs**
- **IdGenerator.cs**
- **ImageUtil.cs**
- **SystemUtil.cs**
---
## 视图层(Views)
### UserControls
- **MainForm/**
- **HistoryRecord.cs**
- **StorageManagement.cs**
- **SystemLog.cs**
- **TestPage.cs**
- **SM/**
- **ContainerPanel.cs**
- **InsertSpace.cs**
- **SpacePanel.cs**
- **SpaceSetting.cs**
- **MainForm.cs**
- **SettingsComponent.cs**