Ajout de la page de visualisation des données Modbus.
This commit is contained in:
parent
c855edfdca
commit
198613bd7b
6
ZT.pro
6
ZT.pro
@ -119,7 +119,8 @@ SOURCES += \
|
||||
sources/GuiElements/ModbusSettingsPage.cpp \
|
||||
sources/Modbus/NetworkCfgMgr.cpp \
|
||||
sources/Modbus/ModbusSEIMgr.cpp \
|
||||
sources/GuiElements/SEISettingsPage.cpp
|
||||
sources/GuiElements/SEISettingsPage.cpp \
|
||||
sources/GuiElements/ModbusDisplayPage.cpp
|
||||
|
||||
HEADERS += \
|
||||
sources/MainPanel.h \
|
||||
@ -239,7 +240,8 @@ HEADERS += \
|
||||
sources/Modbus/NetworkCfgMgr.h \
|
||||
sources/Modbus/ModbusSEIMgr.h \
|
||||
sources/Modbus/ModbusSEIDefs.h \
|
||||
sources/GuiElements/SEISettingsPage.h
|
||||
sources/GuiElements/SEISettingsPage.h \
|
||||
sources/GuiElements/ModbusDisplayPage.h
|
||||
|
||||
#QMAKE_LIBDIR += ./ExtLib
|
||||
#QT += network
|
||||
|
||||
@ -100,6 +100,11 @@ CEngineeringPage::CEngineeringPage(QGraphicsWidget *Parent)
|
||||
mTestButton->setPos(350,310);
|
||||
connect(mTestButton,SIGNAL(TxtButtonClicked(CTextButtonWidget*)),this,SLOT(ButtonClicked(CTextButtonWidget*)));
|
||||
|
||||
mModbusDataBtn = new CTextButtonWidget("Modbus");
|
||||
mModbusDataBtn->setParentItem(this);
|
||||
mModbusDataBtn->setPos(450,310);
|
||||
connect(mModbusDataBtn,SIGNAL(TxtButtonClicked(CTextButtonWidget*)),this,SLOT(ButtonClicked(CTextButtonWidget*)));
|
||||
|
||||
|
||||
mInfoUpdateTimer = new QTimer();
|
||||
mInfoUpdateTimer->setSingleShot(false);
|
||||
@ -801,6 +806,10 @@ void CEngineeringPage::ButtonClicked(CTextButtonWidget *BtnPtr)
|
||||
else if(BtnPtr == mTestButton)
|
||||
{
|
||||
}
|
||||
else if(BtnPtr == mModbusDataBtn)
|
||||
{
|
||||
mProgramHandle->OpenModbusDataPageRequest();
|
||||
}
|
||||
}
|
||||
|
||||
void CEngineeringPage::showEvent(QShowEvent *event)
|
||||
|
||||
@ -90,6 +90,7 @@ private:
|
||||
CTextButtonWidget *mConvertCSVButton;
|
||||
CTextButtonWidget *mTestButton;
|
||||
CTextButtonWidget *mDeleteEngLogBtn;
|
||||
CTextButtonWidget *mModbusDataBtn;
|
||||
|
||||
QGraphicsTextItem *mPCIIODataText;
|
||||
QGraphicsTextItem *mExternalInputDataText;
|
||||
|
||||
342
sources/GuiElements/ModbusDisplayPage.cpp
Normal file
342
sources/GuiElements/ModbusDisplayPage.cpp
Normal file
@ -0,0 +1,342 @@
|
||||
#include "ModbusDisplayPage.h"
|
||||
#include "Zonetest.h"
|
||||
#include <QGraphicsProxyWidget>
|
||||
#include "ModbusCCDefs.h"
|
||||
#include "ModbusSEIDefs.h"
|
||||
#include "ModbusRepository.h"
|
||||
|
||||
CModbusDisplayPage::CModbusDisplayPage(QGraphicsWidget *parent)
|
||||
{
|
||||
setParentItem(parent);
|
||||
|
||||
mProgramHandle = 0;
|
||||
mCCRepoHandle = 0;
|
||||
mSEIRepoHandle = 0;
|
||||
|
||||
|
||||
mBackgroundRect = new QGraphicsRectItem(boundingRect(), this);
|
||||
QBrush BackgroundBrush(QColor(245, 245, 255,200));
|
||||
mBackgroundRect->setBrush(BackgroundBrush);
|
||||
|
||||
|
||||
mCloseBtn = new CTextButtonWidget("Fermer");
|
||||
mCloseBtn->setParentItem(this);
|
||||
mCloseBtn->setPos(600,600);
|
||||
connect(mCloseBtn,SIGNAL(TxtButtonClicked(CTextButtonWidget*)),this,SLOT(ButtonClicked(CTextButtonWidget*)));
|
||||
|
||||
mModbusDataTree = new QTreeWidget;
|
||||
QGraphicsProxyWidget *Proxy = new QGraphicsProxyWidget(this);
|
||||
Proxy->setWidget(mModbusDataTree);
|
||||
Proxy->setPos(0,0);
|
||||
|
||||
mModbusDataTree->resize(750,750);
|
||||
|
||||
mRefreshTimer = new QTimer();
|
||||
mRefreshTimer->setSingleShot(false);
|
||||
mRefreshTimer->setInterval(300);
|
||||
mRefreshTimer->stop();
|
||||
connect(mRefreshTimer,SIGNAL(timeout()),this,SLOT(RefreshTimerExpired()));
|
||||
|
||||
|
||||
QList<QTreeWidgetItem *> Items;
|
||||
mModbusDataTree->setColumnCount(5);
|
||||
mModbusDataTree->setHeaderItem(new QTreeWidgetItem(QStringList()<<"Flag/Alarme"<<"Valeur CC"<<"Rang CC"<<"Valeur SEI"<<"Rang SEI"));
|
||||
|
||||
//Items.append(new QTreeWidgetItem(QStringList(QString().fromUtf8("Pneu De Guidage ZT1 #2") << QString().fromUtf8("Pneu De Guidage ZT1 #2") << QString().fromUtf8("Pneu De Guidage ZT1 #2"))));
|
||||
Items.append(new QTreeWidgetItem(QStringList()<<"ZT1"));
|
||||
Items.append(new QTreeWidgetItem(QStringList()<<"ZT2"));
|
||||
Items.append(new QTreeWidgetItem(QStringList()<<"ZT"));
|
||||
|
||||
QTreeWidgetItem* Item;
|
||||
// Item = new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Alarmes"));
|
||||
// Items.at(0)->addChild(Item);
|
||||
|
||||
Item = Items.at(0);
|
||||
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu Porteur Intérieur ZT1 #1")<<"0"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu Porteur Intérieur ZT1 #2")<<"0"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu Porteur Intérieur ZT1 #3")<<"0"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu Porteur Intérieur ZT1 #4")<<"0"<<"---"));
|
||||
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu Porteur Extérieur ZT1 #1")<<"0"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu Porteur Extérieur ZT1 #2")<<"0"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu Porteur Extérieur ZT1 #3")<<"0"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu Porteur Extérieur ZT1 #4")<<"0"<<"---"));
|
||||
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu De Guidage ZT1 #1")<<"0"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu De Guidage ZT1 #2")<<"0"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu De Guidage ZT1 #3")<<"0"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu De Guidage ZT1 #4")<<"0"<<"---"));
|
||||
|
||||
Item ->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Frotteur Négatif ZT1 #1")<<"0"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Frotteur Négatif ZT1 #2")<<"0"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Frotteur Négatif ZT1 #3")<<"0"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Frotteur Négatif ZT1 #4")<<"0"<<"---"));
|
||||
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Itinéraire")<<"0"<<"---"));
|
||||
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Alarme V00 ZT1")<<"0"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Panne Équipement ZT1")<<"0"<<"---"));
|
||||
|
||||
Item = Items.at(1);
|
||||
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu Porteur Intérieur ZT2 #1")<<"0"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu Porteur Intérieur ZT2 #2")<<"0"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu Porteur Intérieur ZT2 #3")<<"0"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu Porteur Intérieur ZT2 #4")<<"0"<<"---"));
|
||||
|
||||
// Items.at(1)->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8(" ")));
|
||||
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu Porteur Extérieur ZT2 #1")<<"0"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu Porteur Extérieur ZT2 #2")<<"0"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu Porteur Extérieur ZT2 #3")<<"0"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Pneu Porteur Extérieur ZT2 #4")<<"0"<<"---"));
|
||||
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Alarme V02 ZT2")<<"0"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Panne Équipement ZT2")<<"0"<<"---"));
|
||||
|
||||
Item = Items.at(2);
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("Watchdog ZT")<<"0"<<"---"));
|
||||
|
||||
|
||||
mModbusDataTree->insertTopLevelItems(0,Items);
|
||||
mModbusDataTree->resizeColumnToContents(1);
|
||||
|
||||
mModbusDataTree->expandAll();
|
||||
mModbusDataTree->resizeColumnToContents(0);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
void CModbusDisplayPage::resizeEvent(QGraphicsSceneResizeEvent *event)
|
||||
{
|
||||
Q_UNUSED(event)
|
||||
mBackgroundRect->setRect(boundingRect());
|
||||
mCloseBtn->setPos(50,boundingRect().height()-50);
|
||||
mModbusDataTree->resize(boundingRect().width(),boundingRect().height()-50);
|
||||
}
|
||||
|
||||
CModbusDisplayPage::~CModbusDisplayPage()
|
||||
{
|
||||
delete mModbusDataTree;
|
||||
}
|
||||
|
||||
void CModbusDisplayPage::ButtonClicked(CTextButtonWidget *button)
|
||||
{
|
||||
if(button == mCloseBtn)
|
||||
{
|
||||
mRefreshTimer->stop();
|
||||
mProgramHandle->CloseModbusDataPageRequest();
|
||||
}
|
||||
}
|
||||
|
||||
int CModbusDisplayPage::UpdateTable(int Source)
|
||||
{
|
||||
CModbusRepository *SourceRepo;
|
||||
CZTInfo *DataStruct = new CZTInfo;
|
||||
bool OK = false;
|
||||
// quint16 data = mCCModbusRepo.GetSingleReg(MODBUS_ZT1_ALARM_DATA_BASE_REG_ADD,&OK);
|
||||
|
||||
if(Source == CC_MODBUS_TABLE_SOURCE)
|
||||
{
|
||||
SourceRepo = mCCRepoHandle;
|
||||
}
|
||||
else if(Source == SEI_MODBUS_TABLE_SOURCE)
|
||||
{
|
||||
SourceRepo = mSEIRepoHandle;
|
||||
}
|
||||
else
|
||||
{
|
||||
return RET_ERROR;
|
||||
}
|
||||
|
||||
quint16 data = SourceRepo->GetSingleReg(MODBUS_ZT1_ALARM_DATA_BASE_REG_ADD,&OK);
|
||||
|
||||
if(OK == true)
|
||||
{
|
||||
|
||||
DataStruct->mZT1PPIAlarmFlag1 = (data & ZT1_PP_INT_FLAG_MASK_1) != 0;
|
||||
DataStruct->mZT1PPIAlarmFlag2 = (data & ZT1_PP_INT_FLAG_MASK_2) != 0;
|
||||
DataStruct->mZT1PPIAlarmFlag3 = (data & ZT1_PP_INT_FLAG_MASK_3) != 0;
|
||||
DataStruct->mZT1PPIAlarmFlag4 = (data & ZT1_PP_INT_FLAG_MASK_4) != 0;
|
||||
DataStruct->mZT1PPEAlarmFlag1 = (data & ZT1_PP_EXT_FLAG_MASK_1) != 0;
|
||||
DataStruct->mZT1PPEAlarmFlag2 = (data & ZT1_PP_EXT_FLAG_MASK_2) != 0;
|
||||
DataStruct->mZT1PPEAlarmFlag3 = (data & ZT1_PP_EXT_FLAG_MASK_3) != 0;
|
||||
DataStruct->mZT1PPEAlarmFlag4 = (data & ZT1_PP_EXT_FLAG_MASK_4) != 0;
|
||||
DataStruct->mZT1PGAlarmFlag1 = (data & ZT1_PG_FLAG_MASK_1) != 0;
|
||||
DataStruct->mZT1PGAlarmFlag2 = (data & ZT1_PG_FLAG_MASK_2) != 0;
|
||||
DataStruct->mZT1PGAlarmFlag3 = (data & ZT1_PG_FLAG_MASK_3) != 0;
|
||||
DataStruct->mZT1PGAlarmFlag4 = (data & ZT1_PG_FLAG_MASK_4) != 0;
|
||||
DataStruct->mZT1FNAlarmFlag1 = (data & ZT1_FN_FLAG_MASK_1) != 0;
|
||||
DataStruct->mZT1FNAlarmFlag2 = (data & ZT1_FN_FLAG_MASK_2) != 0;
|
||||
DataStruct->mZT1FNAlarmFlag3 = (data & ZT1_FN_FLAG_MASK_3) != 0;
|
||||
DataStruct->mZT1FNAlarmFlag4 = (data & ZT1_FN_FLAG_MASK_4) != 0;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
qDebug("GetSingleReg failed in UpdateZTInfo (MODBUS_ZT1_ALARM_DATA_BASE_REG_ADD)");
|
||||
return RET_ERROR;
|
||||
}
|
||||
|
||||
QList<qint16> RankData;
|
||||
RankData = SourceRepo->GetRegs(MODBUS_ZT1_ALARM_RANKS_BASE_ADD,16,&OK);
|
||||
if(OK == true)
|
||||
{
|
||||
DataStruct->mZT1Ranks = RankData;
|
||||
}
|
||||
else
|
||||
{
|
||||
qDebug("GetSingleReg failed in UpdateZTInfo (MODBUS_ZT1_ALARM_RANKS_BASE_ADD)");
|
||||
return RET_ERROR;
|
||||
}
|
||||
|
||||
data = SourceRepo->GetSingleReg(MODBUS_ZT2_ALARM_DATA_BASE_REG_ADD,&OK);
|
||||
if(OK == true)
|
||||
{
|
||||
DataStruct->mZT2PPIAlarmFlag1 = (data & ZT2_PP_INT_FLAG_MASK_1) != 0;
|
||||
DataStruct->mZT2PPIAlarmFlag2 = (data & ZT2_PP_INT_FLAG_MASK_2) != 0;
|
||||
DataStruct->mZT2PPIAlarmFlag3 = (data & ZT2_PP_INT_FLAG_MASK_3) != 0;
|
||||
DataStruct->mZT2PPIAlarmFlag4 = (data & ZT2_PP_INT_FLAG_MASK_4) != 0;
|
||||
DataStruct->mZT2PPEAlarmFlag1 = (data & ZT2_PP_EXT_FLAG_MASK_1) != 0;
|
||||
DataStruct->mZT2PPEAlarmFlag2 = (data & ZT2_PP_EXT_FLAG_MASK_2) != 0;
|
||||
DataStruct->mZT2PPEAlarmFlag3 = (data & ZT2_PP_EXT_FLAG_MASK_3) != 0;
|
||||
DataStruct->mZT2PPEAlarmFlag4 = (data & ZT2_PP_EXT_FLAG_MASK_4) != 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
qDebug("GetSingleReg failed in UpdateZTInfo (MODBUS_ZT2_ALARM_DATA_BASE_REG_ADD)");
|
||||
return RET_ERROR;
|
||||
}
|
||||
|
||||
RankData.clear();
|
||||
RankData = SourceRepo->GetRegs(MODBUS_ZT2_ALARM_RANKS_BASE_ADD,8,&OK);
|
||||
if(OK == true)
|
||||
{
|
||||
DataStruct->mZT2Ranks = RankData;
|
||||
}
|
||||
else
|
||||
{
|
||||
qDebug("GetSingleReg failed in UpdateZTInfo (MODBUS_ZT2_ALARM_RANKS_BASE_ADD)");
|
||||
return RET_ERROR;
|
||||
}
|
||||
|
||||
|
||||
data = SourceRepo->GetSingleReg(MODBUS_MISC_DATA_BASE_REG_ADD,&OK);
|
||||
|
||||
if(OK == true)
|
||||
{
|
||||
|
||||
DataStruct->mZT1V00AlarmFlag = (data & ZT1_V00_ALARM_FLAG_MASK) != 0;
|
||||
DataStruct->mZT1PEQ1AlarmFlag = (data & ZT1_PEQ1_ALARM_FLAG_MASK) != 0;
|
||||
DataStruct->mZT2V02AlarmFlag = (data & ZT2_V02_ALARM_FLAG_MASK) != 0;
|
||||
DataStruct->mZT2PEQ2AlarmFlag = (data & ZT2_PEQ2_ALARM_FLAG_MASK) != 0;
|
||||
DataStruct->mITI10_12Flag = (data & ZT1_ALARM_ITI_FLAG_MASK) != 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
qDebug("GetSingleReg failed in UpdateZTInfo (MODBUS_PANNES_DATA_BASE_REG_ADD)");
|
||||
return RET_ERROR;
|
||||
}
|
||||
|
||||
DataStruct->mWatchdogZT = SourceRepo->GetSingleReg(MODBUS_ZT_WATCHDOG_REG_ADD,&OK);
|
||||
|
||||
|
||||
|
||||
|
||||
QTreeWidgetItem* Item;
|
||||
QString TempStr;
|
||||
|
||||
//ZT1
|
||||
Item = mModbusDataTree->topLevelItem(0);
|
||||
|
||||
Item->child(0)->setText(1,QString("%1").arg(DataStruct->mZT1PPIAlarmFlag1));
|
||||
Item->child(1)->setText(1,QString("%1").arg(DataStruct->mZT1PPIAlarmFlag2));
|
||||
Item->child(2)->setText(1,QString("%1").arg(DataStruct->mZT1PPIAlarmFlag3));
|
||||
Item->child(3)->setText(1,QString("%1").arg(DataStruct->mZT1PPIAlarmFlag4));
|
||||
|
||||
Item->child(4)->setText(1,QString("%1").arg(DataStruct->mZT1PPEAlarmFlag1));
|
||||
Item->child(5)->setText(1,QString("%1").arg(DataStruct->mZT1PPEAlarmFlag2));
|
||||
Item->child(6)->setText(1,QString("%1").arg(DataStruct->mZT1PPEAlarmFlag3));
|
||||
Item->child(7)->setText(1,QString("%1").arg(DataStruct->mZT1PPEAlarmFlag4));
|
||||
|
||||
Item->child(8)->setText(1,QString("%1").arg(DataStruct->mZT1PGAlarmFlag1));
|
||||
Item->child(9)->setText(1,QString("%1").arg(DataStruct->mZT1PGAlarmFlag2));
|
||||
Item->child(10)->setText(1,QString("%1").arg(DataStruct->mZT1PGAlarmFlag3));
|
||||
Item->child(11)->setText(1,QString("%1").arg(DataStruct->mZT1PGAlarmFlag4));
|
||||
|
||||
Item->child(12)->setText(1,QString("%1").arg(DataStruct->mZT1FNAlarmFlag1));
|
||||
Item->child(13)->setText(1,QString("%1").arg(DataStruct->mZT1FNAlarmFlag2));
|
||||
Item->child(14)->setText(1,QString("%1").arg(DataStruct->mZT1FNAlarmFlag3));
|
||||
Item->child(15)->setText(1,QString("%1").arg(DataStruct->mZT1FNAlarmFlag4));
|
||||
|
||||
if(DataStruct->mITI10_12Flag == 0)
|
||||
{
|
||||
TempStr = "Principal";
|
||||
}
|
||||
else
|
||||
{
|
||||
TempStr = "Secondaire";
|
||||
}
|
||||
Item->child(16)->setText(1,TempStr);
|
||||
|
||||
Item->child(17)->setText(1,QString("%1").arg(DataStruct->mZT1V00AlarmFlag));
|
||||
Item->child(18)->setText(1,QString("%1").arg(DataStruct->mZT1PEQ1AlarmFlag));
|
||||
|
||||
for(int i = 0; i < 16; i++)
|
||||
{
|
||||
Item->child(i)->setText(2,QString("%1").arg(DataStruct->mZT1Ranks.at(i)));
|
||||
}
|
||||
|
||||
//ZT2
|
||||
Item = mModbusDataTree->topLevelItem(1);
|
||||
|
||||
Item->child(0)->setText(1,QString("%1").arg(DataStruct->mZT2PPIAlarmFlag1));
|
||||
Item->child(1)->setText(1,QString("%1").arg(DataStruct->mZT2PPIAlarmFlag2));
|
||||
Item->child(2)->setText(1,QString("%1").arg(DataStruct->mZT2PPIAlarmFlag3));
|
||||
Item->child(3)->setText(1,QString("%1").arg(DataStruct->mZT2PPIAlarmFlag4));
|
||||
|
||||
Item->child(4)->setText(1,QString("%1").arg(DataStruct->mZT2PPEAlarmFlag1));
|
||||
Item->child(5)->setText(1,QString("%1").arg(DataStruct->mZT2PPEAlarmFlag2));
|
||||
Item->child(6)->setText(1,QString("%1").arg(DataStruct->mZT2PPEAlarmFlag3));
|
||||
Item->child(7)->setText(1,QString("%1").arg(DataStruct->mZT2PPEAlarmFlag4));
|
||||
|
||||
Item->child(8)->setText(1,QString("%1").arg(DataStruct->mZT2V02AlarmFlag));
|
||||
Item->child(9)->setText(1,QString("%1").arg(DataStruct->mZT2PEQ2AlarmFlag));
|
||||
|
||||
for(int i = 0; i < 8; i++)
|
||||
{
|
||||
Item->child(i)->setText(2,QString("%1").arg(DataStruct->mZT2Ranks.at(i)));
|
||||
}
|
||||
|
||||
//Watchdog
|
||||
Item = mModbusDataTree->topLevelItem(2);
|
||||
Item->child(0)->setText(1,QString("%1").arg(DataStruct->mWatchdogZT));
|
||||
|
||||
|
||||
delete DataStruct;
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
void CModbusDisplayPage::UpdateCCModbusTable()
|
||||
{
|
||||
UpdateTable(CC_MODBUS_TABLE_SOURCE);
|
||||
}
|
||||
|
||||
void CModbusDisplayPage::UpdateSEIModbusTable()
|
||||
{
|
||||
UpdateTable(SEI_MODBUS_TABLE_SOURCE);
|
||||
}
|
||||
|
||||
void CModbusDisplayPage::RefreshTimerExpired()
|
||||
{
|
||||
UpdateTable(CC_MODBUS_TABLE_SOURCE);
|
||||
UpdateTable(SEI_MODBUS_TABLE_SOURCE);
|
||||
}
|
||||
|
||||
void CModbusDisplayPage::showEvent(QShowEvent *event)
|
||||
{
|
||||
mRefreshTimer->start();
|
||||
}
|
||||
99
sources/GuiElements/ModbusDisplayPage.h
Normal file
99
sources/GuiElements/ModbusDisplayPage.h
Normal file
@ -0,0 +1,99 @@
|
||||
#ifndef MODBUSDISPLAYPAGE_H
|
||||
#define MODBUSDISPLAYPAGE_H
|
||||
|
||||
#include "Guipage.h"
|
||||
#include "GlobalDefine.h"
|
||||
#include <QGraphicsWidget>
|
||||
#include "TextButtonWidget.h"
|
||||
#include <QTreeWidget>
|
||||
#include <QTimer>
|
||||
|
||||
enum eModbusTableSource
|
||||
{
|
||||
CC_MODBUS_TABLE_SOURCE,
|
||||
SEI_MODBUS_TABLE_SOURCE
|
||||
};
|
||||
|
||||
class CZoneTest;
|
||||
class CModbusRepository;
|
||||
|
||||
class CModbusDisplayPage : public CGuiPage
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
CModbusDisplayPage(QGraphicsWidget *parent = 0);
|
||||
~CModbusDisplayPage();
|
||||
virtual void resizeEvent(QGraphicsSceneResizeEvent *event);
|
||||
virtual void showEvent(QShowEvent *event);
|
||||
|
||||
|
||||
CZoneTest *mProgramHandle;
|
||||
QGraphicsRectItem *mBackgroundRect;
|
||||
CTextButtonWidget *mCloseBtn;
|
||||
QTreeWidget *mModbusDataTree;
|
||||
CModbusRepository *mCCRepoHandle, *mSEIRepoHandle;
|
||||
QTimer *mRefreshTimer;
|
||||
|
||||
|
||||
private:
|
||||
int UpdateTable(int source);
|
||||
|
||||
signals:
|
||||
|
||||
public slots:
|
||||
void ButtonClicked(CTextButtonWidget*);
|
||||
void UpdateCCModbusTable();
|
||||
void UpdateSEIModbusTable();
|
||||
void RefreshTimerExpired();
|
||||
|
||||
};
|
||||
|
||||
|
||||
class CZTInfo
|
||||
{
|
||||
public:
|
||||
int mZT1PPIAlarmFlag1;
|
||||
int mZT1PPIAlarmFlag2;
|
||||
int mZT1PPIAlarmFlag3;
|
||||
int mZT1PPIAlarmFlag4;
|
||||
int mZT1PPEAlarmFlag1;
|
||||
int mZT1PPEAlarmFlag2;
|
||||
int mZT1PPEAlarmFlag3;
|
||||
int mZT1PPEAlarmFlag4;
|
||||
int mZT1PGAlarmFlag1;
|
||||
int mZT1PGAlarmFlag2;
|
||||
int mZT1PGAlarmFlag3;
|
||||
int mZT1PGAlarmFlag4;
|
||||
int mZT1FNAlarmFlag1;
|
||||
int mZT1FNAlarmFlag2;
|
||||
int mZT1FNAlarmFlag3;
|
||||
int mZT1FNAlarmFlag4;
|
||||
|
||||
QList<qint16> mZT1Ranks;
|
||||
|
||||
int mZT1V00AlarmFlag;
|
||||
int mZT1PEQ1AlarmFlag;
|
||||
|
||||
int mZT2PPIAlarmFlag1;
|
||||
int mZT2PPIAlarmFlag2;
|
||||
int mZT2PPIAlarmFlag3;
|
||||
int mZT2PPIAlarmFlag4;
|
||||
int mZT2PPEAlarmFlag1;
|
||||
int mZT2PPEAlarmFlag2;
|
||||
int mZT2PPEAlarmFlag3;
|
||||
int mZT2PPEAlarmFlag4;
|
||||
|
||||
QList<qint16> mZT2Ranks;
|
||||
|
||||
int mZT2V02AlarmFlag;
|
||||
int mZT2PEQ2AlarmFlag;
|
||||
|
||||
int mITI10_12Flag;
|
||||
|
||||
int mWatchdogZT;
|
||||
|
||||
CZTInfo(){;}
|
||||
};
|
||||
|
||||
|
||||
#endif // MODBUSDISPLAYPAGE_H
|
||||
@ -103,6 +103,7 @@ Panel::Panel()
|
||||
mZTLogViewerPage = new CZTLogViewerPage();
|
||||
mModbusSettingsPage = new CModbusSettingsPage();
|
||||
mSEISettingsPage = new CSEISettingsPage();
|
||||
mModbusDisplayPage = new CModbusDisplayPage();
|
||||
|
||||
scene->addItem(mWelcomePage);
|
||||
scene->addItem(mZTMainPage);
|
||||
@ -116,6 +117,7 @@ Panel::Panel()
|
||||
scene->addItem(mModbusSettingsPage);
|
||||
scene->addItem(mSEISettingsPage);
|
||||
scene->addItem(mZTLogViewerPage);
|
||||
scene->addItem(mModbusDisplayPage);
|
||||
|
||||
mZTMainPage->setPos(0,0);
|
||||
mZTMainPage->hide();
|
||||
@ -177,6 +179,12 @@ Panel::Panel()
|
||||
mZTLogViewerPage->resize(800,600);
|
||||
mZTLogViewerPage->setZValue(1);
|
||||
|
||||
mModbusDisplayPage->setPos(10,10);
|
||||
mModbusDisplayPage->resize(SCREEN_RES_WIDTH-20,SCREEN_RES_HEIGHT-20);
|
||||
mModbusDisplayPage->setZValue(1);
|
||||
mModbusDisplayPage->hide();
|
||||
|
||||
|
||||
installEventFilter(mLogViewPage);
|
||||
|
||||
}
|
||||
|
||||
@ -46,6 +46,7 @@
|
||||
#include "ZTLogViewerPage.h"
|
||||
#include "ModbusSettingsPage.h"
|
||||
#include "SEISettingsPage.h"
|
||||
#include "ModbusDisplayPage.h"
|
||||
|
||||
class CZoneTest;
|
||||
|
||||
@ -88,6 +89,7 @@ public:
|
||||
CZTLogViewerPage *mZTLogViewerPage;
|
||||
CModbusSettingsPage *mModbusSettingsPage;
|
||||
CSEISettingsPage *mSEISettingsPage;
|
||||
CModbusDisplayPage *mModbusDisplayPage;
|
||||
};
|
||||
|
||||
#endif // PANEL_H
|
||||
|
||||
@ -271,6 +271,7 @@ unsigned int CZoneTest::Start()
|
||||
panel.mModbusSettingsPage->mProgramHandle = this;
|
||||
panel.mSEISettingsPage->mProgramHandle = this;
|
||||
panel.mZTLogViewerPage->mProgramHandle = this;
|
||||
panel.mModbusDisplayPage->mProgramHandle = this;
|
||||
panel.mEngineeringPage->mDisablePassword = mDisablePassword;
|
||||
mInternalWatchdog = new CWatchdogCtrl(mUseWatchdog);
|
||||
|
||||
@ -611,6 +612,9 @@ unsigned int CZoneTest::InitZT()
|
||||
connect(mModbusSEIMgr,SIGNAL(SEIModbusLinkRecovered()),panel.mZTMainPage,SLOT(ModbusSEIConnected()));
|
||||
connect(mModbusSEIMgr,SIGNAL(SEIModbusLinkLost()),panel.mZTMainPage,SLOT(ModbusSEIDisconnected()));
|
||||
|
||||
panel.mModbusDisplayPage->mSEIRepoHandle = mSEIModbusRepository;
|
||||
panel.mModbusDisplayPage->mCCRepoHandle = mCCModbusRepository;
|
||||
|
||||
|
||||
panel.mZTMainPage->ModbusSEIDisconnected();
|
||||
|
||||
@ -1261,6 +1265,18 @@ void CZoneTest::LogZTSettingsRequest(bool LogStationName)
|
||||
mZTSettingsFileMgr.LogSettings(mZTSettings,LogStationName);
|
||||
}
|
||||
|
||||
void CZoneTest::OpenModbusDataPageRequest()
|
||||
{
|
||||
panel.mEngineeringPage->hide();
|
||||
panel.mModbusDisplayPage->show();
|
||||
}
|
||||
|
||||
void CZoneTest::CloseModbusDataPageRequest()
|
||||
{
|
||||
panel.mModbusDisplayPage->hide();
|
||||
panel.mEngineeringPage->show();
|
||||
}
|
||||
|
||||
void CZoneTest::CheckAndCreateDirectories()
|
||||
{
|
||||
QDir dir("./Trains");
|
||||
|
||||
@ -140,6 +140,9 @@ public:
|
||||
void ResetTriggerCount();
|
||||
void ResetNbPassages();
|
||||
|
||||
void OpenModbusDataPageRequest();
|
||||
void CloseModbusDataPageRequest();
|
||||
|
||||
void LogZTSettingsRequest(bool LogStationName = false);
|
||||
|
||||
void ApplicationQuit(int Reason);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user