Dev outil historien
This commit is contained in:
@@ -5,6 +5,9 @@
|
||||
#define RET_OK 1
|
||||
#define RET_ERROR 0
|
||||
|
||||
//#define VERSION_FORMATION_SEI
|
||||
|
||||
|
||||
//#define MODBUS_CC_ALARM_REG_START_ADDRESS 2000
|
||||
//#define MODBUS_CC_TC_REG_START_ADDRESS 3000
|
||||
|
||||
|
||||
@@ -1,14 +1,181 @@
|
||||
#include "HistorianPage.h"
|
||||
#include "ui_HistorianPage.h"
|
||||
#include "HistorienData.h"
|
||||
#include "ModbusHistorienMaster.h"
|
||||
|
||||
CHistorianPage::CHistorianPage(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
ui(new Ui::CHistorianPage)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
QTreeWidgetItem *Item = new QTreeWidgetItem(QStringList()<<"ZT1");
|
||||
ui->mHistorianDataTreeWidget->setColumnCount(3);
|
||||
ui->mHistorianDataTreeWidget->setHeaderItem(new QTreeWidgetItem(QStringList()<<"Registre"<<"Description"<<"Valeur"));
|
||||
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2000/b0")<<"Détection FN en service"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2000/b1")<<"Détection PP en service"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2000/b2")<<"Détection PG en service"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2000/b3")<<"Détection PP ZT2 en service"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2000/b4")<<"Mode entretien activé"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2000/b5")<<"Santé lien HPC"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2000/b6")<<"Santé lien SEI"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2000/b7")<<"ZT1 en service"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2000/b8")<<"ZT2 en service"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2001")<<"Calibration pneu de guidage"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2002")<<"Date démarrage ZT année"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2003")<<"Date démarrage ZT mois"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2004")<<"Date démarrage ZT jour"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2005")<<"Heure démarrage ZT heure"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2006")<<"Heure démarrage ZT minutes"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2007")<<"Heure démarrage ZT secondes"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2008")<<"Nb passages total"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2009")<<"Nb déclenchements total"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2010")<<"Nb passages aujourd'hui"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2011")<<"Nb déclenchements aujourd'hui"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2012")<<"Nb décl. FN aujourd'hui"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2013")<<"Nb décl. PPI aujourd'hui"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2014")<<"Nb décl. PPE aujourd'hui"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2015")<<"Nb décl. PG ajourd'hui"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2016")<<"Nb décl. PPI ZT2 aujourd'hui"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2017")<<"Nb décl. PPE ZT2 aujourd'hui"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2018")<<"Date dernier passage année"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2019")<<"Date dernier passage mois"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2020")<<"Date dernier passage jour"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2021")<<"Heure dernier passage heure"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2022")<<"Heure dernier passage minutes"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2023")<<"Heure dernier passage secondes"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2024")<<"Zone franchie (ZT1 = 1, ZT2 = 2)"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2025")<<"Nb déclenchement lors du passage"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2026")<<"Rang dernier passage PPI 1"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2027")<<"Rang dernier passage PPI 2"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2028")<<"Rang dernier passage PPI 3"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2029")<<"Rang dernier passage PPI 4"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2030")<<"Rang dernier passage PPE 1"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2032")<<"Rang dernier passage PPE 2"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2032")<<"Rang dernier passage PPE 3"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2033")<<"Rang dernier passage PPE 4"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2034")<<"Rang dernier passage PG 1"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2035")<<"Rang dernier passage PG 2"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2036")<<"Rang dernier passage PG 3"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2037")<<"Rang dernier passage PG 4"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2038")<<"Rang dernier passage FN 1"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2039")<<"Rang dernier passage FN 2"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2040")<<"Rang dernier passage FN 3"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2041")<<"Rang dernier passage FN 4"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2042")<<"Erreur comptage"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2043")<<"Panne équipement"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2044")<<"Type MR (63,73,10)"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2045")<<"Identification du train - élément 1"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2046")<<"Identification du train - élément 2"<<"---"));
|
||||
Item->addChild(new QTreeWidgetItem(QStringList()<<QString().fromUtf8("2047")<<"Identification du train - élément 3"<<"---"));
|
||||
|
||||
|
||||
|
||||
ui->mHistorianDataTreeWidget->insertTopLevelItem(0,Item);
|
||||
ui->mHistorianDataTreeWidget->expandAll();
|
||||
ui->mHistorianDataTreeWidget->resizeColumnToContents(0);
|
||||
ui->mHistorianDataTreeWidget->resizeColumnToContents(1);
|
||||
ui->mHistorianDataTreeWidget->resizeColumnToContents(2);
|
||||
|
||||
connect(ui->mConnectBtn,&QPushButton::clicked,this,&CHistorianPage::ConnectButtonPressed);
|
||||
|
||||
|
||||
|
||||
mProgramHandle = 0;
|
||||
}
|
||||
|
||||
CHistorianPage::~CHistorianPage()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
|
||||
int CHistorianPage::UpdateDataTable(CHistorienData *Data)
|
||||
{
|
||||
QTreeWidgetItem* Item = ui->mHistorianDataTreeWidget->topLevelItem(0);
|
||||
|
||||
Item->child(0)->setText(2,QString("%1").arg(Data->mFNEnabled));
|
||||
Item->child(1)->setText(2,QString("%1").arg(Data->mPPEnabled));
|
||||
Item->child(2)->setText(2,QString("%1").arg(Data->mPGEnabled));
|
||||
Item->child(3)->setText(2,QString("%1").arg(Data->mPPZT2Enabled));
|
||||
Item->child(4)->setText(2,QString("%1").arg(Data->mMaintenanceMode));
|
||||
Item->child(5)->setText(2,QString("%1").arg(Data->mHPCHealth));
|
||||
Item->child(6)->setText(2,QString("%1").arg(Data->mSEIHealth));
|
||||
Item->child(7)->setText(2,QString("%1").arg(Data->mZT1Enabled));
|
||||
Item->child(8)->setText(2,QString("%1").arg(Data->mZT2Enabled));
|
||||
Item->child(9)->setText(2,QString("%1").arg(Data->mCalibPG));
|
||||
Item->child(10)->setText(2,QString("%1").arg(Data->mBootDateYr));
|
||||
Item->child(11)->setText(2,QString("%1").arg(Data->mBootDateMonth));
|
||||
Item->child(12)->setText(2,QString("%1").arg(Data->mBootDateDay));
|
||||
Item->child(13)->setText(2,QString("%1").arg(Data->mBootDateHour));
|
||||
Item->child(14)->setText(2,QString("%1").arg(Data->mBootDateMinutes));
|
||||
Item->child(15)->setText(2,QString("%1").arg(Data->mBootDateSeconds));
|
||||
Item->child(16)->setText(2,QString("%1").arg(Data->mTotalTrains));
|
||||
Item->child(17)->setText(2,QString("%1").arg(Data->mTotalDetections));
|
||||
Item->child(18)->setText(2,QString("%1").arg(Data->mTrainsToday));
|
||||
Item->child(19)->setText(2,QString("%1").arg(Data->mDetectToday));
|
||||
Item->child(20)->setText(2,QString("%1").arg(Data->mFNDetectToday));
|
||||
Item->child(21)->setText(2,QString("%1").arg(Data->mPPIDetectToday));
|
||||
Item->child(22)->setText(2,QString("%1").arg(Data->mPPEDetectToday));
|
||||
Item->child(23)->setText(2,QString("%1").arg(Data->mPGDetectToday));
|
||||
Item->child(24)->setText(2,QString("%1").arg(Data->mPPIZT2DetectToday));
|
||||
Item->child(25)->setText(2,QString("%1").arg(Data->mPPEZT2DetectToday));
|
||||
Item->child(26)->setText(2,QString("%1").arg(Data->mLastTrainYear));
|
||||
Item->child(27)->setText(2,QString("%1").arg(Data->mLastTrainMonth));
|
||||
Item->child(28)->setText(2,QString("%1").arg(Data->mLastTrainDay));
|
||||
Item->child(29)->setText(2,QString("%1").arg(Data->mLastTrainHour));
|
||||
Item->child(30)->setText(2,QString("%1").arg(Data->mLastTrainMinutes));
|
||||
Item->child(31)->setText(2,QString("%1").arg(Data->mLastTrainSeconds));
|
||||
Item->child(32)->setText(2,QString("%1").arg(Data->mLastZone));
|
||||
Item->child(33)->setText(2,QString("%1").arg(Data->mNbDetectLasTrain));
|
||||
Item->child(34)->setText(2,QString("%1").arg(Data->mLastTrainPPI1));
|
||||
Item->child(35)->setText(2,QString("%1").arg(Data->mLastTrainPPI2));
|
||||
Item->child(36)->setText(2,QString("%1").arg(Data->mLastTrainPPI3));
|
||||
Item->child(37)->setText(2,QString("%1").arg(Data->mLastTrainPPI4));
|
||||
Item->child(38)->setText(2,QString("%1").arg(Data->mLastTrainPPE1));
|
||||
Item->child(39)->setText(2,QString("%1").arg(Data->mLastTrainPPE2));
|
||||
Item->child(40)->setText(2,QString("%1").arg(Data->mLastTrainPPE3));
|
||||
Item->child(41)->setText(2,QString("%1").arg(Data->mLastTrainPPE4));
|
||||
Item->child(42)->setText(2,QString("%1").arg(Data->mLastTrainPG1));
|
||||
Item->child(43)->setText(2,QString("%1").arg(Data->mLastTrainPG2));
|
||||
Item->child(44)->setText(2,QString("%1").arg(Data->mLastTrainPG3));
|
||||
Item->child(45)->setText(2,QString("%1").arg(Data->mLastTrainPG4));
|
||||
Item->child(46)->setText(2,QString("%1").arg(Data->mLastTrainFN1));
|
||||
Item->child(47)->setText(2,QString("%1").arg(Data->mLastTrainFN2));
|
||||
Item->child(48)->setText(2,QString("%1").arg(Data->mLastTrainFN3));
|
||||
Item->child(49)->setText(2,QString("%1").arg(Data->mLastTrainFN4));
|
||||
Item->child(50)->setText(2,QString("%1").arg(Data->mLastTrainCountErr));
|
||||
Item->child(51)->setText(2,QString("%1").arg(Data->mLastTrainPEQ));
|
||||
Item->child(52)->setText(2,QString("%1").arg(Data->mLastTrainType));
|
||||
Item->child(53)->setText(2,QString("%1").arg(Data->mLastTrainCompo1));
|
||||
Item->child(54)->setText(2,QString("%1").arg(Data->mLastTrainCompo2));
|
||||
Item->child(55)->setText(2,QString("%1").arg(Data->mLastTrainCompo3));
|
||||
}
|
||||
|
||||
void CHistorianPage::ConnectButtonPressed()
|
||||
{
|
||||
QString IP = ui->mZTIPAddressLineEdit->text();
|
||||
int Port = ui->mZTPortLineEdit->text().toInt();
|
||||
|
||||
if(ui->mConnectBtn->text() == "Déconnecter")
|
||||
{
|
||||
mProgramHandle->DisconnectFromZTRequest();
|
||||
}
|
||||
else
|
||||
{
|
||||
mProgramHandle->ConnectToZTRequest(IP,Port);
|
||||
}
|
||||
}
|
||||
|
||||
int CHistorianPage::HistorianConnexionStatus(bool Connected)
|
||||
{
|
||||
if(Connected)
|
||||
{
|
||||
ui->mConnectBtn->setText("Déconnecter");
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->mConnectBtn->setText("Connecter");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
#define HISTORIANPAGE_H
|
||||
|
||||
#include <QWidget>
|
||||
#include <QTimer>
|
||||
class CHistorienData;
|
||||
class CModbusHistorienMaster;
|
||||
|
||||
namespace Ui {
|
||||
class CHistorianPage;
|
||||
@@ -14,9 +17,18 @@ class CHistorianPage : public QWidget
|
||||
public:
|
||||
explicit CHistorianPage(QWidget *parent = 0);
|
||||
~CHistorianPage();
|
||||
int UpdateDataTable(CHistorienData *Data);
|
||||
int HistorianConnexionStatus(bool Connected);
|
||||
|
||||
|
||||
CModbusHistorienMaster *mProgramHandle;
|
||||
|
||||
|
||||
private:
|
||||
Ui::CHistorianPage *ui;
|
||||
|
||||
public slots:
|
||||
void ConnectButtonPressed();
|
||||
};
|
||||
|
||||
#endif // HISTORIANPAGE_H
|
||||
|
||||
@@ -1,21 +1,96 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<author/>
|
||||
<comment/>
|
||||
<exportmacro/>
|
||||
<class>CHistorianPage</class>
|
||||
<widget class="QWidget" name="CHistorianPage">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>400</width>
|
||||
<height>300</height>
|
||||
<width>966</width>
|
||||
<height>706</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<widget class="QLineEdit" name="mZTPortLineEdit">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>280</x>
|
||||
<y>90</y>
|
||||
<width>61</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>2183</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLineEdit" name="mZTIPAddressLineEdit">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>40</x>
|
||||
<y>90</y>
|
||||
<width>231</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>192.168.50.220</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="mConnectBtn">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>360</x>
|
||||
<y>90</y>
|
||||
<width>75</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Connecter</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="mSEISimTitleLabel">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>260</x>
|
||||
<y>40</y>
|
||||
<width>411</width>
|
||||
<height>31</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>18</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Simulateur Historien PI</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::AutoText</enum>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QTreeWidget" name="mHistorianDataTreeWidget">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>40</x>
|
||||
<y>140</y>
|
||||
<width>551</width>
|
||||
<height>551</height>
|
||||
</rect>
|
||||
</property>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string notr="true">1</string>
|
||||
</property>
|
||||
</column>
|
||||
</widget>
|
||||
</widget>
|
||||
<pixmapfunction/>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
+61
-1
@@ -6,6 +6,66 @@ class CHistorienData
|
||||
{
|
||||
public:
|
||||
CHistorienData();
|
||||
|
||||
int mFNEnabled;
|
||||
int mPPEnabled;
|
||||
int mPGEnabled;
|
||||
int mPPZT2Enabled;
|
||||
int mMaintenanceMode;
|
||||
int mHPCHealth;
|
||||
int mSEIHealth;
|
||||
int mZT1Enabled;
|
||||
int mZT2Enabled;
|
||||
int mCalibPG;
|
||||
int mBootDateYr;
|
||||
int mBootDateMonth;
|
||||
int mBootDateDay;
|
||||
int mBootDateHour;
|
||||
int mBootDateMinutes;
|
||||
int mBootDateSeconds;
|
||||
int mTotalTrains;
|
||||
int mTotalDetections;
|
||||
int mTrainsToday;
|
||||
int mDetectToday;
|
||||
int mFNDetectToday;
|
||||
int mPPIDetectToday;
|
||||
int mPPEDetectToday;
|
||||
int mPGDetectToday;
|
||||
int mPPIZT2DetectToday;
|
||||
int mPPEZT2DetectToday;
|
||||
int mLastTrainYear;
|
||||
int mLastTrainMonth;
|
||||
int mLastTrainDay;
|
||||
int mLastTrainHour;
|
||||
int mLastTrainMinutes;
|
||||
int mLastTrainSeconds;
|
||||
int mLastZone;
|
||||
int mNbDetectLasTrain;
|
||||
int mLastTrainPPI1;
|
||||
int mLastTrainPPI2;
|
||||
int mLastTrainPPI3;
|
||||
int mLastTrainPPI4;
|
||||
int mLastTrainPPE1;
|
||||
int mLastTrainPPE2;
|
||||
int mLastTrainPPE3;
|
||||
int mLastTrainPPE4;
|
||||
int mLastTrainPG1;
|
||||
int mLastTrainPG2;
|
||||
int mLastTrainPG3;
|
||||
int mLastTrainPG4;
|
||||
int mLastTrainFN1;
|
||||
int mLastTrainFN2;
|
||||
int mLastTrainFN3;
|
||||
int mLastTrainFN4;
|
||||
int mLastTrainCountErr;
|
||||
int mLastTrainPEQ;
|
||||
int mLastTrainType;
|
||||
int mLastTrainCompo1;
|
||||
int mLastTrainCompo2;
|
||||
int mLastTrainCompo3;
|
||||
|
||||
};
|
||||
|
||||
#endif // HISTORIENDATA_H
|
||||
#endif // HISTORIENDATA_H
|
||||
|
||||
|
||||
|
||||
@@ -19,12 +19,15 @@ CMainPage::~CMainPage()
|
||||
delete ui;
|
||||
}
|
||||
|
||||
int CMainPage::RegisterPagesTabs(CModbusPage *ModbusPage, CLazerProbeSimPage* LazerSimPage, CSEIModbusPage *SEIModbusPage, CZTAlarmGeneratorPage* ZTAlarmGenPage)
|
||||
int CMainPage::RegisterPagesTabs(CModbusPage *ModbusPage, CLazerProbeSimPage* LazerSimPage, CSEIModbusPage *SEIModbusPage, CZTAlarmGeneratorPage* ZTAlarmGenPage, CHistorianPage *HistorianPage)
|
||||
{
|
||||
ui->mMainPageTabs->clear();
|
||||
#ifndef VERSION_FORMATION_SEI
|
||||
ui->mMainPageTabs->addTab((QWidget*)ModbusPage,"Modbus CC");
|
||||
ui->mMainPageTabs->addTab((QWidget*)SEIModbusPage,"Modbus SEI");
|
||||
ui->mMainPageTabs->addTab((QWidget*)LazerSimPage,"Sondes");
|
||||
ui->mMainPageTabs->addTab((QWidget*)HistorianPage,"Historien PI");
|
||||
#endif
|
||||
ui->mMainPageTabs->addTab((QWidget*)ZTAlarmGenPage,"Générateur ZT");
|
||||
|
||||
//ModbusPage->show();
|
||||
|
||||
+2
-1
@@ -8,6 +8,7 @@ class CModbusPage;
|
||||
class CLazerProbeSimPage;
|
||||
class CSEIModbusPage;
|
||||
class CZTAlarmGeneratorPage;
|
||||
class CHistorianPage;
|
||||
|
||||
namespace Ui {
|
||||
class CMainPage;
|
||||
@@ -22,7 +23,7 @@ public:
|
||||
~CMainPage();
|
||||
COutilModbus *mProgramHandle;
|
||||
|
||||
int RegisterPagesTabs(CModbusPage*, CLazerProbeSimPage*, CSEIModbusPage*, CZTAlarmGeneratorPage* ZTAlarmGen);
|
||||
int RegisterPagesTabs(CModbusPage*, CLazerProbeSimPage*, CSEIModbusPage*, CZTAlarmGeneratorPage* ZTAlarmGen, CHistorianPage *HistorianPage);
|
||||
|
||||
|
||||
private:
|
||||
|
||||
@@ -11,7 +11,7 @@ MainWindow::MainWindow(QWidget *parent,COutilModbus* ProgramHandle)
|
||||
mMainPage = new CMainPage(this);
|
||||
mMainPage->mProgramHandle = ProgramHandle;
|
||||
|
||||
mSEIModbusPage = new CSEIModbusPage(this);
|
||||
mSEIModbusPage = new CSEIModbusPage();
|
||||
mSEIModbusPage->mProgramHandle = ProgramHandle;
|
||||
|
||||
mModbusPage = new CModbusPage();
|
||||
@@ -20,12 +20,15 @@ MainWindow::MainWindow(QWidget *parent,COutilModbus* ProgramHandle)
|
||||
mZTAlarmGeneratorPage = new CZTAlarmGeneratorPage();
|
||||
//mZTAlarmGeneratorPage->mProgramHandle = ProgramHandle;
|
||||
|
||||
mHistorianPage = new CHistorianPage;
|
||||
|
||||
|
||||
mLazerSimPage = new CLazerProbeSimPage;
|
||||
|
||||
setCentralWidget(mMainPage);
|
||||
|
||||
mMainPage->RegisterPagesTabs(mModbusPage,mLazerSimPage, mSEIModbusPage, mZTAlarmGeneratorPage);
|
||||
|
||||
mMainPage->RegisterPagesTabs(mModbusPage,mLazerSimPage, mSEIModbusPage, mZTAlarmGeneratorPage,mHistorianPage);
|
||||
|
||||
// setWindowFlags(Qt::WindowStaysOnTopHint);
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#include "LazerProbeSimPage.h"
|
||||
#include "SEIModbusPage.h"
|
||||
#include "ZTAlarmGeneratorPage.h"
|
||||
#include "HistorianPage.h"
|
||||
|
||||
class COutilModbus;
|
||||
|
||||
@@ -28,6 +29,7 @@ public:
|
||||
CLazerProbeSimPage *mLazerSimPage;
|
||||
CSEIModbusPage *mSEIModbusPage;
|
||||
CZTAlarmGeneratorPage *mZTAlarmGeneratorPage;
|
||||
CHistorianPage *mHistorianPage;
|
||||
|
||||
// QGridLayout *mCCGridLayout, *mSEIGridLayout;
|
||||
// QPushButton *mConnectToSlaveBtn, *mSendWriteMultipleHR, *mSendReadHR, *mWriteSingleHR;
|
||||
|
||||
@@ -1,6 +1,156 @@
|
||||
#include "ModbusHistorienMaster.h"
|
||||
#include "HistorianPage.h"
|
||||
#include "HistorienData.h"
|
||||
#include "PIHistorianDefs.h"
|
||||
|
||||
CModbusHistorienMaster::CModbusHistorienMaster()
|
||||
CModbusHistorienMaster::CModbusHistorienMaster(CModbusRepository *HistorienRepo) :
|
||||
CModbusBackend(HistorienRepo)
|
||||
{
|
||||
|
||||
mPageHandle = 0;
|
||||
mModbusMode = MODBUS_MASTER_MODE;
|
||||
|
||||
|
||||
mModbusTCPSocketHandle = new QTcpSocket();
|
||||
connect(mModbusTCPSocketHandle,&QTcpSocket::readyRead,this,&CModbusBackend::ModbusDataReady);
|
||||
connect(mModbusTCPSocketHandle,&QTcpSocket::disconnected,this,&CModbusHistorienMaster::SocketDisconnected);
|
||||
connect(mModbusTCPSocketHandle,&QTcpSocket::connected,this,&CModbusHistorienMaster::SocketConnected);
|
||||
|
||||
mHistorienPollTimer = new QTimer;
|
||||
mHistorienPollTimer->setInterval(1000);
|
||||
mHistorienPollTimer->setSingleShot(false);
|
||||
connect(mHistorienPollTimer,&QTimer::timeout,this,&CModbusHistorienMaster::HistorienPollTimerExpired);
|
||||
|
||||
}
|
||||
|
||||
CModbusHistorienMaster::~CModbusHistorienMaster()
|
||||
{
|
||||
// delete mHistorianZTSocket;
|
||||
delete mHistorienPollTimer;
|
||||
}
|
||||
|
||||
int CModbusHistorienMaster::ConnectToZTRequest(QString IP, int port)
|
||||
{
|
||||
if(mModbusTCPSocketHandle->state() != QAbstractSocket::UnconnectedState)
|
||||
return RET_ERROR;
|
||||
|
||||
mModbusTCPSocketHandle->connectToHost(IP,port);
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
int CModbusHistorienMaster::DisconnectFromZTRequest()
|
||||
{
|
||||
mModbusTCPSocketHandle->disconnectFromHost();
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
void CModbusHistorienMaster::SocketConnected()
|
||||
{
|
||||
qDebug("Historian module connected to ZT");
|
||||
mPageHandle->HistorianConnexionStatus(true);
|
||||
mHistorienPollTimer->start();
|
||||
}
|
||||
|
||||
void CModbusHistorienMaster::SocketDisconnected()
|
||||
{
|
||||
qDebug("Historian module disconnected");
|
||||
mPageHandle->HistorianConnexionStatus(false);
|
||||
mHistorienPollTimer->stop();
|
||||
ModbusLinkDisconnected();
|
||||
}
|
||||
|
||||
void CModbusHistorienMaster::RegistersDatabaseUpdated(quint16 StartAddress, quint16 Length)
|
||||
{
|
||||
qDebug("New Historien data received. StartAdd:%d, Length:%d",StartAddress,Length);
|
||||
|
||||
CHistorienData NewData;
|
||||
bool OK;
|
||||
mModbusRepo->GetSingleReg(HISTORIAN_ZT_STATUS_FLAGS_REG_ADD,&OK);
|
||||
|
||||
NewData.mFNEnabled = 0;
|
||||
NewData.mPPEnabled = 0;
|
||||
NewData.mPGEnabled = 0;
|
||||
NewData.mPPZT2Enabled = 0;
|
||||
NewData.mMaintenanceMode = 0;
|
||||
NewData.mHPCHealth = 0;
|
||||
NewData.mSEIHealth = 0;
|
||||
NewData.mZT1Enabled = 0;
|
||||
NewData.mZT2Enabled = 0;
|
||||
NewData.mCalibPG = 0;
|
||||
|
||||
|
||||
|
||||
quint16 reg = mModbusRepo->GetSingleReg(HISTORIAN_ZT_STATUS_FLAGS_REG_ADD,&OK);
|
||||
NewData.mFNEnabled = ((reg & HISTORIAN_ZT1_FN_ENABLED_FLAG_MASK) != 0);
|
||||
NewData.mPPEnabled = ((reg & HISTORIAN_ZT1_PP_ENABLED_FLAG_MASK) != 0);
|
||||
NewData.mPGEnabled = ((reg & HISTORIAN_ZT1_PG_ENABLED_FLAG_MASK) != 0);
|
||||
NewData.mPPZT2Enabled = ((reg & HISTORIAN_ZT2_PP_ENABLED_FLAG_MASK) != 0);
|
||||
NewData.mMaintenanceMode = ((reg & HISTORIAN_ZT_MAINTENANCE_MODE_FLAG_MASK) != 0);
|
||||
NewData.mHPCHealth = ((reg & HISTORIAN_ZT_HPC_COMM_HEALTH_FLAG_MASK) != 0);
|
||||
NewData.mSEIHealth = ((reg & HISTORIAN_ZT_SEI_COMM_FLAG_MASK) != 0);
|
||||
NewData.mZT1Enabled = ((reg & HISTORIAN_ZT_ZT1_ENABLED_FLAG_MASK) != 0);
|
||||
NewData.mZT2Enabled = ((reg & HISTORIAN_ZT_ZT2_ENABLED_FLAG_MASK) != 0);
|
||||
NewData.mCalibPG = ((reg & HISTORIAN_PG_CALIBRATION_REG_ADD) != 0);
|
||||
|
||||
|
||||
|
||||
NewData.mBootDateYr = mModbusRepo->GetSingleReg(HISTORIAN_BOOT_DATE_YEAR_REG_ADD,&OK);
|
||||
NewData.mBootDateMonth = mModbusRepo->GetSingleReg(HISTORIAN_BOOT_DATE_MONTH_REG_ADD,&OK);
|
||||
NewData.mBootDateDay = mModbusRepo->GetSingleReg(HISTORIAN_BOOT_DATE_DAY_REG_ADD,&OK);
|
||||
NewData.mBootDateHour = mModbusRepo->GetSingleReg(HISTORIAN_BOOT_DATE_HOUR_REG_ADD,&OK);
|
||||
NewData.mBootDateMinutes = mModbusRepo->GetSingleReg(HISTORIAN_BOOT_DATE_MINUTES_REG_ADD,&OK);
|
||||
NewData.mBootDateSeconds = mModbusRepo->GetSingleReg(HISTORIAN_BOOT_DATE_SECONDS_REG_ADD,&OK);
|
||||
NewData.mTotalTrains = mModbusRepo->GetSingleReg(HISTORIAN_TRAINS_TOTAL_REG_ADD,&OK);
|
||||
NewData.mTotalDetections = mModbusRepo->GetSingleReg(HISTORIAN_DETECTIONS_TOTAL_REG_ADD,&OK);
|
||||
NewData.mTrainsToday = mModbusRepo->GetSingleReg(HISTORIAN_TRAINS_TODAY_REG_ADD ,&OK);
|
||||
NewData.mDetectToday = mModbusRepo->GetSingleReg(HISTORIAN_DETECTIONS_TODAY_REG_ADD ,&OK);
|
||||
NewData.mFNDetectToday = mModbusRepo->GetSingleReg(HISTORIAN_FN_DETECTS_TODAY_REG_ADD,&OK);
|
||||
NewData.mPPIDetectToday = mModbusRepo->GetSingleReg(HISTORIAN_PPI_ZT1_DETECTS_TODAY_REG_ADD,&OK);
|
||||
NewData.mPPEDetectToday = mModbusRepo->GetSingleReg(HISTORIAN_PPE_ZT1_DETECTS_TODAY_REG_ADD,&OK);
|
||||
NewData.mPGDetectToday = mModbusRepo->GetSingleReg(HISTORIAN_PG_DETECTS_TODAY_REG_ADD,&OK);
|
||||
NewData.mPPIZT2DetectToday = mModbusRepo->GetSingleReg(HISTORIAN_PPI_ZT2_DETECTS_TODAY_REG_ADD,&OK);
|
||||
NewData.mPPEZT2DetectToday = mModbusRepo->GetSingleReg(HISTORIAN_PPE_ZT2_DETECTS_TODAY_REG_ADD,&OK);
|
||||
NewData.mLastTrainYear = mModbusRepo->GetSingleReg(HISTORIAN_LAST_TRAIN_YEAR_REG_ADD,&OK);
|
||||
NewData.mLastTrainMonth = mModbusRepo->GetSingleReg(HISTORIAN_LAST_TRAIN_MONTH_REG_ADD,&OK);
|
||||
NewData.mLastTrainDay = mModbusRepo->GetSingleReg(HISTORIAN_LAST_TRAIN_DAY_REG_ADD,&OK);
|
||||
NewData.mLastTrainHour = mModbusRepo->GetSingleReg(HISTORIAN_LAST_TRAIN_HOUR_REG_ADD,&OK);
|
||||
NewData.mLastTrainMinutes = mModbusRepo->GetSingleReg(HISTORIAN_LAST_TRAIN_MINUTE_REG_ADD,&OK);
|
||||
NewData.mLastTrainSeconds = mModbusRepo->GetSingleReg(HISTORIAN_LAST_TRAIN_SECONDS_REG_ADD,&OK);
|
||||
NewData.mLastZone = mModbusRepo->GetSingleReg(HISTORIAN_LAST_TRAIN_ZONE_REG_ADD ,&OK);
|
||||
NewData.mNbDetectLasTrain = mModbusRepo->GetSingleReg(HISTORIAN_LAST_TRAIN_NB_DETECTS_REG_ADD ,&OK);
|
||||
NewData.mLastTrainPPI1 = mModbusRepo->GetSingleReg(HISTORIAN_LAST_TRAIN_PPI_RK_1_REG_ADD,&OK);
|
||||
NewData.mLastTrainPPI2 = mModbusRepo->GetSingleReg(HISTORIAN_LAST_TRAIN_PPI_RK_2_REG_ADD,&OK);
|
||||
NewData.mLastTrainPPI3 = mModbusRepo->GetSingleReg(HISTORIAN_LAST_TRAIN_PPI_RK_3_REG_ADD,&OK);
|
||||
NewData.mLastTrainPPI4 = mModbusRepo->GetSingleReg(HISTORIAN_LAST_TRAIN_PPI_RK_4_REG_ADD,&OK);
|
||||
NewData.mLastTrainPPE1 = mModbusRepo->GetSingleReg(HISTORIAN_LAST_TRAIN_PPE_RK_1_REG_ADD,&OK);
|
||||
NewData.mLastTrainPPE2 = mModbusRepo->GetSingleReg(HISTORIAN_LAST_TRAIN_PPE_RK_2_REG_ADD,&OK);
|
||||
NewData.mLastTrainPPE3 = mModbusRepo->GetSingleReg(HISTORIAN_LAST_TRAIN_PPE_RK_3_REG_ADD,&OK);
|
||||
NewData.mLastTrainPPE4 = mModbusRepo->GetSingleReg(HISTORIAN_LAST_TRAIN_PPE_RK_4_REG_ADD,&OK);
|
||||
NewData.mLastTrainPG1 = mModbusRepo->GetSingleReg(HISTORIAN_LAST_TRAIN_PG_RK_1_REG_ADD,&OK);
|
||||
NewData.mLastTrainPG2 = mModbusRepo->GetSingleReg(HISTORIAN_LAST_TRAIN_PG_RK_2_REG_ADD,&OK);
|
||||
NewData.mLastTrainPG3 = mModbusRepo->GetSingleReg(HISTORIAN_LAST_TRAIN_PG_RK_3_REG_ADD,&OK);
|
||||
NewData.mLastTrainPG4 = mModbusRepo->GetSingleReg(HISTORIAN_LAST_TRAIN_PG_RK_4_REG_ADD,&OK);
|
||||
NewData.mLastTrainFN1 = mModbusRepo->GetSingleReg(HISTORIAN_LAST_TRAIN_FN_RK_1_REG_ADD,&OK);
|
||||
NewData.mLastTrainFN2 = mModbusRepo->GetSingleReg(HISTORIAN_LAST_TRAIN_FN_RK_2_REG_ADD,&OK);
|
||||
NewData.mLastTrainFN3 = mModbusRepo->GetSingleReg(HISTORIAN_LAST_TRAIN_FN_RK_3_REG_ADD,&OK);
|
||||
NewData.mLastTrainFN4 = mModbusRepo->GetSingleReg(HISTORIAN_LAST_TRAIN_FN_RK_4_REG_ADD,&OK);
|
||||
NewData.mLastTrainCountErr = mModbusRepo->GetSingleReg(HISTORIAN_LAST_TRAIN_COMPTAGE_DET_REG_ADD,&OK);
|
||||
NewData.mLastTrainPEQ = mModbusRepo->GetSingleReg(HISTORIAN_LAST_TRAIN_PEQ_REG_ADD,&OK);
|
||||
NewData.mLastTrainType = mModbusRepo->GetSingleReg(HISTORIAN_LAST_TRAIN_TYPE_REG_ADD,&OK);
|
||||
NewData.mLastTrainCompo1 = mModbusRepo->GetSingleReg(HISTORIAN_LAST_TRAIN_ID1_REG_ADD,&OK);
|
||||
NewData.mLastTrainCompo2 = mModbusRepo->GetSingleReg(HISTORIAN_LAST_TRAIN_ID2_REG_ADD,&OK);
|
||||
NewData.mLastTrainCompo3 = mModbusRepo->GetSingleReg(HISTORIAN_LAST_TRAIN_ID3_REG_ADD,&OK);
|
||||
|
||||
mPageHandle->UpdateDataTable(&NewData);
|
||||
|
||||
}
|
||||
|
||||
void CModbusHistorienMaster::ModbusResponseException(quint8 ExceptionCode, quint8 FctCode)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void CModbusHistorienMaster::HistorienPollTimerExpired()
|
||||
{
|
||||
SendReadHoldingRegistersRequest(2000,50); //Read all registers
|
||||
}
|
||||
|
||||
@@ -1,11 +1,32 @@
|
||||
#ifndef MODBUSHISTORIENMASTER_H
|
||||
#define MODBUSHISTORIENMASTER_H
|
||||
|
||||
#include "ModbusBackend.h"
|
||||
#include <QTimer>
|
||||
|
||||
class CModbusHistorienMaster
|
||||
class CHistorianPage;
|
||||
|
||||
class CModbusHistorienMaster : public CModbusBackend
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
CModbusHistorienMaster();
|
||||
CModbusHistorienMaster(CModbusRepository *HistorienRepo);
|
||||
virtual ~CModbusHistorienMaster();
|
||||
int ConnectToZTRequest(QString IP, int port);
|
||||
int DisconnectFromZTRequest();
|
||||
|
||||
void RegistersDatabaseUpdated(quint16 StartAddress, quint16 Length);
|
||||
//Master signals
|
||||
void ModbusResponseException(quint8 ExceptionCode, quint8 FctCode);
|
||||
|
||||
// QTcpSocket *mHistorianZTSocket;
|
||||
CHistorianPage *mPageHandle;
|
||||
QTimer *mHistorienPollTimer;
|
||||
|
||||
public slots:
|
||||
void SocketConnected();
|
||||
void SocketDisconnected();
|
||||
void HistorienPollTimerExpired();
|
||||
};
|
||||
|
||||
#endif // MODBUSHISTORIENMASTER_H
|
||||
#endif // MODBUSHISTORIENMASTER_H
|
||||
|
||||
@@ -29,6 +29,9 @@ COutilModbus::COutilModbus(QObject *parent) :
|
||||
mZTAlarmGenerator->mAlarmGeneratorPageHandle = w->mZTAlarmGeneratorPage;
|
||||
w->mZTAlarmGeneratorPage->mProgramHandle = mZTAlarmGenerator;
|
||||
|
||||
mHistorienMaster = new CModbusHistorienMaster(&mHistorienRepo);
|
||||
w->mHistorianPage->mProgramHandle = mHistorienMaster;
|
||||
|
||||
mSEIWatchdogValue = 0;
|
||||
}
|
||||
|
||||
@@ -49,12 +52,13 @@ int COutilModbus::Start()
|
||||
|
||||
mModbusPageHandle = w->mModbusPage;
|
||||
mSEIModbusPageHandle = w->mSEIModbusPage;
|
||||
mHistorienMaster->mPageHandle = w->mHistorianPage;
|
||||
|
||||
mCCModbusRepo.AddHRDataMap(2000,128);
|
||||
|
||||
|
||||
//mModbusSEIEmulator->StartSlaveServer(502);
|
||||
mModbusSEIEmulator->SetServerPort(503);
|
||||
mModbusSEIEmulator->SetServerPort(502);
|
||||
|
||||
mSEIModbusRepo.AddHRDataMap(2000,128);
|
||||
mSEIModbusRepo.AddHRDataMap(3000,128);
|
||||
@@ -68,6 +72,7 @@ int COutilModbus::Start()
|
||||
connect(mModbusSEIEmulator,SIGNAL(ModbusSlaveDisconnected(CModbusSlave*)),this,SLOT(SEIModbusDisconnected(CModbusSlave*)));
|
||||
connect(mModbusSEIEmulator,SIGNAL(ModbusSlaveRepoUpdated()),this,SLOT(SEIRepositoryUpdated()));
|
||||
|
||||
mHistorienRepo.AddHRDataMap(2000,128);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include "ModbusRepository.h"
|
||||
#include "ZTInfo.h"
|
||||
#include "ZTAlarmGenerator.h"
|
||||
#include "ModbusHistorienMaster.h"
|
||||
|
||||
class CMainPage;
|
||||
|
||||
@@ -23,13 +24,14 @@ public:
|
||||
MainWindow *w;
|
||||
CModbusSlave *mModbusSEIEmulator;
|
||||
CModbusMaster *mModbusCCEmulator;
|
||||
CModbusRepository mSEIModbusRepo,mCCModbusRepo;
|
||||
CModbusRepository mSEIModbusRepo,mCCModbusRepo, mHistorienRepo;
|
||||
CZTInfo mCurZTInfo, mSEIZTInfo;
|
||||
|
||||
CModbusPage *mModbusPageHandle;
|
||||
CSEIModbusPage *mSEIModbusPageHandle;
|
||||
|
||||
CZTAlarmGenerator *mZTAlarmGenerator;
|
||||
CModbusHistorienMaster *mHistorienMaster;
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
#ifndef PIHISTORIANDEFS_H
|
||||
#define PIHISTORIANDEFS_H
|
||||
|
||||
#define HISTORIAN_WATCHDOG_TIMEOUT 3000
|
||||
|
||||
//PI HISTORIAN modbus table masks
|
||||
#define HISTORIAN_ZT_DATA_BASE_REG 2000
|
||||
#define HISTORIAN_MODBUS_ZT_TABLE_DATA_SIZE 50 //Taille de la table = 50 registres (2000 à 2049)
|
||||
|
||||
//Flags definitions for HR2000
|
||||
#define HISTORIAN_ZT1_FN_ENABLED_FLAG_MASK 0x0001
|
||||
#define HISTORIAN_ZT1_PP_ENABLED_FLAG_MASK 0x0002
|
||||
#define HISTORIAN_ZT1_PG_ENABLED_FLAG_MASK 0x0004
|
||||
#define HISTORIAN_ZT2_PP_ENABLED_FLAG_MASK 0x0008
|
||||
#define HISTORIAN_ZT_MAINTENANCE_MODE_FLAG_MASK 0x0010
|
||||
#define HISTORIAN_ZT_HPC_COMM_HEALTH_FLAG_MASK 0x0020
|
||||
#define HISTORIAN_ZT_SEI_COMM_FLAG_MASK 0x0040
|
||||
#define HISTORIAN_ZT_ZT1_ENABLED_FLAG_MASK 0x0080
|
||||
#define HISTORIAN_ZT_ZT2_ENABLED_FLAG_MASK 0x0100
|
||||
#define HISTORIAN_ZT_RESERVED_FLAG_MASK_7 0x0200
|
||||
#define HISTORIAN_ZT_RESERVED_FLAG_MASK_6 0x0400
|
||||
#define HISTORIAN_ZT_RESERVED_FLAG_MASK_5 0x0800
|
||||
#define HISTORIAN_ZT_RESERVED_FLAG_MASK_4 0x1000
|
||||
#define HISTORIAN_ZT_RESERVED_FLAG_MASK_3 0x2000
|
||||
#define HISTORIAN_ZT_RESERVED_FLAG_MASK_2 0x4000
|
||||
#define HISTORIAN_ZT_RESERVED_FLAG_MASK_1 0x8000
|
||||
|
||||
|
||||
#define HISTORIAN_ZT_STATUS_FLAGS_REG_ADD 2000
|
||||
#define HISTORIAN_PG_CALIBRATION_REG_ADD 2001
|
||||
#define HISTORIAN_BOOT_DATE_YEAR_REG_ADD 2002
|
||||
#define HISTORIAN_BOOT_DATE_MONTH_REG_ADD 2003
|
||||
#define HISTORIAN_BOOT_DATE_DAY_REG_ADD 2004
|
||||
#define HISTORIAN_BOOT_DATE_HOUR_REG_ADD 2005
|
||||
#define HISTORIAN_BOOT_DATE_MINUTES_REG_ADD 2006
|
||||
#define HISTORIAN_BOOT_DATE_SECONDS_REG_ADD 2007
|
||||
#define HISTORIAN_TRAINS_TOTAL_REG_ADD 2008
|
||||
#define HISTORIAN_DETECTIONS_TOTAL_REG_ADD 2009
|
||||
#define HISTORIAN_TRAINS_TODAY_REG_ADD 2010
|
||||
#define HISTORIAN_DETECTIONS_TODAY_REG_ADD 2011
|
||||
#define HISTORIAN_FN_DETECTS_TODAY_REG_ADD 2012
|
||||
#define HISTORIAN_PPI_ZT1_DETECTS_TODAY_REG_ADD 2013
|
||||
#define HISTORIAN_PPE_ZT1_DETECTS_TODAY_REG_ADD 2014
|
||||
#define HISTORIAN_PG_DETECTS_TODAY_REG_ADD 2015
|
||||
#define HISTORIAN_PPI_ZT2_DETECTS_TODAY_REG_ADD 2016
|
||||
#define HISTORIAN_PPE_ZT2_DETECTS_TODAY_REG_ADD 2017
|
||||
#define HISTORIAN_LAST_TRAIN_YEAR_REG_ADD 2018
|
||||
#define HISTORIAN_LAST_TRAIN_MONTH_REG_ADD 2019
|
||||
#define HISTORIAN_LAST_TRAIN_DAY_REG_ADD 2020
|
||||
#define HISTORIAN_LAST_TRAIN_HOUR_REG_ADD 2021
|
||||
#define HISTORIAN_LAST_TRAIN_MINUTE_REG_ADD 2022
|
||||
#define HISTORIAN_LAST_TRAIN_SECONDS_REG_ADD 2023
|
||||
#define HISTORIAN_LAST_TRAIN_ZONE_REG_ADD 2024
|
||||
#define HISTORIAN_LAST_TRAIN_NB_DETECTS_REG_ADD 2025
|
||||
#define HISTORIAN_LAST_TRAIN_PPI_RK_1_REG_ADD 2026
|
||||
#define HISTORIAN_LAST_TRAIN_PPI_RK_2_REG_ADD 2027
|
||||
#define HISTORIAN_LAST_TRAIN_PPI_RK_3_REG_ADD 2028
|
||||
#define HISTORIAN_LAST_TRAIN_PPI_RK_4_REG_ADD 2029
|
||||
#define HISTORIAN_LAST_TRAIN_PPE_RK_1_REG_ADD 2030
|
||||
#define HISTORIAN_LAST_TRAIN_PPE_RK_2_REG_ADD 2031
|
||||
#define HISTORIAN_LAST_TRAIN_PPE_RK_3_REG_ADD 2032
|
||||
#define HISTORIAN_LAST_TRAIN_PPE_RK_4_REG_ADD 2033
|
||||
#define HISTORIAN_LAST_TRAIN_PG_RK_1_REG_ADD 2034
|
||||
#define HISTORIAN_LAST_TRAIN_PG_RK_2_REG_ADD 2035
|
||||
#define HISTORIAN_LAST_TRAIN_PG_RK_3_REG_ADD 2036
|
||||
#define HISTORIAN_LAST_TRAIN_PG_RK_4_REG_ADD 2037
|
||||
#define HISTORIAN_LAST_TRAIN_FN_RK_1_REG_ADD 2038
|
||||
#define HISTORIAN_LAST_TRAIN_FN_RK_2_REG_ADD 2039
|
||||
#define HISTORIAN_LAST_TRAIN_FN_RK_3_REG_ADD 2040
|
||||
#define HISTORIAN_LAST_TRAIN_FN_RK_4_REG_ADD 2041
|
||||
#define HISTORIAN_LAST_TRAIN_COMPTAGE_DET_REG_ADD 2042
|
||||
#define HISTORIAN_LAST_TRAIN_PEQ_REG_ADD 2043
|
||||
#define HISTORIAN_LAST_TRAIN_TYPE_REG_ADD 2044
|
||||
#define HISTORIAN_LAST_TRAIN_ID1_REG_ADD 2045
|
||||
#define HISTORIAN_LAST_TRAIN_ID2_REG_ADD 2046
|
||||
#define HISTORIAN_LAST_TRAIN_ID3_REG_ADD 2047
|
||||
#define HISTORIAN_RESERVED_1_REG_ADD 2048
|
||||
#define HISTORIAN_RESERVED_2_REG_ADD 2049
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // PIHISTORIANDEFS_H
|
||||
@@ -2,6 +2,7 @@
|
||||
#include "ZTAlarmGeneratorPage.h"
|
||||
#include "ZTAlarms.h"
|
||||
#include "ProtocolDefs.h"
|
||||
#include <QFile>
|
||||
|
||||
CZTAlarmGenerator::CZTAlarmGenerator(QObject *parent)
|
||||
{
|
||||
@@ -22,6 +23,7 @@ CZTAlarmGenerator::CZTAlarmGenerator(QObject *parent)
|
||||
|
||||
mWatchdogValue = false;
|
||||
mReadModbus = false;
|
||||
mIPAddress = "10.154.234.34";
|
||||
}
|
||||
|
||||
CZTAlarmGenerator::~CZTAlarmGenerator()
|
||||
@@ -317,7 +319,13 @@ int CZTAlarmGenerator::ClearAllAlarms()
|
||||
|
||||
int CZTAlarmGenerator::ConnectToSEIRequest()
|
||||
{
|
||||
mModbusZTEmulator->ConnectToSlave("192.168.50.110",503);
|
||||
QFile IPAddressFile("IP.txt");
|
||||
if(IPAddressFile.open(QIODevice::ReadOnly))
|
||||
{
|
||||
mIPAddress = QString(IPAddressFile.readAll());
|
||||
}
|
||||
|
||||
mModbusZTEmulator->ConnectToSlave(mIPAddress,502);
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ public:
|
||||
CModbusZTMaster *mModbusZTEmulator;
|
||||
CModbusRepository mZTModbusRepo;
|
||||
CZTInfo mZTInfo;
|
||||
QString mIPAddress;
|
||||
|
||||
CZTAlarmGeneratorPage *mAlarmGeneratorPageHandle;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user