# 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-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MIHSystem MIHSystem 是一款基于 .NET 8.0 开发的工业监控系统,采用 WinForms 技术构建。该系统主要用于监控设备运行状态、配置变量参数、管理报警信息等工业场景。 ## 项目简介 MIHSystem 提供完整的工业设备监控解决方案,支持 Modbus TCP/RTU 双协议通信,可同时监控多个设备及大量变量数据。系统采用模块化设计,包含自定义控件库、辅助工具类、数据模型层、业务逻辑层和数据访问层,便于扩展和维护。 ## 项目结构 ``` MIHSystem/ ├── MIHSystem/ # 主应用程序 ├── thinger.MTHControlLib3/ # 自定义控件库 ├── thinger.MTHHelper/ # 辅助工具库 ├── thinger.MTHMdeols/ # 数据模型库 ├── thinger.BLL/ # 业务逻辑层 └── thinger.DAL/ # 数据访问层 ``` ## 功能特性 - **设备管理**:支持配置设备 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 设备 - `IPAddress`: 设备 IP 地址 - `Port`: 设备端口 - `RecipeName`: 配方名称 - `GroupList`: 分组列表 ### Group 分组 - `GroupName`: 分组名称 - `Start`: 起始地址 - `Length`: 数据长度 - `StoreArea`: 存储区域 - `VarList`: 变量列表 ### Variable 变量 - `VarName`: 变量名称 - `Start`: 起始地址 - `DataType`: 数据类型 - `GroupName`: 分组名称 - `OffsetOrLength`: 偏移量或长度 - `PosAlarm`: 正报警 - `NegAlarm`: 负报警 - `Offset`: 偏移量 - `Scale`: 比例 ## 自定义控件 系统提供丰富的自定义控件,主要包括: | 控件 | 说明 | |------|------| | `NaviButton` | 导航按钮 | | `PanelEx` | 扩展面板 | | `THMContorl` | 温湿度显示控件 | | `dialPlate` | 仪表盘控件 | | `checkboxEx` | 自定义复选框 | | `myLED` | LED 指示灯 | | `AlarmPanel` | 报警面板 | | `title` | 标题控件 | ## 许可证 本项目仅供学习交流使用。