Modbus SEI Dev again...
This commit is contained in:
parent
9d02b34ad0
commit
6f596a9f1e
@ -554,17 +554,22 @@ int CModbusBackend::SendWriteHoldingRegistersRequest(quint16 StartAddress, quint
|
|||||||
NewRequest->mPDU.mData.clear();
|
NewRequest->mPDU.mData.clear();
|
||||||
NewRequest->mPDU.mFunctionCode = MODBUS_FCT_WRITE_MULTIPLE_REGISTERS;
|
NewRequest->mPDU.mFunctionCode = MODBUS_FCT_WRITE_MULTIPLE_REGISTERS;
|
||||||
|
|
||||||
|
//Start address
|
||||||
quint8 HighByte, LowByte;
|
quint8 HighByte, LowByte;
|
||||||
LowByte = StartAddress & 0x00FF;
|
LowByte = StartAddress & 0x00FF;
|
||||||
HighByte = (StartAddress >> 8) & 0x00FF;
|
HighByte = (StartAddress >> 8) & 0x00FF;
|
||||||
NewRequest->mPDU.mData.append(HighByte);
|
NewRequest->mPDU.mData.append(HighByte);
|
||||||
NewRequest->mPDU.mData.append(LowByte);
|
NewRequest->mPDU.mData.append(LowByte);
|
||||||
|
|
||||||
|
//Nb Registers
|
||||||
LowByte = RegisterCount & 0x00FF;
|
LowByte = RegisterCount & 0x00FF;
|
||||||
HighByte = (RegisterCount >> 8) & 0x00FF;
|
HighByte = (RegisterCount >> 8) & 0x00FF;
|
||||||
NewRequest->mPDU.mData.append(HighByte);
|
NewRequest->mPDU.mData.append(HighByte);
|
||||||
NewRequest->mPDU.mData.append(LowByte);
|
NewRequest->mPDU.mData.append(LowByte);
|
||||||
|
|
||||||
|
//Byte Count
|
||||||
|
NewRequest->mPDU.mData.append(RegData.size());
|
||||||
|
|
||||||
NewRequest->mPDU.mData.append(RegData);
|
NewRequest->mPDU.mData.append(RegData);
|
||||||
|
|
||||||
NewRequest->mHeader.mMessageLength = NewRequest->mPDU.mData.size() + 2;
|
NewRequest->mHeader.mMessageLength = NewRequest->mPDU.mData.size() + 2;
|
||||||
|
|||||||
@ -1,10 +1,11 @@
|
|||||||
#include "ModbusSEIMgr.h"
|
#include "ModbusSEIMgr.h"
|
||||||
#include <QTcpSocket>
|
#include <QTcpSocket>
|
||||||
#include "ModbusCCDefs.h"
|
#include "ModbusCCDefs.h"
|
||||||
|
#include "ModbusSEIDefs.h"
|
||||||
#include "GlobalDefine.h"
|
#include "GlobalDefine.h"
|
||||||
|
|
||||||
CModbusSEIMgr::CModbusSEIMgr(CModbusRepository *Repo, QHostAddress ServerIP, int ModbusPort, int DevID):
|
CModbusSEIMgr::CModbusSEIMgr(CModbusRepository *SEIRepo, CModbusRepository *CCRepo, QHostAddress ServerIP, int ModbusPort, int DevID):
|
||||||
CModbusBackend(Repo)
|
CModbusBackend(SEIRepo)
|
||||||
{
|
{
|
||||||
// connect(mModbusTCPSocketHandle,SIGNAL(readyRead()),this,SLOT(ModbusDataReady()));
|
// connect(mModbusTCPSocketHandle,SIGNAL(readyRead()),this,SLOT(ModbusDataReady()));
|
||||||
mModbusMode = MODBUS_MASTER_MODE;
|
mModbusMode = MODBUS_MASTER_MODE;
|
||||||
@ -12,16 +13,27 @@ CModbusSEIMgr::CModbusSEIMgr(CModbusRepository *Repo, QHostAddress ServerIP, int
|
|||||||
mDeviceID = DevID;
|
mDeviceID = DevID;
|
||||||
mSEIIPAddress = ServerIP;
|
mSEIIPAddress = ServerIP;
|
||||||
|
|
||||||
|
mCCRepoHandle = CCRepo;
|
||||||
|
|
||||||
|
mZTWatchdog = false;
|
||||||
|
|
||||||
mConnectionTimer = new QTimer();
|
mConnectionTimer = new QTimer();
|
||||||
mConnectionTimer->setInterval(SEI_CLIENT_RECONNECT_TIMEOUT);
|
mConnectionTimer->setInterval(SEI_CLIENT_RECONNECT_TIMEOUT);
|
||||||
mConnectionTimer->setSingleShot(false);
|
mConnectionTimer->setSingleShot(false);
|
||||||
mConnectionTimer->stop();
|
mConnectionTimer->stop();
|
||||||
|
|
||||||
|
mSEIModbusUpdateTimer = new QTimer();
|
||||||
|
mSEIModbusUpdateTimer->setInterval(1000);
|
||||||
|
mSEIModbusUpdateTimer->setSingleShot(false);
|
||||||
|
mSEIModbusUpdateTimer->stop();
|
||||||
|
|
||||||
|
|
||||||
mModbusTCPSocketHandle = new QTcpSocket();
|
mModbusTCPSocketHandle = new QTcpSocket();
|
||||||
connect(mModbusTCPSocketHandle,SIGNAL(readyRead()),this,SLOT(ModbusDataReady()));
|
connect(mModbusTCPSocketHandle,SIGNAL(readyRead()),this,SLOT(ModbusDataReady()));
|
||||||
connect(mModbusTCPSocketHandle,SIGNAL(disconnected()),this,SLOT(SocketDisconnected()));
|
connect(mModbusTCPSocketHandle,SIGNAL(disconnected()),this,SLOT(SocketDisconnected()));
|
||||||
connect(mModbusTCPSocketHandle,SIGNAL(connected()),this,SLOT(SocketConnected()));
|
connect(mModbusTCPSocketHandle,SIGNAL(connected()),this,SLOT(SocketConnected()));
|
||||||
connect(mConnectionTimer,SIGNAL(timeout()),this,SLOT(ConnectionTimerExpired()));
|
connect(mConnectionTimer,SIGNAL(timeout()),this,SLOT(ConnectionTimerExpired()));
|
||||||
|
connect(mSEIModbusUpdateTimer,SIGNAL(timeout()),this,SLOT(SEIModbusUpdateTimerExpired()));
|
||||||
}
|
}
|
||||||
|
|
||||||
CModbusSEIMgr::~CModbusSEIMgr()
|
CModbusSEIMgr::~CModbusSEIMgr()
|
||||||
@ -35,8 +47,8 @@ CModbusSEIMgr::~CModbusSEIMgr()
|
|||||||
|
|
||||||
if(mConnectionTimer)
|
if(mConnectionTimer)
|
||||||
delete mConnectionTimer;
|
delete mConnectionTimer;
|
||||||
if(mSEIWatchdogTimer)
|
if(mSEIModbusUpdateTimer)
|
||||||
delete mSEIWatchdogTimer;
|
delete mSEIModbusUpdateTimer;
|
||||||
}
|
}
|
||||||
|
|
||||||
int CModbusSEIMgr::StartSEICommunication()
|
int CModbusSEIMgr::StartSEICommunication()
|
||||||
@ -76,6 +88,7 @@ void CModbusSEIMgr::SocketConnected()
|
|||||||
emit ModbusMasterConnected(mModbusTCPSocketHandle->localAddress().toIPv4Address(),mModbusTCPSocketHandle->peerAddress().toIPv4Address());
|
emit ModbusMasterConnected(mModbusTCPSocketHandle->localAddress().toIPv4Address(),mModbusTCPSocketHandle->peerAddress().toIPv4Address());
|
||||||
qDebug("Master: Connection established with NetTrac");
|
qDebug("Master: Connection established with NetTrac");
|
||||||
mConnectionTimer->stop();
|
mConnectionTimer->stop();
|
||||||
|
mSEIModbusUpdateTimer->start();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CModbusSEIMgr::SocketDisconnected()
|
void CModbusSEIMgr::SocketDisconnected()
|
||||||
@ -83,6 +96,7 @@ void CModbusSEIMgr::SocketDisconnected()
|
|||||||
ModbusLinkDisconnected();
|
ModbusLinkDisconnected();
|
||||||
emit ModbusMasterDisconnected();
|
emit ModbusMasterDisconnected();
|
||||||
mConnectionTimer->start();
|
mConnectionTimer->start();
|
||||||
|
mSEIModbusUpdateTimer->stop();
|
||||||
qDebug("Disconnected from NetTrac");
|
qDebug("Disconnected from NetTrac");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -98,18 +112,7 @@ void CModbusSEIMgr::ConnectionTimerExpired()
|
|||||||
if(mModbusTCPSocketHandle->state() == QAbstractSocket::UnconnectedState)
|
if(mModbusTCPSocketHandle->state() == QAbstractSocket::UnconnectedState)
|
||||||
{
|
{
|
||||||
ConnectToSlave(mSEIIPAddress,mModbusPort);
|
ConnectToSlave(mSEIIPAddress,mModbusPort);
|
||||||
mConnectionTimeout.restart();
|
|
||||||
}
|
}
|
||||||
// else if(mModbusTCPSocketHandle->state() == QAbstractSocket::ConnectingState)
|
|
||||||
// {
|
|
||||||
// //Default connection timeout is 1s for sockets. We want this to be shorter.
|
|
||||||
// //if connection timeout is reached, disconnect and retry.
|
|
||||||
// if(mConnectionTimeout.hasExpired(SEI_CLIENT_CONNECTION_TIMEOUT))
|
|
||||||
// {
|
|
||||||
// mModbusTCPSocketHandle->disconnectFromHost();
|
|
||||||
// qDebug("Connection timeout expired... disconnecting");
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int CModbusSEIMgr::SEISettingsChanged(QHostAddress ServerIP, int ModbusPort, int DevID)
|
int CModbusSEIMgr::SEISettingsChanged(QHostAddress ServerIP, int ModbusPort, int DevID)
|
||||||
@ -131,6 +134,49 @@ int CModbusSEIMgr::SEISettingsChanged(QHostAddress ServerIP, int ModbusPort, int
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CModbusSEIMgr::SEIModbusUpdateTimerExpired()
|
||||||
|
{
|
||||||
|
//The SEI Modbus table is updated on event, triggered by the TKTransport object (see ZTTKUpdated()).
|
||||||
|
//Just update the watchdog and send the current table.
|
||||||
|
mZTWatchdog = !mZTWatchdog;
|
||||||
|
|
||||||
|
if(mZTWatchdog)
|
||||||
|
{
|
||||||
|
mModbusRepo->WriteSingleReg(SEI_MODBUS_ZT_WATCHDOG_REG,0x01);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mModbusRepo->WriteSingleReg(SEI_MODBUS_ZT_WATCHDOG_REG,0);
|
||||||
|
}
|
||||||
|
|
||||||
|
SendWriteHoldingRegistersRequest(SEI_MODBUS_ZT_DATA_BASE_REG,SEI_MODBUS_ZT_TABLE_DATA_SIZE);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//This signal is emitted by TKTransport when a changed happened in the TK after the CC modbus table has been updated.
|
||||||
|
//We just need to copy the relevant info from the CC repo...
|
||||||
|
//As per specification, we must also send an update on change to the SEI
|
||||||
|
void CModbusSEIMgr::ZTTKUpdated()
|
||||||
|
{
|
||||||
|
//Copy data from CC modbus table to SEI modbus table.
|
||||||
|
mModbusRepo->WriteHRData(SEI_MODBUS_ZT_DATA_BASE_REG,SEI_MODBUS_ZT_TABLE_DATA_SIZE,mCCRepoHandle->GetHRData(MODBUS_ZT_DATA_BASE_REG,SEI_MODBUS_ZT_TABLE_DATA_SIZE));
|
||||||
|
|
||||||
|
//Keep our actual watchdog value..
|
||||||
|
if(mZTWatchdog)
|
||||||
|
{
|
||||||
|
mModbusRepo->WriteSingleReg(SEI_MODBUS_ZT_WATCHDOG_REG,0x01);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mModbusRepo->WriteSingleReg(SEI_MODBUS_ZT_WATCHDOG_REG,0);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Send the data now to NetTrac
|
||||||
|
SendWriteHoldingRegistersRequest(SEI_MODBUS_ZT_WATCHDOG_REG,SEI_MODBUS_ZT_TABLE_DATA_SIZE);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
void CModbusSEIMgr::RegistersDatabaseUpdated(quint16 StartAddress, quint16 Length)
|
void CModbusSEIMgr::RegistersDatabaseUpdated(quint16 StartAddress, quint16 Length)
|
||||||
{
|
{
|
||||||
Q_UNUSED(StartAddress)
|
Q_UNUSED(StartAddress)
|
||||||
|
|||||||
@ -15,7 +15,7 @@ class CModbusSEIMgr : public CModbusBackend
|
|||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit CModbusSEIMgr(CModbusRepository *Repo, QHostAddress ServerIP, int ModbusPort, int DevID);
|
explicit CModbusSEIMgr(CModbusRepository *SEIRepo,CModbusRepository *CCRepo, QHostAddress ServerIP, int ModbusPort, int DevID);
|
||||||
~CModbusSEIMgr();
|
~CModbusSEIMgr();
|
||||||
|
|
||||||
int ConnectToSlave(QHostAddress SlaveIP, int SlavePort);
|
int ConnectToSlave(QHostAddress SlaveIP, int SlavePort);
|
||||||
@ -29,12 +29,14 @@ public:
|
|||||||
virtual void ModbusResponseException(quint8 ExceptionCode, quint8 FctCode);
|
virtual void ModbusResponseException(quint8 ExceptionCode, quint8 FctCode);
|
||||||
|
|
||||||
QTimer *mConnectionTimer;
|
QTimer *mConnectionTimer;
|
||||||
QTimer *mSEIWatchdogTimer;
|
// QTimer *mSEIWatchdogTimer;
|
||||||
QElapsedTimer mConnectionTimeout;
|
QTimer *mSEIModbusUpdateTimer;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int mModbusPort;
|
int mModbusPort;
|
||||||
QHostAddress mSEIIPAddress;
|
QHostAddress mSEIIPAddress;
|
||||||
|
CModbusRepository *mCCRepoHandle;
|
||||||
|
bool mZTWatchdog;
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void ModbusMasterConnected(qint32 LocalIP, qint32 RemoteIP);
|
void ModbusMasterConnected(qint32 LocalIP, qint32 RemoteIP);
|
||||||
@ -45,6 +47,8 @@ public slots:
|
|||||||
void SocketConnected();
|
void SocketConnected();
|
||||||
void SocketDisconnected();
|
void SocketDisconnected();
|
||||||
void ConnectionTimerExpired();
|
void ConnectionTimerExpired();
|
||||||
|
void SEIModbusUpdateTimerExpired();
|
||||||
|
void ZTTKUpdated();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // CMODBUSSEIMGR_H
|
#endif // CMODBUSSEIMGR_H
|
||||||
|
|||||||
@ -4,9 +4,10 @@
|
|||||||
#include "EngLog.h"
|
#include "EngLog.h"
|
||||||
|
|
||||||
|
|
||||||
CModbusTKTransport::CModbusTKTransport(CModbusRepository *Repo)
|
CModbusTKTransport::CModbusTKTransport(CModbusRepository *CCRepo, CModbusRepository *SEIRepo)
|
||||||
{
|
{
|
||||||
mMCCodbusRepo = Repo;
|
mMCCodbusRepo = CCRepo;
|
||||||
|
mSEIModbusRepo = SEIRepo;
|
||||||
mZT1CDVState = mZT2CDVState = false;
|
mZT1CDVState = mZT2CDVState = false;
|
||||||
mMaintenanceMode = mForceZT1Clear = mForceZT2Clear = false;
|
mMaintenanceMode = mForceZT1Clear = mForceZT2Clear = false;
|
||||||
mZT1TKDataList.clear();
|
mZT1TKDataList.clear();
|
||||||
@ -68,6 +69,8 @@ int CModbusTKTransport::ClearTK(int ZT)
|
|||||||
mMCCodbusRepo->WriteMultipleRegs(MODBUS_ZT1_ALARM_DATA_BASE_REG_ADD,Data);
|
mMCCodbusRepo->WriteMultipleRegs(MODBUS_ZT1_ALARM_DATA_BASE_REG_ADD,Data);
|
||||||
mMCCodbusRepo->WriteSingleReg(MODBUS_MISC_DATA_BASE_REG_ADD,PannesReg);
|
mMCCodbusRepo->WriteSingleReg(MODBUS_MISC_DATA_BASE_REG_ADD,PannesReg);
|
||||||
|
|
||||||
|
emit TKUpdated();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else if(ZT == ZT2_TYPE_ID)
|
else if(ZT == ZT2_TYPE_ID)
|
||||||
@ -94,6 +97,7 @@ int CModbusTKTransport::ClearTK(int ZT)
|
|||||||
//Clear repo now...
|
//Clear repo now...
|
||||||
mMCCodbusRepo->WriteMultipleRegs(MODBUS_ZT2_ALARM_DATA_BASE_REG_ADD,Data);
|
mMCCodbusRepo->WriteMultipleRegs(MODBUS_ZT2_ALARM_DATA_BASE_REG_ADD,Data);
|
||||||
mMCCodbusRepo->WriteSingleReg(MODBUS_MISC_DATA_BASE_REG_ADD,PannesReg);
|
mMCCodbusRepo->WriteSingleReg(MODBUS_MISC_DATA_BASE_REG_ADD,PannesReg);
|
||||||
|
emit TKUpdated();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -263,6 +267,7 @@ int CModbusTKTransport::SendTKToCC(int ZT)
|
|||||||
DataBuf[RegOffset(MODBUS_ZT1_ALARM_DATA_BASE_REG_ADD)] = FlagsReg;
|
DataBuf[RegOffset(MODBUS_ZT1_ALARM_DATA_BASE_REG_ADD)] = FlagsReg;
|
||||||
DataBuf[RegOffset(MODBUS_MISC_DATA_BASE_REG_ADD)] = PannesReg;
|
DataBuf[RegOffset(MODBUS_MISC_DATA_BASE_REG_ADD)] = PannesReg;
|
||||||
mMCCodbusRepo->WriteMultipleRegs(MODBUS_ZT_DATA_BASE_REG,DataBuf);
|
mMCCodbusRepo->WriteMultipleRegs(MODBUS_ZT_DATA_BASE_REG,DataBuf);
|
||||||
|
emit TKUpdated();
|
||||||
|
|
||||||
}
|
}
|
||||||
else if(ZT == ZT2_TYPE_ID)
|
else if(ZT == ZT2_TYPE_ID)
|
||||||
@ -365,6 +370,7 @@ int CModbusTKTransport::SendTKToCC(int ZT)
|
|||||||
DataBuf[RegOffset(MODBUS_ZT2_ALARM_DATA_BASE_REG_ADD)] = FlagsReg;
|
DataBuf[RegOffset(MODBUS_ZT2_ALARM_DATA_BASE_REG_ADD)] = FlagsReg;
|
||||||
DataBuf[RegOffset(MODBUS_MISC_DATA_BASE_REG_ADD)] = PannesReg;
|
DataBuf[RegOffset(MODBUS_MISC_DATA_BASE_REG_ADD)] = PannesReg;
|
||||||
mMCCodbusRepo->WriteMultipleRegs(MODBUS_ZT_DATA_BASE_REG,DataBuf);
|
mMCCodbusRepo->WriteMultipleRegs(MODBUS_ZT_DATA_BASE_REG,DataBuf);
|
||||||
|
emit TKUpdated();
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@ -24,6 +24,7 @@
|
|||||||
#include "ModbusRepository.h"
|
#include "ModbusRepository.h"
|
||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
#include "ModbusCCDefs.h"
|
#include "ModbusCCDefs.h"
|
||||||
|
#include "ModbusSEIDefs.h"
|
||||||
|
|
||||||
|
|
||||||
class CModbusTKTransport : public CTKTransportInterface
|
class CModbusTKTransport : public CTKTransportInterface
|
||||||
@ -43,7 +44,7 @@ public:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
CModbusTKTransport(CModbusRepository *Repo);
|
CModbusTKTransport(CModbusRepository *CCRepo, CModbusRepository *SEIRepo);
|
||||||
~CModbusTKTransport();
|
~CModbusTKTransport();
|
||||||
|
|
||||||
|
|
||||||
@ -67,7 +68,7 @@ public:
|
|||||||
virtual unsigned int EnterMaintenance();
|
virtual unsigned int EnterMaintenance();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
CModbusRepository *mMCCodbusRepo;
|
CModbusRepository *mMCCodbusRepo,*mSEIModbusRepo;
|
||||||
QList<CZTDetectionData> mZT1TKDataList,mZT2TKDataList;
|
QList<CZTDetectionData> mZT1TKDataList,mZT2TKDataList;
|
||||||
bool mZT1CDVState, mZT2CDVState;
|
bool mZT1CDVState, mZT2CDVState;
|
||||||
bool mMaintenanceMode, mForceZT1Clear, mForceZT2Clear;
|
bool mMaintenanceMode, mForceZT1Clear, mForceZT2Clear;
|
||||||
@ -78,6 +79,9 @@ private:
|
|||||||
|
|
||||||
int RegOffset(qint16 Reg){return (int)Reg-MODBUS_ZT_DATA_BASE_REG;}
|
int RegOffset(qint16 Reg){return (int)Reg-MODBUS_ZT_DATA_BASE_REG;}
|
||||||
|
|
||||||
|
signals:
|
||||||
|
void TKUpdated();
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void ExecZT1SM();
|
void ExecZT1SM();
|
||||||
void ExecZT2SM();
|
void ExecZT2SM();
|
||||||
|
|||||||
@ -594,7 +594,23 @@ unsigned int CZoneTest::InitZT()
|
|||||||
}
|
}
|
||||||
mModbusCCMgr->StartModbusCCServer();
|
mModbusCCMgr->StartModbusCCServer();
|
||||||
|
|
||||||
CModbusTKTransport *TransportInterface = new CModbusTKTransport(mCCModbusRepository);
|
|
||||||
|
mSEIModbusRepository = new CModbusRepository;
|
||||||
|
mSEIModbusRepository->AddHRDataMap(SEI_MODBUS_ZT_DATA_BASE_REG,SEI_MODBUS_ZT_TABLE_DATA_SIZE); //Add the ZT data map
|
||||||
|
mSEIModbusRepository->AddHRDataMap(SEI_MODBUS_SEI_DATA_BASE_REG,SEI_MODBUS_SEI_TABLE_DATA_SIZE); //Add the SEI data map
|
||||||
|
if(mModbusSEIMgr == 0)
|
||||||
|
{
|
||||||
|
mModbusSEIMgr = new CModbusSEIMgr(mSEIModbusRepository,mCCModbusRepository,mZTSettings->mSEIModbusHostAddress,ModbusSEIPort,SEIDevID);
|
||||||
|
}
|
||||||
|
mModbusSEIMgr->StartSEICommunication();
|
||||||
|
|
||||||
|
connect(mModbusSEIMgr,SIGNAL(ModbusMasterConnected(qint32,qint32)),panel.mSEISettingsPage,SLOT(ModbusSEIConnected(qint32,qint32)));
|
||||||
|
connect(mModbusSEIMgr,SIGNAL(ModbusMasterDisconnected()),panel.mSEISettingsPage,SLOT(ModbusSEIDisconnected()));
|
||||||
|
|
||||||
|
panel.mZTMainPage->ModbusSEIDisconnected();
|
||||||
|
|
||||||
|
|
||||||
|
CModbusTKTransport *TransportInterface = new CModbusTKTransport(mCCModbusRepository,mSEIModbusRepository);
|
||||||
mTKTransportInterface = (CTKTransportInterface*)TransportInterface;
|
mTKTransportInterface = (CTKTransportInterface*)TransportInterface;
|
||||||
connect(mModbusCCMgr,SIGNAL(RepoHasChanged()),TransportInterface,SLOT(ModbusCCUpdated()));
|
connect(mModbusCCMgr,SIGNAL(RepoHasChanged()),TransportInterface,SLOT(ModbusCCUpdated()));
|
||||||
|
|
||||||
@ -606,24 +622,15 @@ unsigned int CZoneTest::InitZT()
|
|||||||
connect(mModbusCCMgr,SIGNAL(ModbusCCDisconnected()),panel.mModbusSettingsPage,SLOT(ModbusCCDisconnected()));
|
connect(mModbusCCMgr,SIGNAL(ModbusCCDisconnected()),panel.mModbusSettingsPage,SLOT(ModbusCCDisconnected()));
|
||||||
connect(mModbusCCMgr,SIGNAL(ModbusCCLinkLost()),panel.mModbusSettingsPage,SLOT(ModbusCCLinkDown()));
|
connect(mModbusCCMgr,SIGNAL(ModbusCCLinkLost()),panel.mModbusSettingsPage,SLOT(ModbusCCLinkDown()));
|
||||||
connect(mModbusCCMgr,SIGNAL(ModbusCCLinkRecovered()),panel.mModbusSettingsPage,SLOT(ModbusCCLinkUP()));
|
connect(mModbusCCMgr,SIGNAL(ModbusCCLinkRecovered()),panel.mModbusSettingsPage,SLOT(ModbusCCLinkUP()));
|
||||||
|
|
||||||
|
connect(TransportInterface,SIGNAL(TKUpdated()),mModbusSEIMgr,SLOT(ZTTKUpdated()));
|
||||||
|
|
||||||
panel.mZTMainPage->ModbusCCDisconnected();
|
panel.mZTMainPage->ModbusCCDisconnected();
|
||||||
panel.mZTMainPage->mZT1Stats->Init(true);
|
panel.mZTMainPage->mZT1Stats->Init(true);
|
||||||
panel.mZTMainPage->mZT2Stats->Init(true);
|
panel.mZTMainPage->mZT2Stats->Init(true);
|
||||||
|
|
||||||
|
|
||||||
mSEIModbusRepository = new CModbusRepository;
|
|
||||||
mSEIModbusRepository->AddHRDataMap(SEI_MODBUS_ZT_DATA_BASE_REG,SEI_MODBUS_ZT_TABLE_DATA_SIZE); //Add the ZT data map
|
|
||||||
mSEIModbusRepository->AddHRDataMap(SEI_MODBUS_SEI_DATA_BASE_REG,SEI_MODBUS_SEI_TABLE_DATA_SIZE); //Add the SEI data map
|
|
||||||
if(mModbusSEIMgr == 0)
|
|
||||||
{
|
|
||||||
mModbusSEIMgr = new CModbusSEIMgr(mSEIModbusRepository,mZTSettings->mSEIModbusHostAddress,ModbusSEIPort,SEIDevID);
|
|
||||||
}
|
|
||||||
mModbusSEIMgr->StartSEICommunication();
|
|
||||||
|
|
||||||
connect(mModbusSEIMgr,SIGNAL(ModbusMasterConnected(qint32,qint32)),panel.mSEISettingsPage,SLOT(ModbusSEIConnected(qint32,qint32)));
|
|
||||||
connect(mModbusSEIMgr,SIGNAL(ModbusMasterDisconnected()),panel.mSEISettingsPage,SLOT(ModbusSEIDisconnected()));
|
|
||||||
|
|
||||||
panel.mZTMainPage->ModbusSEIDisconnected();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user