一、源码
#ifndef MODBUS_H
#define MODBUS_H
#include <QWidget>
#include <QModbusRtuSerialMaster>
#include <QModbusDevice>
#include <QSerialPort>
#include <QSerialPortInfo>
#include <QTcpServer>
#include <QTcpSocket>
#include <QModbusTcpClient>
namespace Ui {
class ModBus;
}
class ModBus : public QWidget
{
Q_OBJECT
public:
explicit ModBus(QWidget *parent = nullptr);
~ModBus();
private slots:
void on_pushButton_read_clicked();
void on_pushButton_write_clicked();
void on_pushButton_connect_clicked();
void on_pushButton_close_clicked();
void on_pushButton_read_tcp_clicked();
void on_pushButton_write_tcp_clicked();
private:
Ui::ModBus *ui;
QModbusRtuSerialMaster *m_modbusrtumaster;
QModbusTcpClient *m_modTcpClient;
};
#endif // MODBUS_H
#include "modbus.h"
#include "ui_modbus.h"
ModBus::ModBus(QWidget *parent) :
QWidget(parent),
ui(new Ui::ModBus)
{
ui->setupUi(this);
//串口初始化
m_modbusrtumaster = new QModbusRtuSerialMaster(this);
m_modbusrtumaster->setConnectionParameter(QModbusDevice::SerialPortNameParameter, "COM3");
m_modbusrtumaster->setConnectionParameter(QModbusDevice::SerialParityParameter, QSerialPort::Eve