ZT/sources/Modbus/ModbusMaster.h

40 lines
926 B
C++

#ifndef CMODBUSMASTER_H
#define CMODBUSMASTER_H
#include <QObject>
#include "ModbusBackend.h"
class CModbusMaster : public CModbusBackend
{
Q_OBJECT
public:
explicit CModbusMaster(CModbusRepository *Repo, int ModbusPort, int DevID);
~CModbusMaster();
int ConnectToSlave(QString SlaveIP, int SlavePort);
int DisconnectFromSlave();
int ReadModbusRegisters();
int SendAN1ToZT();
int SendAN2ToZT();
virtual void RegistersDatabaseUpdated(quint16 StartAddress, quint16 Length);
virtual void ModbusResponseException(quint8 ExceptionCode, quint8 FctCode);
private:
int mModbusPort;
signals:
void ModbusMasterConnected(CModbusMaster *);
void ModbusMasterDisconnected(CModbusMaster *);
void ModbusMasterRepositoryUpdated();
public slots:
void SocketConnected();
void SocketDisconnected();
};
#endif // CMODBUSMASTER_H