# PlcDebugTool **Repository Path**: hawods/plc-debug-tool ## Basic Information - **Project Name**: PlcDebugTool - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-11 - **Last Updated**: 2026-04-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PLC Debug Tool A Windows desktop application for debugging and monitoring PLC (Programmable Logic Controller) tags via EtherNet/IP protocol. ## Project Overview PlcDebugTool is a desktop application designed for debugging PLC variables, communicating with PLC devices via the EtherNet/IP protocol. It supports importing, reading, writing, and real-time monitoring of variables. ## Technical Architecture - **.NET 6.0** - Cross-platform .NET runtime - **PlcDebugTool.Core** - Core models and interface definitions - **PlcDebugTool.App** - Business logic service layer - **PlcDebugTool.Driver** - EtherNet/IP driver (based on EipTagSimple.dll) - **PlcDebugTool.WinForms** - Windows Forms client interface - **PlcDebugTool.WPF** - WPF client interface ## Features - **PLC Connection Management** - Connect/disconnect PLC devices via EtherNet/IP protocol - **Variable Import** - Import variable tag trees from CSV files - **Variable Reading** - Read PLC variable values in bulk or individually - **Variable Writing** - Modify PLC variable values - **Real-time Monitoring** - Periodically refresh variable states - **Logging** - Record operation logs and exception information ## Supported Data Types - BOOL - SINT - INT - DINT - REAL - LREAL - STRING - etc. ## Quick Start ### System Requirements - .NET 6.0 or higher - Windows operating system - EipTagSimple.dll (must be placed in the application directory) ### Build the Project ```bash dotnet build PlcDebugTool.slnx ``` ### Run the Application After successful compilation, run the `PlcDebugTool.WinForms` project to launch the application. ## Usage Instructions ### 1. Connect to PLC Click the connection button on the toolbar and fill in the following fields in the dialog: - **PLC IP Address**: Default is 192.168.1.88 - **Local IP Address**: Default is 192.168.1.33 ### 2. Import Variables Click the "Import Variables" button and select a CSV file exported from the PLC. The CSV file must include the following columns: - Variable Name - Data Type - Comment - Soft Component Address - etc. ### 3. Read and Write Variables - **Read All**: Read all variable values at once - **Individual Operations**: Click the action button on each row to read or write a single variable - **Reset Tag Cache**: Clear the current tag cache ## Project Structure ``` PlcDebugTool/ ├── PlcDebugTool.Core/ # Core Layer │ ├── Models/ # Data Models │ ├── Interfaces/ # Interface Definitions │ ├── Helpers/ # Utility Helpers │ └── ExceptionHandler.cs # Exception Handling ├── PlcDebugTool.App/ # Application Layer │ ├── Services/ # Business Services │ └── Repositories/ # Log Repository ├── PlcDebugTool.Driver/ # Driver Layer │ └── EipDriver.cs # EtherNet/IP Driver ├── PlcDebugTool.WinForms/ # WinForms Client │ └── UI/ # UI Forms └── PlcDebugTool.WPF/ # WPF Client ``` ## License This project is intended solely for learning and communication purposes.