编辑 | blame | 历史 | 原始文档

GSModbus 配置文件说明

📋 配置文件概述

本项目提供了两个主要配置文件:

1. modbus_config.json - 演示配置

  • 通用的演示配置文件
  • 包含示例数据字段和配置
  • 适用于学习和测试

2. production_config.json - 生产环境配置 ⭐

  • 根据实际需求文档生成的配置
  • 完全匹配PLC地址映射
  • 符合生产线实际通信协议

🏭 生产配置详细说明

连接配置

"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 | 传感器读数 |

💾 数据库配置

数据库连接

"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

这个配置文件完全基于您的需求文档生成,可以直接用于生产环境!