# GSModbus 配置文件说明 ## 📋 配置文件概述 本项目提供了两个主要配置文件: ### 1. `modbus_config.json` - 演示配置 - 通用的演示配置文件 - 包含示例数据字段和配置 - 适用于学习和测试 ### 2. `production_config.json` - 生产环境配置 ⭐ - **根据实际需求文档生成的配置** - 完全匹配PLC地址映射 - 符合生产线实际通信协议 ## 🏭 生产配置详细说明 ### 连接配置 ```json "Connection": { "IpAddress": "192.168.3.250", // PLC服务器IP地址 "Port": 502, // Modbus TCP标准端口 "ConnectionTimeoutMs": 5000, // 连接超时时间 "OperationTimeoutMs": 3000 // 操作超时时间 } ``` ### 输出地址(MES→PLC) | 地址 | 功能 | 数据类型 | 说明 | |------|------|----------|------| | D6000 | MES心跳包 | BYTE | 一秒交替发0/1 | | D6001 | 数据读取OK信号 | BYTE | 数据读取OK置1 | ### 输入地址(PLC→MES) #### 控制信号 | 地址 | 功能 | 数据类型 | 长度 | 说明 | |------|------|----------|------|------| | D6002 | PLC心跳包 | BYTE | 1 | 一秒交替发0/1 | | D6003 | 数据就绪信号 | BYTE | 1 | 数据OK置1 | #### 产品数据 | 地址范围 | 功能 | 数据类型 | 长度 | 说明 | |----------|------|----------|------|------| | D6004-D6013 | 产品型号 | String | 10 | 大端模式,一个字节两个字符 | | D6014 | 测试工位 | BYTE | 1 | 工位编号 | | D6015-D6024 | 产品码 | String | 10 | 大端模式,一个字节两个字符 | | D6025 | 测试结果 | BYTE | 1 | 0=不合格,1=合格 | | D6026-D6032 | 记录时间 | Timestamp | 7 | 格式:YYYYMMDDHHMMSS | #### 测量数据 | 地址范围 | 功能 | 数据类型 | 长度 | 单位 | 小数位 | 说明 | |----------|------|----------|------|------|--------|------| | D6033-D6034 | 最小安装尺寸 | Integer | 2 | mm | 2 | 例:12345→123.45 | | D6035-D6036 | 最大安装尺寸 | Integer | 2 | mm | 2 | 默认两个小数点 | | D6037-D6038 | 行程 | Integer | 2 | mm | 2 | 执行器行程 | | D6039-D6040 | 速度 | Integer | 2 | mm/s | 2 | 执行器速度 | | D6041-D6042 | 工作电压 | Integer | 2 | V | 2 | 系统电压 | | D6043-D6044 | 工作电流 | Integer | 2 | A | 2 | 系统电流 | | D6045-D6046 | 工作压力 | Integer | 2 | bar | 2 | 系统压力 | | D6047-D6048 | 上升霍尔传感器 | Integer | 2 | - | 2 | 传感器读数 | ## 💾 数据库配置 ### 数据库连接 ```json "Database": { "Enabled": true, "Type": "SqlServer", "ConnectionString": "Server=localhost\\SQLEXPRESS;Database=ProductionMES;Trusted_Connection=true;TrustServerCertificate=true;", "AutoCreateTables": true, "BatchSize": 100, "DataRetentionDays": 90 } ``` ### 数据表设计 | 表名 | 用途 | 说明 | |------|------|------| | ProductionData | 主数据表 | 存储所有生产数据 | | CommunicationLog | 通信日志 | 记录连接、断开、数据接收等事件 | | ErrorLog | 错误日志 | 记录通信错误和异常 | | Statistics | 统计数据 | 记录通信统计信息 | ## 🔧 配置修改指南 ### 1. 修改数据库连接 根据你的数据库环境,修改以下参数: ```json "ConnectionString": "你的数据库连接字符串" ``` 常见数据库连接字符串示例: - **SQL Server (Windows认证)**: `"Server=localhost;Database=ProductionMES;Trusted_Connection=true;TrustServerCertificate=true;"` - **SQL Server (用户名密码)**: `"Server=localhost;Database=ProductionMES;User Id=sa;Password=your_password;TrustServerCertificate=true;"` - **MySQL**: `"Server=localhost;Database=ProductionMES;Uid=root;Pwd=your_password;"` - **SQLite**: `"Data Source=ProductionMES.db;"` ### 2. 修改PLC连接 如果PLC IP地址不同,修改: ```json "IpAddress": "你的PLC_IP地址" ``` ### 3. 调整通信参数 根据网络状况调整: ```json "HeartbeatIntervalMs": 1000, // 心跳间隔 "DataPollingIntervalMs": 500, // 数据轮询间隔 "ConnectionTimeoutMs": 5000, // 连接超时 "ReconnectDelayMs": 3000 // 重连延迟 ``` ## 🚀 使用步骤 1. **选择配置文件**:在程序中点击"选择配置文件",选择 `production_config.json` 2. **配置数据库**:确保数据库服务运行,修改连接字符串 3. **连接PLC**:点击"连接PLC"开始通信 4. **查看数据**:所有数据会实时显示在日志中,并自动保存到数据库 ## 📊 数据显示格式 程序会自动按类别显示数据: ``` [15:23:48] 📊 [数据 #1] 15:23:48.123 控制信号: • PLC心跳: 1 • 数据就绪: 数据就绪 产品数据: • 产品型号: ABC-123 • 测试工位: 2 • 产品码: P001234567 • 测试结果: 合格 • 记录时间: 2025-01-22 15:23:48 测量数据: • 最小安装尺寸: 25.30 mm • 最大安装尺寸: 28.75 mm • 行程: 15.20 mm • 速度: 5.50 mm/s • 工作电压: 24.50 V • 工作电流: 1.25 A • 工作压力: 6.80 bar • 上升霍尔传感器: 255.00 -------------------------------------------------- ``` ## ⚠️ 注意事项 1. **数据库权限**:确保数据库用户有创建表的权限 2. **网络连接**:确保能够访问PLC的IP地址 3. **防火墙**:确保502端口没有被防火墙阻塞 4. **数据格式**:字符串数据使用大端模式存储 5. **时间戳格式**:记录时间格式为YYYYMMDDHHMMSS(如:20250718105959) 6. **小数点处理**:测量数据默认保留2位小数,缩放因子为0.01 这个配置文件完全基于您的需求文档生成,可以直接用于生产环境!