# MIHSystem **Repository Path**: inkgn/mihsystem ## Basic Information - **Project Name**: MIHSystem - **Description**: MIH练习项目 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-21 - **Last Updated**: 2026-04-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MIHSystem MIHSystem 是一个基于 .NET 8.0 的工业监控系统,采用 WinForms 开发。该系统主要用于监控设备运行状态、配置变量参数、管理报警信息等。 ## 项目简介 MIHSystem 提供完整的工业设备监控解决方案,支持 Modbus TCP/RTU 协议通信,可同时监控多个设备及大量变量数据。系统采用模块化设计,包含自定义控件库、辅助工具类、数据模型层、业务逻辑层和数据访问层,便于扩展和维护。 ## 项目结构 ``` MIHSystem/ ├── MIHSystem/ # 主应用程序 │ ├── FormMain.cs # 主窗口 │ ├── FrmLogin.cs # 登录窗口 │ ├── Program.cs # 入口程序 │ └── bin/Debug/Image/ # 图片资源 ├── thinger.MTHControlLib3/ # 自定义控件库 │ ├── NaviButton.cs # 导航按钮 │ ├── PanelEx.cs # 扩展面板 │ ├── THMContorl.cs # 温湿度控件 │ ├── dialPlate.cs # 仪表盘控件 │ ├── checkboxEx.cs # 自定义复选框 │ ├── myLED.cs # LED指示灯 │ ├── AlarmPanel.cs # 报警面板 │ ├── frmMonitor.cs # 监控窗口 │ ├── frmParamSet.cs # 参数设置窗口 │ ├── formGroupConfig.cs # 分组配置窗口 │ ├── formVarConfig.cs # 变量配置窗口 │ ├── frmAlarm.cs # 报警记录窗口 │ ├── frmRecipe.cs # 配方管理窗口 │ └── title.cs # 标题控件 ├── thinger.MTHHelper/ # 辅助工具库 │ ├── IniConfigHelper.cs # INI配置文件操作 │ ├── DataGridViewHelper.cs # DataGridView样式辅助 │ └── JSONHelper.cs # JSON序列化辅助 ├── thinger.MTHMdeols/ # 数据模型库 │ ├── Device.cs # 设备模型 │ ├── Group.cs # 分组模型 │ ├── Variable.cs # 变量模型 │ ├── RecipeInfo.cs # 配方信息 │ ├── SysAdmin.cs # 系统管理员 │ └── SysLog.cs # 系统日志 ├── thinger.BLL/ # 业务逻辑层 │ ├── SysLogBll.cs # 系统日志业务 │ └── UserServeBll.cs # 用户服务业务 └── thinger.DAL/ # 数据访问层 ├── SysLogServe.cs # 系统日志服务 └── UserServe.cs # 用户登录服务 ``` ## 功能特性 - **设备管理**:支持配置设备IP地址和端口,支持Modbus TCP/RTU双协议 - **变量监控**:实时监控多个变量的状态和值,支持历史曲线显示 - **分组配置**:支持创建和管理变量分组,按存储区域划分 - **报警功能**:支持正/负报警设置,触发声光报警 - **参数配置**:支持变量的偏移量和比例设置 - **配方管理**:支持配方参数保存和加载 - **自定义控件**:提供多种工业风格的自定义控件 - **日志记录**:记录系统运行日志,支持导出Excel - **用户管理**:支持多用户权限管理 ## 技术栈 - **.NET 8.0** - **WinForms** - **C#** - **SQLSugar** (ORM框架) - **ScottPlot** (图表绘制) ## 依赖库 | 程序集 | 说明 | |-------|------| | `thinger.MTHControlLib3` | 自定义控件库 | | `thinger.MTHHelper` | 辅助工具库 | | `thinger.MTHMdeols` | 数据模型库 | | `thinger.BLL` | 业务逻辑层 | | `thinger.DAL` | 数据访问层 | | `MiniExcel` | Excel配置文件读写 | | `SunnyUI` | UI组件库 | | `ScottPlot.WinForms` | 图表控件 | | `SqlSugar` | ORM框架 | ## 配置文件 系统使用以下配置文件(位于 `Config/` 目录): | 文件 | 说明 | |------|------| | `Device.ini` | 设备配置(IP地址、端口等) | | `groupConfig.xlsx` | 分组配置(分组名称、起始地址、长度、存储区域) | | `variableConfig.xlsx` | 变量配置(变量名、数据类型、报警设置、偏移量、比例) | ## 快速开始 ### 环境要求 - .NET 8.0 SDK - Windows 操作系统 - Visual Studio 2022 或更高版本(推荐) ### 编译运行 ```bash # 克隆项目 git clone https://gitee.com/inkgn/mihsystem.git # 进入项目目录 cd MIHSystem # 还原依赖 dotnet restore # 编译项目 dotnet build # 运行项目 dotnet run ``` ### 配置设备 1. 运行程序后,使用管理员账号登录(默认账号可在数据库中配置) 2. 点击导航栏的"参数设置"按钮 3. 输入目标设备的IP地址和端口号 4. 配置分组信息(存储区域、起始地址、数据长度) 5. 配置变量信息(变量名、数据类型、偏移量、比例) 6. 保存配置后启动监控 ## 数据模型 ### Device 设备 ```csharp public class Device { public string IPAddress { get; set; } // 设备IP地址 public int Port { get; set; } // 设备端口 public string RecipeName { get; set; } // 配方名称 public List