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/GuiElements/ModbusSettingsPage.cpp \
|
||||||
sources/Modbus/NetworkCfgMgr.cpp \
|
sources/Modbus/NetworkCfgMgr.cpp \
|
||||||
sources/Modbus/ModbusSEIMgr.cpp \
|
sources/Modbus/ModbusSEIMgr.cpp \
|
||||||
sources/GuiElements/SEISettingsPage.cpp
|
sources/GuiElements/SEISettingsPage.cpp \
|
||||||
|
sources/GuiElements/ModbusDisplayPage.cpp
|
||||||
|
|
||||||
HEADERS += \
|
HEADERS += \
|
||||||
sources/MainPanel.h \
|
sources/MainPanel.h \
|
||||||
@ -239,7 +240,8 @@ HEADERS += \
|
|||||||
sources/Modbus/NetworkCfgMgr.h \
|
sources/Modbus/NetworkCfgMgr.h \
|
||||||
sources/Modbus/ModbusSEIMgr.h \
|
sources/Modbus/ModbusSEIMgr.h \
|
||||||
sources/Modbus/ModbusSEIDefs.h \
|
sources/Modbus/ModbusSEIDefs.h \
|
||||||
sources/GuiElements/SEISettingsPage.h
|
sources/GuiElements/SEISettingsPage.h \
|
||||||
|
sources/GuiElements/ModbusDisplayPage.h
|
||||||
|
|
||||||
#QMAKE_LIBDIR += ./ExtLib
|
#QMAKE_LIBDIR += ./ExtLib
|
||||||
#QT += network
|
#QT += network
|
||||||
|
|||||||
@ -100,6 +100,11 @@ CEngineeringPage::CEngineeringPage(QGraphicsWidget *Parent)
|
|||||||
mTestButton->setPos(350,310);
|
mTestButton->setPos(350,310);
|
||||||
connect(mTestButton,SIGNAL(TxtButtonClicked(CTextButtonWidget*)),this,SLOT(ButtonClicked(CTextButtonWidget*)));
|
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 = new QTimer();
|
||||||
mInfoUpdateTimer->setSingleShot(false);
|
mInfoUpdateTimer->setSingleShot(false);
|
||||||
@ -801,6 +806,10 @@ void CEngineeringPage::ButtonClicked(CTextButtonWidget *BtnPtr)
|
|||||||
else if(BtnPtr == mTestButton)
|
else if(BtnPtr == mTestButton)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
else if(BtnPtr == mModbusDataBtn)
|
||||||
|
{
|
||||||
|
mProgramHandle->OpenModbusDataPageRequest();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CEngineeringPage::showEvent(QShowEvent *event)
|
void CEngineeringPage::showEvent(QShowEvent *event)
|
||||||
|
|||||||
@ -90,6 +90,7 @@ private:
|
|||||||
CTextButtonWidget *mConvertCSVButton;
|
CTextButtonWidget *mConvertCSVButton;
|
||||||
CTextButtonWidget *mTestButton;
|
CTextButtonWidget *mTestButton;
|
||||||
CTextButtonWidget *mDeleteEngLogBtn;
|
CTextButtonWidget *mDeleteEngLogBtn;
|
||||||
|
CTextButtonWidget *mModbusDataBtn;
|
||||||
|
|
||||||
QGraphicsTextItem *mPCIIODataText;
|
QGraphicsTextItem *mPCIIODataText;
|
||||||
QGraphicsTextItem *mExternalInputDataText;
|
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();
|
mZTLogViewerPage = new CZTLogViewerPage();
|
||||||
mModbusSettingsPage = new CModbusSettingsPage();
|
mModbusSettingsPage = new CModbusSettingsPage();
|
||||||
mSEISettingsPage = new CSEISettingsPage();
|
mSEISettingsPage = new CSEISettingsPage();
|
||||||
|
mModbusDisplayPage = new CModbusDisplayPage();
|
||||||
|
|
||||||
scene->addItem(mWelcomePage);
|
scene->addItem(mWelcomePage);
|
||||||
scene->addItem(mZTMainPage);
|
scene->addItem(mZTMainPage);
|
||||||
@ -116,6 +117,7 @@ Panel::Panel()
|
|||||||
scene->addItem(mModbusSettingsPage);
|
scene->addItem(mModbusSettingsPage);
|
||||||
scene->addItem(mSEISettingsPage);
|
scene->addItem(mSEISettingsPage);
|
||||||
scene->addItem(mZTLogViewerPage);
|
scene->addItem(mZTLogViewerPage);
|
||||||
|
scene->addItem(mModbusDisplayPage);
|
||||||
|
|
||||||
mZTMainPage->setPos(0,0);
|
mZTMainPage->setPos(0,0);
|
||||||
mZTMainPage->hide();
|
mZTMainPage->hide();
|
||||||
@ -177,6 +179,12 @@ Panel::Panel()
|
|||||||
mZTLogViewerPage->resize(800,600);
|
mZTLogViewerPage->resize(800,600);
|
||||||
mZTLogViewerPage->setZValue(1);
|
mZTLogViewerPage->setZValue(1);
|
||||||
|
|
||||||
|
mModbusDisplayPage->setPos(10,10);
|
||||||
|
mModbusDisplayPage->resize(SCREEN_RES_WIDTH-20,SCREEN_RES_HEIGHT-20);
|
||||||
|
mModbusDisplayPage->setZValue(1);
|
||||||
|
mModbusDisplayPage->hide();
|
||||||
|
|
||||||
|
|
||||||
installEventFilter(mLogViewPage);
|
installEventFilter(mLogViewPage);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -46,6 +46,7 @@
|
|||||||
#include "ZTLogViewerPage.h"
|
#include "ZTLogViewerPage.h"
|
||||||
#include "ModbusSettingsPage.h"
|
#include "ModbusSettingsPage.h"
|
||||||
#include "SEISettingsPage.h"
|
#include "SEISettingsPage.h"
|
||||||
|
#include "ModbusDisplayPage.h"
|
||||||
|
|
||||||
class CZoneTest;
|
class CZoneTest;
|
||||||
|
|
||||||
@ -88,6 +89,7 @@ public:
|
|||||||
CZTLogViewerPage *mZTLogViewerPage;
|
CZTLogViewerPage *mZTLogViewerPage;
|
||||||
CModbusSettingsPage *mModbusSettingsPage;
|
CModbusSettingsPage *mModbusSettingsPage;
|
||||||
CSEISettingsPage *mSEISettingsPage;
|
CSEISettingsPage *mSEISettingsPage;
|
||||||
|
CModbusDisplayPage *mModbusDisplayPage;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // PANEL_H
|
#endif // PANEL_H
|
||||||
|
|||||||
@ -271,6 +271,7 @@ unsigned int CZoneTest::Start()
|
|||||||
panel.mModbusSettingsPage->mProgramHandle = this;
|
panel.mModbusSettingsPage->mProgramHandle = this;
|
||||||
panel.mSEISettingsPage->mProgramHandle = this;
|
panel.mSEISettingsPage->mProgramHandle = this;
|
||||||
panel.mZTLogViewerPage->mProgramHandle = this;
|
panel.mZTLogViewerPage->mProgramHandle = this;
|
||||||
|
panel.mModbusDisplayPage->mProgramHandle = this;
|
||||||
panel.mEngineeringPage->mDisablePassword = mDisablePassword;
|
panel.mEngineeringPage->mDisablePassword = mDisablePassword;
|
||||||
mInternalWatchdog = new CWatchdogCtrl(mUseWatchdog);
|
mInternalWatchdog = new CWatchdogCtrl(mUseWatchdog);
|
||||||
|
|
||||||
@ -611,6 +612,9 @@ unsigned int CZoneTest::InitZT()
|
|||||||
connect(mModbusSEIMgr,SIGNAL(SEIModbusLinkRecovered()),panel.mZTMainPage,SLOT(ModbusSEIConnected()));
|
connect(mModbusSEIMgr,SIGNAL(SEIModbusLinkRecovered()),panel.mZTMainPage,SLOT(ModbusSEIConnected()));
|
||||||
connect(mModbusSEIMgr,SIGNAL(SEIModbusLinkLost()),panel.mZTMainPage,SLOT(ModbusSEIDisconnected()));
|
connect(mModbusSEIMgr,SIGNAL(SEIModbusLinkLost()),panel.mZTMainPage,SLOT(ModbusSEIDisconnected()));
|
||||||
|
|
||||||
|
panel.mModbusDisplayPage->mSEIRepoHandle = mSEIModbusRepository;
|
||||||
|
panel.mModbusDisplayPage->mCCRepoHandle = mCCModbusRepository;
|
||||||
|
|
||||||
|
|
||||||
panel.mZTMainPage->ModbusSEIDisconnected();
|
panel.mZTMainPage->ModbusSEIDisconnected();
|
||||||
|
|
||||||
@ -1261,6 +1265,18 @@ void CZoneTest::LogZTSettingsRequest(bool LogStationName)
|
|||||||
mZTSettingsFileMgr.LogSettings(mZTSettings,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()
|
void CZoneTest::CheckAndCreateDirectories()
|
||||||
{
|
{
|
||||||
QDir dir("./Trains");
|
QDir dir("./Trains");
|
||||||
|
|||||||
@ -140,6 +140,9 @@ public:
|
|||||||
void ResetTriggerCount();
|
void ResetTriggerCount();
|
||||||
void ResetNbPassages();
|
void ResetNbPassages();
|
||||||
|
|
||||||
|
void OpenModbusDataPageRequest();
|
||||||
|
void CloseModbusDataPageRequest();
|
||||||
|
|
||||||
void LogZTSettingsRequest(bool LogStationName = false);
|
void LogZTSettingsRequest(bool LogStationName = false);
|
||||||
|
|
||||||
void ApplicationQuit(int Reason);
|
void ApplicationQuit(int Reason);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user