# 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 is an industrial monitoring system built on .NET 8.0 using WinForms. It is primarily designed to monitor device operational status, configure variable parameters, and manage alarm information. ## Project Structure ``` MIHSystem/ ├── MIHSystem/ # Main application │ ├── FormMain.cs # Main window │ ├── Program.cs # Entry point │ └── bin/Debug/Image/ # Image resources ├── thinger.MTHControlLib3/ # Custom control library │ ├── NaviButton.cs # Navigation button │ ├── PanelEx.cs # Extended panel │ ├── THMContorl.cs # Temperature and humidity control │ ├── dialPlate.cs # Dial gauge control │ ├── checkboxEx.cs # Custom checkbox │ ├── frmMonitor.cs # Monitoring window │ ├── frmParamSet.cs # Parameter settings window │ ├── formGroupConfig.cs # Group configuration window │ └── formVarConfig.cs # Variable configuration window ├── thinger.MTHHelper/ # Helper utility classes │ ├── IniConfigHelper.cs # INI configuration file operations │ └── DataGridViewHelper.cs # DataGridView styling helper └── thinger.MTHMdeols/ # Data models ├── Device.cs # Device model ├── Group.cs # Group model └── Variable.cs # Variable model ``` ## Features - **Device Management**: Supports configuration of device IP addresses and ports - **Variable Monitoring**: Real-time monitoring of multiple variables' status and values - **Group Configuration**: Supports creation and management of variable groups - **Alarm Functionality**: Supports positive/negative alarm settings - **Parameter Configuration**: Supports offset and scaling settings for variables - **Custom Controls**: Provides multiple industrial-style custom controls - **Logging**: Records system operation logs ## Technology Stack - **.NET 8.0** - **WinForms** - **C#** ## Dependencies - `thinger.MTHControlLib3` - Custom control library - `thinger.MTHHelper` - Helper utility library - `thinger.MTHMdeols` - Data model library - `MiniExcel` - Excel configuration file read/write ## Configuration Files The system uses the following configuration files: - `Config/Device.ini` - Device configuration - `Config/groupConfig.xlsx` - Group configuration - `Config/variableConfig.xlsx` - Variable configuration ## Quick Start ### System Requirements - .NET 8.0 SDK - Windows operating system ### Build and Run ```bash cd MIHSystem dotnet build dotnet run ``` ### Configure Device 1. After launching the application, click the Parameter Settings button 2. Enter the device IP address and port 3. Configure group and variable information ## Data Models ### Device ```csharp - IPAddress: string // Device IP address - Port: int // Device port - GroupList: List // List of groups ``` ### Group ```csharp - GroupName: string // Group name - Start: ushort // Starting address - Length: ushort // Length - StoreArea: string // Storage area - Remark: string // Remarks - VarList: List // List of variables ``` ### Variable ```csharp - VarName: string // Variable name - Start: ushort // Starting address - DataType: string // Data type - OffsetOrLength: int // Offset or length - GroupName: string // Group name - PosAlarm: bool // Positive alarm - NegAlarm: bool // Negative alarm - Offset: float // Offset - Scale: float // Scale ``` ## Custom Controls | Control Name | Description | |--------------|-------------| | NaviButton | Navigation button with selected state support | | PanelEx | Extended panel with border customization | | THMContorl | Temperature and humidity display control | | dialPlate | Dial gauge control supporting temperature and humidity display | | checkboxEx | Custom checkbox | | title | Title control | | panelEnhanced | Enhanced panel | ## License This project is intended solely for learning and communication purposes.