# winform-mes **Repository Path**: xinxin2017/winform-mes ## Basic Information - **Project Name**: winform-mes - **Description**: No description available - **Primary Language**: C# - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-16 - **Last Updated**: 2026-09-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MES制造执行系统 ## 项目简介 MESFrame是一款基于C# WinForm开发的商用MES(Manufacturing Execution System,制造执行系统),用于工业场景下的生产管理和设备数据采集。 ## 技术栈 - **开发语言**: C# (.NET 6.0) - **UI框架**: Windows Forms - **数据库**: SQLite - **通信协议**: 串口通信(SerialPort) ## 主要功能模块 ### 1. 用户管理 - 用户登录认证 - 角色权限管理(管理员/操作员) - 默认管理员账号:admin / admin123 ### 2. 生产订单管理 - 创建、编辑、删除生产订单 - 订单状态管理(待生产、生产中、已完成、已取消) - 订单查询和统计 ### 3. 设备管理 - 设备信息维护(编码、名称、类型、位置等) - 设备状态监控(空闲、运行中、故障等) - 串口配置(端口、波特率) ### 4. 生产数据采集 - 实时设备数据采集(串口通信) - 生产数据记录 - 数据查询和统计 ### 5. 生产数据查询 - 按日期范围查询生产数据 - 按订单号查询生产数据 - 数据导出功能 ## 项目结构 ``` MESFrame/ ├── MESFrame/ │ ├── Models/ # 数据模型 │ │ ├── ProductionOrder.cs │ │ ├── Equipment.cs │ │ └── ProductionData.cs │ ├── DAL/ # 数据访问层 │ │ ├── DatabaseHelper.cs │ │ ├── ProductionOrderDAL.cs │ │ ├── EquipmentDAL.cs │ │ ├── ProductionDataDAL.cs │ │ └── UserDAL.cs │ ├── BLL/ # 业务逻辑层 │ │ ├── ProductionOrderBLL.cs │ │ ├── EquipmentBLL.cs │ │ └── ProductionDataBLL.cs │ ├── Communication/ # 通信模块 │ │ └── SerialPortHelper.cs │ ├── Forms/ # 窗体界面 │ │ ├── LoginForm.cs │ │ ├── MainForm.cs │ │ ├── ProductionOrderForm.cs │ │ ├── EquipmentManagementForm.cs │ │ ├── ProductionDataForm.cs │ │ └── DataCollectionForm.cs │ ├── Program.cs # 程序入口 │ └── MESFrame.csproj # 项目文件 ├── MESFrame.sln # 解决方案文件 └── README.md # 项目说明文档 ``` ## 安装和运行 ### 环境要求 - Windows 操作系统 - .NET 6.0 SDK 或更高版本 - Visual Studio 2022 或 Visual Studio Code(推荐) ### 编译运行 1. 打开解决方案文件 `MESFrame.sln` 2. 还原NuGet包(Visual Studio会自动处理) 3. 按F5运行项目 ### 首次运行 系统会自动创建SQLite数据库文件 `MESDatabase.db`,并初始化以下数据: - 创建数据表(生产订单、设备、生产数据、用户) - 创建默认管理员账户(用户名:admin,密码:admin123) ## 使用说明 ### 登录系统 1. 启动程序后,会显示登录界面 2. 使用默认管理员账号登录:admin / admin123 3. 登录成功后进入主界面 ### 创建生产订单 1. 点击菜单"生产" -> "生产订单" 2. 点击"新增订单"按钮 3. 填写产品信息(编码、名称、数量等) 4. 保存订单 ### 开始生产 1. 在"生产订单"界面选择待生产的订单 2. 点击"开始生产"按钮 3. 选择要使用的设备 4. 确认后订单状态变为"生产中" ### 设备数据采集 1. 点击菜单"设备" -> "数据采集" 2. 选择设备和订单 3. 点击"连接设备"(需要先配置设备的串口信息) 4. 设备连接成功后,可以接收设备数据 5. 输入生产数量,点击"记录生产数据" ### 设备管理 1. 点击菜单"设备" -> "设备管理"(需要管理员权限) 2. 可以新增、编辑、删除设备 3. 配置设备的串口信息(端口号、波特率) ## 数据库结构 ### ProductionOrders(生产订单表) - Id: 主键 - OrderNo: 订单编号(唯一) - ProductCode: 产品编码 - ProductName: 产品名称 - Quantity: 生产数量 - CompletedQuantity: 已完成数量 - Status: 订单状态 - CreateTime: 创建时间 - StartTime: 开始时间 - EndTime: 结束时间 - Operator: 操作员 - EquipmentCode: 设备编码 - Remarks: 备注 ### Equipment(设备表) - Id: 主键 - EquipmentCode: 设备编码(唯一) - EquipmentName: 设备名称 - EquipmentType: 设备类型 - Status: 设备状态 - Location: 位置 - SerialPort: 串口 - BaudRate: 波特率 - LastUpdateTime: 最后更新时间 - Remarks: 备注 ### ProductionData(生产数据表) - Id: 主键 - OrderNo: 订单编号 - EquipmentCode: 设备编码 - ProductCode: 产品编码 - Quantity: 数量 - QualityStatus: 质量状态 - ProductionTime: 生产时间 - Operator: 操作员 - Parameters: 参数 - Remarks: 备注 ### Users(用户表) - Id: 主键 - Username: 用户名(唯一) - Password: 密码 - Role: 角色 - CreateTime: 创建时间 - LastLoginTime: 最后登录时间 - IsActive: 是否激活 ## 注意事项 1. **串口通信**: 使用串口通信功能需要设备支持串口通信协议,并正确配置串口参数 2. **数据库**: 数据库文件 `MESDatabase.db` 会在程序运行目录下自动创建 3. **权限管理**: 只有管理员可以管理设备和用户,普通操作员只能进行生产操作 4. **数据备份**: 建议定期备份数据库文件 ## 开发说明 ### 扩展功能 - 可以添加更多报表统计功能 - 可以集成更多设备通信协议(Modbus、OPC等) - 可以添加数据导出功能(Excel、PDF等) - 可以添加实时监控大屏 ### 代码规范 - 采用三层架构:Model(模型层)、DAL(数据访问层)、BLL(业务逻辑层) - 命名规范:类名使用PascalCase,方法名使用PascalCase,变量名使用camelCase - 异常处理:所有数据库操作和业务逻辑都包含异常处理 ## 许可证 本项目遵循许可证文件中的条款。 ## 联系方式 如有问题或建议,请联系开发团队。