尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

完整教程:新手怎么利用Qt连接汇川Easy系列的小型PLC

完整教程:新手怎么利用Qt连接汇川Easy系列的小型PLC
📅 发布时间:2026/6/22 19:17:31

1.确认PLC版本

根据手头上的plc版本,在汇川官网上找到对应的plc用户手册。

汇川官网:汇川技术 - 推进工业文明 共创美好生活

例如我手头上的是:Easy 521-0808-TN,找到对应的用户手册

2.连接PLC与PC

根据用户手册,查看PLC对应的部件说明

再查看对应的电源规格

从这里我们可以看到对应的额定电源电压是24V,额定电流是1A。

根据对应线位,连接电源,打开拨码开关。

蓝线为负极,红线为正极,网线连接到PC端。

确认后打开电源,灯光如图所示。

3.Qt 连接汇川 Easy 系列 PLC

打开Qt Creator工程后建立一个Qt程序。

1.项目配置

在 Qt 项目的.pro文件中添加QT += serialbus以启用 Modbus 模块

QT       += core gui network serialbus

2.PLC 配置

  • 确保汇川 Easy 系列 PLC 已启用 Modbus TCP 功能
  • 记录 PLC 的 IP 地址(默认可能为 192.168.1.88)和端口(默认 502)

3.Qt基本连接代码编写

      PLC_TEST的头文件 plc_test.h

#ifndef PLC_TEST_H
#define PLC_TEST_H
#include
#include
#include
#include
QT_BEGIN_NAMESPACE
namespace Ui { class Plc_Test; }
QT_END_NAMESPACE
class Plc_Test : public QMainWindow
{
Q_OBJECT
public:
Plc_Test(QWidget *parent = nullptr);
~Plc_Test();
bool connectToPLC(const QString &ipAddress, int port);
private slots:
void onStateChanged(QModbusDevice::State state);
private:
Ui::Plc_Test *ui;
private:
QModbusTcpClient *m_modbusClient;
};
#endif // PLC_TEST_H

PLC_TEST的C++文件 plc_test.cpp

#include "plc_test.h"
#include "ui_plc_test.h"
#pragma execution_character_set("utf-8")
Plc_Test::Plc_Test(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::Plc_Test)
{
ui->setupUi(this);
m_modbusClient = new QModbusTcpClient(this);
// 连接状态变化信号
connect(m_modbusClient, &QModbusTcpClient::stateChanged,
this, &Plc_Test::onStateChanged);
bool connected = connectToPLC("192.168.1.88",502);
}
Plc_Test::~Plc_Test()
{
delete ui;
}
void Plc_Test::onStateChanged(QModbusDevice::State state)
{
if (state == QModbusDevice::ConnectedState) {
ui->statelab->setText("成功连接到PLC");
} else if (state == QModbusDevice::UnconnectedState) {
ui->statelab->setText("已断开与PLC的连接");
} else if (state == QModbusDevice::ConnectingState) {
ui->statelab->setText("正在连接到PLC...");
}
}
bool Plc_Test::connectToPLC(const QString &ipAddress, int port)
{
if (m_modbusClient->state() == QModbusDevice::ConnectedState) {
return true;
}
m_modbusClient->setConnectionParameter(QModbusDevice::NetworkAddressParameter, ipAddress);
m_modbusClient->setConnectionParameter(QModbusDevice::NetworkPortParameter, port);
// 设置超时和重试次数
m_modbusClient->setTimeout(1000);
m_modbusClient->setNumberOfRetries(3);
return m_modbusClient->connectDevice();
}

简单讲解一下函数

函数名参数返回值功能说明
onStateChangedQModbusDevice::State statevoid根据Modbus设备状态更新UI标签文本,显示连接状态(成功/断开/正在连接)。
connectToPLCconst QString &ipAddress, int portbool配置Modbus客户端参数(IP地址、端口、超时和重试次数),并尝试连接到PLC设备。若已连接则直接返回true。

关键细节说明

  • onStateChanged
    通过state参数判断设备状态,动态更新ui->statelab的文本内容,提供用户直观的连接状态反馈。

  • connectToPLC
    在调用connectDevice()前设置网络地址、端口、超时时间(1000毫秒)和重试次数(3次)。若设备已处于连接状态,则跳过重复连接。

  • 如果连接成功UI上的statelab会显示对应状态。

相关新闻

  • 3D影像地形图的制作:利用ArcGISPro - 指南
  • n8n实践-使用n8n搭建一个定时发送天气预报邮件的工作流
  • Cython-编程学习指南第二版-全-

最新新闻

  • 全域覆盖合肥各乡镇|2026黄金上门回收服务详解与行情参考 - 奢侈品回收评测
  • React+Prisma+GraphQL构建生产级食谱应用
  • 【题解】P16955 「NLOI Round1」宇宙冷漠
  • 2026年成都配眼镜多少钱?从几百到几千的真实价格区间 - 配眼镜新资讯
  • Qwen3-Coder-Next:80B参数模型如何靠MoE实现3B级推理
  • 佛山闲置旧金变现渠道,20天筛选31家无套路门店汇总 - 奢侈品交易观察员

日新闻

  • 2026速览惠州叛逆青少年学校前十大排名名单出炉 - 武汉中职最新信息发布
  • 2026上饶白蚁消杀哪家好?15年本土2大权威白蚁防治公司推荐(金盾虫控/青蚁卫士) - 我叫一
  • 天龙八部单机版终极数据管理工具:5个技巧快速掌握游戏数据编辑

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号