#ifndef MODBUSCONTROLLER_H #define MODBUSCONTROLLER_H #include #include #include #include #include #include //#include #include #include #include #include #include #include #include #include typedef struct _tagSlave { int id; int function_code; int start_address; int quantity; int interval; } SlaveData; class ModbusController :public QObject { Q_OBJECT public: ModbusController(); ~ModbusController(); public: void getConfiguration(QString iniFilePath); bool Open(); bool Read(); protected: bool modbus_rtu(); bool modbus_tcp(); protected: QString m_version; int m_modbus_type; QString m_modbus_ip; int m_modbus_port; QString m_modbus_com; int m_modbus_baund; int m_modbus_data; int m_modbus_parity; int m_modbus_stop; QVector m_slaves; protected: QModbusRtuSerialClient* m_pModbusMaster; //创建modbus对象 QSettings* m_pSettings; public slots: void readRegisters(); //读寄存器函数 }; #endif // MODBUSCONTROLLER_H