这是一个基于 Qt 的 Modbus TCP 从站应用程序,用于模拟工业设备并提供 Modbus TCP 通信接口。
-
主要源文件:
main.cpp- 程序入口点,初始化 Qt 应用程序并显示主窗口modbus_poll/- 主界面模块,包含 UI 和数据处理逻辑modbus_tcp_usr/- Modbus TCP 通信模块
-
第三方库:
3rdparty/libmodbus/- libmodbus 库,提供 Modbus 协议实现3rdparty/tinyxml2/- tinyxml2 库,用于 XML 处理
-
资源文件:
qrc/- 包含字体和图标资源res.qrc- Qt 资源文件配置
- 框架: Qt 5.15.2 (C++17)
- 通信协议: Modbus TCP
- UI: Qt Widgets
- 平台: Windows (使用 MinGW 64 位编译器)
- Modbus TCP 从站: 实现标准的 Modbus TCP 从站功能
- 数据模拟: 模拟工业设备的输入/输出信号和寄存器数据
- 实时监控: 提供实时状态监控界面
- 多轴控制: 支持多个运动轴的状态监控 (Y, MX, MZ, SX, SZ)
- RegData: 包含轴位置、转速、加速度、负载、错误代码等数据
- MbAdsInfo: Modbus 地址映射信息,关联数据类型和 UI 控件
- 控制状态: 包括急停、伺服错误、初始化失败等多种状态
- Qt 5.15.2 或更高版本
- MinGW 64 位编译器
- Windows 操作系统
- 使用 Qt Creator 打开
grs_mes.pro项目文件 - 选择合适的构建套件 (Desktop_Qt_5_15_2_MinGW_64_bit)
- 构建并运行项目
- 默认 Modbus TCP 端口: 502
- 数据更新周期: 50ms
- UI 更新周期: 100ms
- 编码规范: 使用 C++17 标准,遵循 Qt 编码风格
- 命名约定:
- 类名使用 PascalCase
- 变量和函数使用 camelCase
- 常量使用 UPPER_CASE
- 线程安全: 使用互斥锁保护共享数据
- 错误处理: 使用状态码和错误消息进行错误处理
- 定义
DBG_UI宏可启用 UI 调试功能 - 控制台输出实时状态信息
- 应用程序需要管理员权限运行 (因为使用 502 端口)
- 确保 Windows 防火墙允许 502 端口通信
- 使用 libmodbus 库时需要链接 ws2_32 库 (Windows)