Compare commits
10 Commits
9a2f502533
...
004e7234f2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
004e7234f2 | ||
|
|
e73f7afbed | ||
|
|
bc9765cd99 | ||
|
|
4be063c141 | ||
|
|
c1ce25c4c6 | ||
|
|
ae4c5b4738 | ||
|
|
2f61197fb6 | ||
|
|
48b69ebe97 | ||
|
|
c886dc9aed | ||
|
|
9d3e0e9a53 |
42
AddHistorienCfg.sh
Normal file
42
AddHistorienCfg.sh
Normal file
@ -0,0 +1,42 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
|
||||
#Ajout des paramètres SFTP au fichier de config ZT
|
||||
|
||||
ZTEXECDIR=/home/zonetest/ZT
|
||||
USBEXECDIR=$VERSIONROOT/EXE
|
||||
|
||||
|
||||
|
||||
echo " "
|
||||
echo "----------------------------------------------------"
|
||||
echo "Ajout des paramètres Historien PI au fichier de config"
|
||||
echo "----------------------------------------------------"
|
||||
echo "Voulez-vous vraiment continuer? (o ou n)"
|
||||
read UserInput
|
||||
|
||||
if [ "$UserInput" != "o" ]; then
|
||||
echo "Annulation..."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
||||
CONFIG_FILE_PATH=$ZTEXECDIR/Configuration/ZT.cfg
|
||||
echo " "
|
||||
echo "Ajout des paramètres Historien PI dans le fichier de configuration"
|
||||
echo "
|
||||
#----------------------------------
|
||||
#Paramètres de communication Modbus avec le SEI (Serveur NetTrac).
|
||||
#Changer cette valeur à OUI, NON ou AUTO pour activer la communication Modbus l'historienPI.
|
||||
# OUI: Active la communication avec l'historien.
|
||||
# NON: Désactive la communication avec l'historien.
|
||||
ACTIVER_HISTORIEN_PI=OUI
|
||||
#Adresse modbus de la ZT
|
||||
HISTORIEN_PI_DEVID=1
|
||||
#Port Modbus/TCP du serveur historien
|
||||
HISTORIEN_PI_PORT=503
|
||||
\n" >> $CONFIG_FILE_PATH
|
||||
echo "Modification du fichier de configuration OK"
|
||||
|
||||
|
||||
|
||||
59
AddSFTPCfg.sh
Normal file
59
AddSFTPCfg.sh
Normal file
@ -0,0 +1,59 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
|
||||
#Ajout des paramètres SFTP au fichier de config ZT
|
||||
|
||||
ZTEXECDIR=/home/zonetest/ZT
|
||||
USBEXECDIR=$VERSIONROOT/EXE
|
||||
|
||||
|
||||
|
||||
echo " "
|
||||
echo "----------------------------------------------------"
|
||||
echo "Ajout des paramètres SFTP au fichier de config"
|
||||
echo "----------------------------------------------------"
|
||||
echo "Voulez-vous vraiment continuer? (o ou n)"
|
||||
read UserInput
|
||||
|
||||
if [ "$UserInput" != "o" ]; then
|
||||
echo "Annulation..."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
||||
CONFIG_FILE_PATH=$ZTEXECDIR/Configuration/ZT.cfg
|
||||
echo " "
|
||||
echo "Ajout des informations SFTP & SAMBA dans le fichier de configuration"
|
||||
echo "
|
||||
#----------------------------------
|
||||
#Paramètres du dossier partagé sur le réseau (SAMBA) pour la copie des fichiers logs
|
||||
#Activation de la copie des fichiers sur le réseau (OUI ou NON)
|
||||
ACTIVER_SAMBA=NON
|
||||
#Path du dossier cible sur le réseau
|
||||
NETWORK_SHARE_PATH=//10.133.3.136/Transfert$/vers_corpo/CT
|
||||
#Login pour accéder au drive
|
||||
NETWORK_SHARE_LOGIN=service.ct
|
||||
#Mot de passe pour accéder au drive
|
||||
NETWORK_SHARE_PASSWORD=SigN4lisat10n!77240TraNsf3Rt
|
||||
#Nom de domaine du drive réseau. Commenter si aucun nom de domaine ne doit être spécifié
|
||||
NETWORK_SHARE_DOMAIN=metro
|
||||
|
||||
|
||||
#----------------------------------
|
||||
#Paramètres du serveur SFTP pour la copie des fichiers logs
|
||||
#Activation de la copie des fichiers sur le réseau (OUI ou NON)
|
||||
ACTIVER_SFTP=OUI
|
||||
#Login pour accéder au serveur SFTP
|
||||
SFTP_LOGIN=service.ct
|
||||
#Password pour accéder au serveur SFTP
|
||||
SFTP_PASSWORD=SigN4lisat10n!77240TraNsf3Rt
|
||||
#Adresse du serveur
|
||||
SFTP_SERVER_ADDRESS=10.133.3.136
|
||||
#Répertoire de destination sur le serveur. Doit être vide pour le client SFTP.
|
||||
SFTP_DESTINATION=
|
||||
#SFTP_DESTINATION=/Transfert$/vers_corpo/CT/
|
||||
\n" >> $CONFIG_FILE_PATH
|
||||
echo "Modification du fichier de configuration OK"
|
||||
|
||||
|
||||
|
||||
@ -11,4 +11,6 @@ rsync -av --exclude 'ZT.pro.*' --exclude 'Debug/*' --exclude 'Release/*' --exclu
|
||||
rm -rf ./ZT/Debug/*
|
||||
rm -rf ./ZT/Release/*
|
||||
|
||||
find ./ZT/sources/ -type f -exec touch {} +
|
||||
|
||||
exit
|
||||
|
||||
10
UpdateZT.sh
10
UpdateZT.sh
@ -3,8 +3,8 @@
|
||||
|
||||
#ZT Update Script V1.0
|
||||
|
||||
ZTVERSION=V1.27
|
||||
VERSIONROOT=ZoneTest_V127 #Nom du répertoire sur la clef USB contenant la nouvelle version
|
||||
ZTVERSION=V1.32
|
||||
VERSIONROOT=ZoneTest_V132 #Nom du répertoire sur la clef USB contenant la nouvelle version
|
||||
ARCHIVEDIR=/home/zonetest/Archives
|
||||
ZTEXECDIR=/home/zonetest/ZT
|
||||
USBEXECDIR=$VERSIONROOT/EXE
|
||||
@ -62,12 +62,12 @@ else
|
||||
fi
|
||||
|
||||
echo " "
|
||||
echo "Création du répertoire réseau"
|
||||
if mkdir -p /home/zonetest/ZT/NetDrive
|
||||
echo "Destruction des fichiers de passage existants"
|
||||
if rm /home/zonetest/ZT/Trains/*
|
||||
then
|
||||
echo "OK"
|
||||
else
|
||||
echo "Erreur de création du répertoire. Il faudra le faire manuellement..."
|
||||
echo "Erreur lors de la destruction des fichiers de passage. Il faudra le faire manuellement"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
12
ZT.pro
12
ZT.pro
@ -124,7 +124,9 @@ SOURCES += \
|
||||
sources/NetDriveMgr.cpp \
|
||||
sources/SFTPServerManager.cpp \
|
||||
sources/Modbus/PIHistorianManager.cpp \
|
||||
sources/Modbus/PIHistorianSession.cpp
|
||||
sources/Modbus/PIHistorianSession.cpp \
|
||||
sources/GuiElements/HistorienDisplayPage.cpp \
|
||||
sources/Modbus/HistorienData.cpp
|
||||
|
||||
HEADERS += \
|
||||
sources/MainPanel.h \
|
||||
@ -250,7 +252,9 @@ HEADERS += \
|
||||
sources/SFTPServerManager.h \
|
||||
sources/Modbus/PIHistorianManager.h \
|
||||
sources/Modbus/PIHistorianSession.h \
|
||||
sources/Modbus/PIHistorianDefs.h
|
||||
sources/Modbus/PIHistorianDefs.h \
|
||||
sources/GuiElements/HistorienDisplayPage.h \
|
||||
sources/Modbus/HistorienData.h
|
||||
|
||||
|
||||
#QMAKE_LIBDIR += ./ExtLib
|
||||
@ -311,7 +315,9 @@ OTHER_FILES += \
|
||||
UpdateZT.sh \
|
||||
sftpbatch \
|
||||
password \
|
||||
Instsshpass.sh
|
||||
Instsshpass.sh \
|
||||
AddHistorienCfg.sh \
|
||||
AddSFTPCfg.sh
|
||||
|
||||
INCLUDEPATH += $$PWD/ \
|
||||
$$PWD/SeaMaxLinux/ \
|
||||
|
||||
@ -1,3 +1,3 @@
|
||||
put ./Trains/LOGZT1_2024-07-11-13-46-13-519.bin CVRT-D-LOGZT1_2024-07-11-13-46-13-519.bin
|
||||
put ./Trains/LOGZT2_2024-08-15-13-45-44-992.bin CVRT-N-LOGZT2_2024-08-15-13-45-44-992.bin
|
||||
put ./LOG/LogZT.txt CVRT-LogZT.txt
|
||||
put ./ING/IngLog.txt CVRT-IngLog.txt
|
||||
@ -52,7 +52,8 @@
|
||||
|
||||
#define DEFAULT_PASSWORD "zonetest"
|
||||
#define BASE_FILE_MAGICNBR 0xDEADBEEF
|
||||
#define TRAINLOG_FILE_MAGICNBR BASE_FILE_MAGICNBR + 15
|
||||
//#define TRAINLOG_FILE_MAGICNBR BASE_FILE_MAGICNBR + 15
|
||||
#define TRAINLOG_FILE_MAGICNBR BASE_FILE_MAGICNBR + 16 //Ajout de l'état d'inhibition des fonctions de détection dans le fichier Log
|
||||
|
||||
|
||||
//Misc definitions
|
||||
|
||||
@ -78,6 +78,8 @@ CFunctionSelectionPage::CFunctionSelectionPage(QGraphicsWidget *Parent)
|
||||
QGraphicsTextItem *Label = new QGraphicsTextItem("Analyse",this);
|
||||
Label->setFont(font);
|
||||
Label->setPos(ArrayTopLeft.x() - 10,ArrayTopLeft.y() - YLineSpacing);
|
||||
Label->hide(); //JFM 2024-09-05 Enlèvement de l'inhibition d'analyse...
|
||||
|
||||
|
||||
Label = new QGraphicsTextItem("TK",this);
|
||||
Label->setFont(font);
|
||||
@ -90,6 +92,7 @@ CFunctionSelectionPage::CFunctionSelectionPage(QGraphicsWidget *Parent)
|
||||
mFNFuncToggleBtn = new CToggleButtonWidget(ONPixmapFilePath,OFFPixmapFilePath,this);
|
||||
mFNFuncToggleBtn->resize(SlideButtonSize);
|
||||
mFNFuncToggleBtn->setPos(ArrayTopLeft.x(),ArrayTopLeft.y() + (i*YLineSpacing));
|
||||
mFNFuncToggleBtn->hide();//JFM 2024-09-05 Enlèvement de l'inhibition d'analyse...
|
||||
mFNTKToggleBtn = new CToggleButtonWidget(ONPixmapFilePath,OFFPixmapFilePath,this);
|
||||
mFNTKToggleBtn->resize(SlideButtonSize);
|
||||
mFNTKToggleBtn->setPos(ArrayTopLeft.x() + XButtonSpacing,ArrayTopLeft.y() + (i*YLineSpacing));
|
||||
@ -101,6 +104,7 @@ CFunctionSelectionPage::CFunctionSelectionPage(QGraphicsWidget *Parent)
|
||||
mPGFuncToggleBtn = new CToggleButtonWidget(ONPixmapFilePath,OFFPixmapFilePath,this);
|
||||
mPGFuncToggleBtn->resize(SlideButtonSize);
|
||||
mPGFuncToggleBtn->setPos(ArrayTopLeft.x(),ArrayTopLeft.y() + (i*YLineSpacing));
|
||||
mPGFuncToggleBtn->hide();//JFM 2024-09-05 Enlèvement de l'inhibition d'analyse...
|
||||
mPGTKToggleBtn = new CToggleButtonWidget(ONPixmapFilePath,OFFPixmapFilePath,this);
|
||||
mPGTKToggleBtn->resize(SlideButtonSize);
|
||||
mPGTKToggleBtn->setPos(ArrayTopLeft.x() + XButtonSpacing,ArrayTopLeft.y() + (i*YLineSpacing));
|
||||
@ -112,6 +116,7 @@ CFunctionSelectionPage::CFunctionSelectionPage(QGraphicsWidget *Parent)
|
||||
mPPFuncToggleBtn = new CToggleButtonWidget(ONPixmapFilePath,OFFPixmapFilePath,this);
|
||||
mPPFuncToggleBtn->resize(SlideButtonSize);
|
||||
mPPFuncToggleBtn->setPos(ArrayTopLeft.x(),ArrayTopLeft.y() + (i*YLineSpacing));
|
||||
mPPFuncToggleBtn->hide();//JFM 2024-09-05 Enlèvement de l'inhibition d'analyse...
|
||||
mPPTKToggleBtn = new CToggleButtonWidget(ONPixmapFilePath,OFFPixmapFilePath,this);
|
||||
mPPTKToggleBtn->resize(SlideButtonSize);
|
||||
mPPTKToggleBtn->setPos(ArrayTopLeft.x() + XButtonSpacing,ArrayTopLeft.y() + (i*YLineSpacing));
|
||||
@ -123,6 +128,7 @@ CFunctionSelectionPage::CFunctionSelectionPage(QGraphicsWidget *Parent)
|
||||
mPP2FuncToggleBtn = new CToggleButtonWidget(ONPixmapFilePath,OFFPixmapFilePath,this);
|
||||
mPP2FuncToggleBtn->resize(SlideButtonSize);
|
||||
mPP2FuncToggleBtn->setPos(ArrayTopLeft.x(),ArrayTopLeft.y() + (i*YLineSpacing));
|
||||
mPP2FuncToggleBtn->hide();//JFM 2024-09-05 Enlèvement de l'inhibition d'analyse...
|
||||
mPP2TKToggleBtn = new CToggleButtonWidget(ONPixmapFilePath,OFFPixmapFilePath,this);
|
||||
mPP2TKToggleBtn->resize(SlideButtonSize);
|
||||
mPP2TKToggleBtn->setPos(ArrayTopLeft.x() + XButtonSpacing,ArrayTopLeft.y() + (i*YLineSpacing));
|
||||
@ -134,6 +140,7 @@ CFunctionSelectionPage::CFunctionSelectionPage(QGraphicsWidget *Parent)
|
||||
mZT1FuncToggleBtn = new CToggleButtonWidget(ONPixmapFilePath,OFFPixmapFilePath,this);
|
||||
mZT1FuncToggleBtn->resize(SlideButtonSize);
|
||||
mZT1FuncToggleBtn->setPos(ArrayTopLeft.x(),ArrayTopLeft.y() + (i*YLineSpacing));
|
||||
mZT1FuncToggleBtn->hide();//JFM 2024-09-05 Enlèvement de l'inhibition d'analyse...
|
||||
connect(mZT1FuncToggleBtn,SIGNAL(ButtonToggled(CToggleButtonWidget*)),this,SLOT(ToggleButtonToggled(CToggleButtonWidget*)));
|
||||
mZT1TKToggleBtn = new CToggleButtonWidget(ONPixmapFilePath,OFFPixmapFilePath,this);
|
||||
mZT1TKToggleBtn->resize(SlideButtonSize);
|
||||
@ -147,6 +154,7 @@ CFunctionSelectionPage::CFunctionSelectionPage(QGraphicsWidget *Parent)
|
||||
mZT2FuncToggleBtn = new CToggleButtonWidget(ONPixmapFilePath,OFFPixmapFilePath,this);
|
||||
mZT2FuncToggleBtn->resize(SlideButtonSize);
|
||||
mZT2FuncToggleBtn->setPos(ArrayTopLeft.x(),ArrayTopLeft.y() + (i*YLineSpacing));
|
||||
mZT2FuncToggleBtn->hide();//JFM 2024-09-05 Enlèvement de l'inhibition d'analyse...
|
||||
connect(mZT2FuncToggleBtn,SIGNAL(ButtonToggled(CToggleButtonWidget*)),this,SLOT(ToggleButtonToggled(CToggleButtonWidget*)));
|
||||
mZT2TKToggleBtn = new CToggleButtonWidget(ONPixmapFilePath,OFFPixmapFilePath,this);
|
||||
mZT2TKToggleBtn->resize(SlideButtonSize);
|
||||
|
||||
303
sources/GuiElements/HistorienDisplayPage.cpp
Normal file
303
sources/GuiElements/HistorienDisplayPage.cpp
Normal file
@ -0,0 +1,303 @@
|
||||
#include "HistorienDisplayPage.h"
|
||||
#include "Zonetest.h"
|
||||
#include <QGraphicsProxyWidget>
|
||||
#include "ModbusCCDefs.h"
|
||||
#include "ModbusSEIDefs.h"
|
||||
#include "ModbusRepository.h"
|
||||
#include <QGraphicsTextItem>
|
||||
#include "HistorienData.h"
|
||||
#include "PIHistorianDefs.h"
|
||||
|
||||
CHistorienDisplayPage::CHistorienDisplayPage(QGraphicsWidget *parent)
|
||||
{
|
||||
setParentItem(parent);
|
||||
|
||||
mProgramHandle = 0;
|
||||
mHistorienRepoHandle = 0;
|
||||
|
||||
|
||||
mBackgroundRect = new QGraphicsRectItem(boundingRect(), this);
|
||||
QBrush BackgroundBrush(QColor(245, 245, 255,200));
|
||||
mBackgroundRect->setBrush(BackgroundBrush);
|
||||
|
||||
QGraphicsTextItem *TableTitle = new QGraphicsTextItem("Table Modbus Historien",this);
|
||||
QFont font;
|
||||
font.setPointSize(18);
|
||||
TableTitle->setFont(font);
|
||||
TableTitle->setPos(40,10);
|
||||
|
||||
mCloseBtn = new CTextButtonWidget("Fermer");
|
||||
// mCloseBtn->setParentItem(this);
|
||||
mCloseBtn->setPos(775,610);
|
||||
connect(mCloseBtn,SIGNAL(TxtButtonClicked(CTextButtonWidget*)),this,SLOT(ButtonClicked(CTextButtonWidget*)));
|
||||
|
||||
mHistorienDataTree = new QTreeWidget;
|
||||
QGraphicsProxyWidget *Proxy = new QGraphicsProxyWidget(this);
|
||||
Proxy->setWidget(mHistorienDataTree);
|
||||
Proxy->setPos(0,0);
|
||||
|
||||
|
||||
|
||||
QTreeWidgetItem *Item = new QTreeWidgetItem(QStringList()<<"ZT");
|
||||
mHistorienDataTree->setColumnCount(3);
|
||||
mHistorienDataTree->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"<<"---"));
|
||||
|
||||
|
||||
|
||||
mHistorienDataTree->insertTopLevelItem(0,Item);
|
||||
mHistorienDataTree->expandAll();
|
||||
mHistorienDataTree->resizeColumnToContents(0);
|
||||
mHistorienDataTree->resizeColumnToContents(1);
|
||||
mHistorienDataTree->resizeColumnToContents(2);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
mHistorienDataTree->resize(750,750);
|
||||
|
||||
|
||||
mRefreshTimer = new QTimer();
|
||||
mRefreshTimer->setSingleShot(false);
|
||||
mRefreshTimer->setInterval(500);
|
||||
mRefreshTimer->stop();
|
||||
connect(mRefreshTimer,SIGNAL(timeout()),this,SLOT(RefreshTimerExpired()));
|
||||
}
|
||||
|
||||
void CHistorienDisplayPage::UpdateHistorienTable()
|
||||
{
|
||||
if(mHistorienRepoHandle == 0)
|
||||
return;
|
||||
|
||||
CHistorienData NewData;
|
||||
bool OK;
|
||||
mHistorienRepoHandle->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 = mHistorienRepoHandle->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 = mHistorienRepoHandle->GetSingleReg(HISTORIAN_BOOT_DATE_YEAR_REG_ADD,&OK);
|
||||
NewData.mBootDateMonth = mHistorienRepoHandle->GetSingleReg(HISTORIAN_BOOT_DATE_MONTH_REG_ADD,&OK);
|
||||
NewData.mBootDateDay = mHistorienRepoHandle->GetSingleReg(HISTORIAN_BOOT_DATE_DAY_REG_ADD,&OK);
|
||||
NewData.mBootDateHour = mHistorienRepoHandle->GetSingleReg(HISTORIAN_BOOT_DATE_HOUR_REG_ADD,&OK);
|
||||
NewData.mBootDateMinutes = mHistorienRepoHandle->GetSingleReg(HISTORIAN_BOOT_DATE_MINUTES_REG_ADD,&OK);
|
||||
NewData.mBootDateSeconds = mHistorienRepoHandle->GetSingleReg(HISTORIAN_BOOT_DATE_SECONDS_REG_ADD,&OK);
|
||||
NewData.mTotalTrains = mHistorienRepoHandle->GetSingleReg(HISTORIAN_TRAINS_TOTAL_REG_ADD,&OK);
|
||||
NewData.mTotalDetections = mHistorienRepoHandle->GetSingleReg(HISTORIAN_DETECTIONS_TOTAL_REG_ADD,&OK);
|
||||
NewData.mTrainsToday = mHistorienRepoHandle->GetSingleReg(HISTORIAN_TRAINS_TODAY_REG_ADD ,&OK);
|
||||
NewData.mDetectToday = mHistorienRepoHandle->GetSingleReg(HISTORIAN_DETECTIONS_TODAY_REG_ADD ,&OK);
|
||||
NewData.mFNDetectToday = mHistorienRepoHandle->GetSingleReg(HISTORIAN_FN_DETECTS_TODAY_REG_ADD,&OK);
|
||||
NewData.mPPIDetectToday = mHistorienRepoHandle->GetSingleReg(HISTORIAN_PPI_ZT1_DETECTS_TODAY_REG_ADD,&OK);
|
||||
NewData.mPPEDetectToday = mHistorienRepoHandle->GetSingleReg(HISTORIAN_PPE_ZT1_DETECTS_TODAY_REG_ADD,&OK);
|
||||
NewData.mPGDetectToday = mHistorienRepoHandle->GetSingleReg(HISTORIAN_PG_DETECTS_TODAY_REG_ADD,&OK);
|
||||
NewData.mPPIZT2DetectToday = mHistorienRepoHandle->GetSingleReg(HISTORIAN_PPI_ZT2_DETECTS_TODAY_REG_ADD,&OK);
|
||||
NewData.mPPEZT2DetectToday = mHistorienRepoHandle->GetSingleReg(HISTORIAN_PPE_ZT2_DETECTS_TODAY_REG_ADD,&OK);
|
||||
NewData.mLastTrainYear = mHistorienRepoHandle->GetSingleReg(HISTORIAN_LAST_TRAIN_YEAR_REG_ADD,&OK);
|
||||
NewData.mLastTrainMonth = mHistorienRepoHandle->GetSingleReg(HISTORIAN_LAST_TRAIN_MONTH_REG_ADD,&OK);
|
||||
NewData.mLastTrainDay = mHistorienRepoHandle->GetSingleReg(HISTORIAN_LAST_TRAIN_DAY_REG_ADD,&OK);
|
||||
NewData.mLastTrainHour = mHistorienRepoHandle->GetSingleReg(HISTORIAN_LAST_TRAIN_HOUR_REG_ADD,&OK);
|
||||
NewData.mLastTrainMinutes = mHistorienRepoHandle->GetSingleReg(HISTORIAN_LAST_TRAIN_MINUTE_REG_ADD,&OK);
|
||||
NewData.mLastTrainSeconds = mHistorienRepoHandle->GetSingleReg(HISTORIAN_LAST_TRAIN_SECONDS_REG_ADD,&OK);
|
||||
NewData.mLastZone = mHistorienRepoHandle->GetSingleReg(HISTORIAN_LAST_TRAIN_ZONE_REG_ADD ,&OK);
|
||||
NewData.mNbDetectLasTrain = mHistorienRepoHandle->GetSingleReg(HISTORIAN_LAST_TRAIN_NB_DETECTS_REG_ADD ,&OK);
|
||||
NewData.mLastTrainPPI1 = mHistorienRepoHandle->GetSingleReg(HISTORIAN_LAST_TRAIN_PPI_RK_1_REG_ADD,&OK);
|
||||
NewData.mLastTrainPPI2 = mHistorienRepoHandle->GetSingleReg(HISTORIAN_LAST_TRAIN_PPI_RK_2_REG_ADD,&OK);
|
||||
NewData.mLastTrainPPI3 = mHistorienRepoHandle->GetSingleReg(HISTORIAN_LAST_TRAIN_PPI_RK_3_REG_ADD,&OK);
|
||||
NewData.mLastTrainPPI4 = mHistorienRepoHandle->GetSingleReg(HISTORIAN_LAST_TRAIN_PPI_RK_4_REG_ADD,&OK);
|
||||
NewData.mLastTrainPPE1 = mHistorienRepoHandle->GetSingleReg(HISTORIAN_LAST_TRAIN_PPE_RK_1_REG_ADD,&OK);
|
||||
NewData.mLastTrainPPE2 = mHistorienRepoHandle->GetSingleReg(HISTORIAN_LAST_TRAIN_PPE_RK_2_REG_ADD,&OK);
|
||||
NewData.mLastTrainPPE3 = mHistorienRepoHandle->GetSingleReg(HISTORIAN_LAST_TRAIN_PPE_RK_3_REG_ADD,&OK);
|
||||
NewData.mLastTrainPPE4 = mHistorienRepoHandle->GetSingleReg(HISTORIAN_LAST_TRAIN_PPE_RK_4_REG_ADD,&OK);
|
||||
NewData.mLastTrainPG1 = mHistorienRepoHandle->GetSingleReg(HISTORIAN_LAST_TRAIN_PG_RK_1_REG_ADD,&OK);
|
||||
NewData.mLastTrainPG2 = mHistorienRepoHandle->GetSingleReg(HISTORIAN_LAST_TRAIN_PG_RK_2_REG_ADD,&OK);
|
||||
NewData.mLastTrainPG3 = mHistorienRepoHandle->GetSingleReg(HISTORIAN_LAST_TRAIN_PG_RK_3_REG_ADD,&OK);
|
||||
NewData.mLastTrainPG4 = mHistorienRepoHandle->GetSingleReg(HISTORIAN_LAST_TRAIN_PG_RK_4_REG_ADD,&OK);
|
||||
NewData.mLastTrainFN1 = mHistorienRepoHandle->GetSingleReg(HISTORIAN_LAST_TRAIN_FN_RK_1_REG_ADD,&OK);
|
||||
NewData.mLastTrainFN2 = mHistorienRepoHandle->GetSingleReg(HISTORIAN_LAST_TRAIN_FN_RK_2_REG_ADD,&OK);
|
||||
NewData.mLastTrainFN3 = mHistorienRepoHandle->GetSingleReg(HISTORIAN_LAST_TRAIN_FN_RK_3_REG_ADD,&OK);
|
||||
NewData.mLastTrainFN4 = mHistorienRepoHandle->GetSingleReg(HISTORIAN_LAST_TRAIN_FN_RK_4_REG_ADD,&OK);
|
||||
NewData.mLastTrainCountErr = mHistorienRepoHandle->GetSingleReg(HISTORIAN_LAST_TRAIN_COMPTAGE_DET_REG_ADD,&OK);
|
||||
NewData.mLastTrainPEQ = mHistorienRepoHandle->GetSingleReg(HISTORIAN_LAST_TRAIN_PEQ_REG_ADD,&OK);
|
||||
NewData.mLastTrainType = mHistorienRepoHandle->GetSingleReg(HISTORIAN_LAST_TRAIN_TYPE_REG_ADD,&OK);
|
||||
NewData.mLastTrainCompo1 = mHistorienRepoHandle->GetSingleReg(HISTORIAN_LAST_TRAIN_ID1_REG_ADD,&OK);
|
||||
NewData.mLastTrainCompo2 = mHistorienRepoHandle->GetSingleReg(HISTORIAN_LAST_TRAIN_ID2_REG_ADD,&OK);
|
||||
NewData.mLastTrainCompo3 = mHistorienRepoHandle->GetSingleReg(HISTORIAN_LAST_TRAIN_ID3_REG_ADD,&OK);
|
||||
|
||||
|
||||
|
||||
QTreeWidgetItem* Item = mHistorienDataTree->topLevelItem(0);
|
||||
|
||||
Item->child(0)->setText(2,QString("%1").arg(NewData.mFNEnabled));
|
||||
Item->child(1)->setText(2,QString("%1").arg(NewData.mPPEnabled));
|
||||
Item->child(2)->setText(2,QString("%1").arg(NewData.mPGEnabled));
|
||||
Item->child(3)->setText(2,QString("%1").arg(NewData.mPPZT2Enabled));
|
||||
Item->child(4)->setText(2,QString("%1").arg(NewData.mMaintenanceMode));
|
||||
Item->child(5)->setText(2,QString("%1").arg(NewData.mHPCHealth));
|
||||
Item->child(6)->setText(2,QString("%1").arg(NewData.mSEIHealth));
|
||||
Item->child(7)->setText(2,QString("%1").arg(NewData.mZT1Enabled));
|
||||
Item->child(8)->setText(2,QString("%1").arg(NewData.mZT2Enabled));
|
||||
Item->child(9)->setText(2,QString("%1").arg(NewData.mCalibPG));
|
||||
Item->child(10)->setText(2,QString("%1").arg(NewData.mBootDateYr));
|
||||
Item->child(11)->setText(2,QString("%1").arg(NewData.mBootDateMonth));
|
||||
Item->child(12)->setText(2,QString("%1").arg(NewData.mBootDateDay));
|
||||
Item->child(13)->setText(2,QString("%1").arg(NewData.mBootDateHour));
|
||||
Item->child(14)->setText(2,QString("%1").arg(NewData.mBootDateMinutes));
|
||||
Item->child(15)->setText(2,QString("%1").arg(NewData.mBootDateSeconds));
|
||||
Item->child(16)->setText(2,QString("%1").arg(NewData.mTotalTrains));
|
||||
Item->child(17)->setText(2,QString("%1").arg(NewData.mTotalDetections));
|
||||
Item->child(18)->setText(2,QString("%1").arg(NewData.mTrainsToday));
|
||||
Item->child(19)->setText(2,QString("%1").arg(NewData.mDetectToday));
|
||||
Item->child(20)->setText(2,QString("%1").arg(NewData.mFNDetectToday));
|
||||
Item->child(21)->setText(2,QString("%1").arg(NewData.mPPIDetectToday));
|
||||
Item->child(22)->setText(2,QString("%1").arg(NewData.mPPEDetectToday));
|
||||
Item->child(23)->setText(2,QString("%1").arg(NewData.mPGDetectToday));
|
||||
Item->child(24)->setText(2,QString("%1").arg(NewData.mPPIZT2DetectToday));
|
||||
Item->child(25)->setText(2,QString("%1").arg(NewData.mPPEZT2DetectToday));
|
||||
Item->child(26)->setText(2,QString("%1").arg(NewData.mLastTrainYear));
|
||||
Item->child(27)->setText(2,QString("%1").arg(NewData.mLastTrainMonth));
|
||||
Item->child(28)->setText(2,QString("%1").arg(NewData.mLastTrainDay));
|
||||
Item->child(29)->setText(2,QString("%1").arg(NewData.mLastTrainHour));
|
||||
Item->child(30)->setText(2,QString("%1").arg(NewData.mLastTrainMinutes));
|
||||
Item->child(31)->setText(2,QString("%1").arg(NewData.mLastTrainSeconds));
|
||||
Item->child(32)->setText(2,QString("%1").arg(NewData.mLastZone));
|
||||
Item->child(33)->setText(2,QString("%1").arg(NewData.mNbDetectLasTrain));
|
||||
Item->child(34)->setText(2,QString("%1").arg(NewData.mLastTrainPPI1));
|
||||
Item->child(35)->setText(2,QString("%1").arg(NewData.mLastTrainPPI2));
|
||||
Item->child(36)->setText(2,QString("%1").arg(NewData.mLastTrainPPI3));
|
||||
Item->child(37)->setText(2,QString("%1").arg(NewData.mLastTrainPPI4));
|
||||
Item->child(38)->setText(2,QString("%1").arg(NewData.mLastTrainPPE1));
|
||||
Item->child(39)->setText(2,QString("%1").arg(NewData.mLastTrainPPE2));
|
||||
Item->child(40)->setText(2,QString("%1").arg(NewData.mLastTrainPPE3));
|
||||
Item->child(41)->setText(2,QString("%1").arg(NewData.mLastTrainPPE4));
|
||||
Item->child(42)->setText(2,QString("%1").arg(NewData.mLastTrainPG1));
|
||||
Item->child(43)->setText(2,QString("%1").arg(NewData.mLastTrainPG2));
|
||||
Item->child(44)->setText(2,QString("%1").arg(NewData.mLastTrainPG3));
|
||||
Item->child(45)->setText(2,QString("%1").arg(NewData.mLastTrainPG4));
|
||||
Item->child(46)->setText(2,QString("%1").arg(NewData.mLastTrainFN1));
|
||||
Item->child(47)->setText(2,QString("%1").arg(NewData.mLastTrainFN2));
|
||||
Item->child(48)->setText(2,QString("%1").arg(NewData.mLastTrainFN3));
|
||||
Item->child(49)->setText(2,QString("%1").arg(NewData.mLastTrainFN4));
|
||||
Item->child(50)->setText(2,QString("%1").arg(NewData.mLastTrainCountErr));
|
||||
Item->child(51)->setText(2,QString("%1").arg(NewData.mLastTrainPEQ));
|
||||
Item->child(52)->setText(2,QString("%1").arg(NewData.mLastTrainType));
|
||||
Item->child(53)->setText(2,QString("%1").arg(NewData.mLastTrainCompo1));
|
||||
Item->child(54)->setText(2,QString("%1").arg(NewData.mLastTrainCompo2));
|
||||
Item->child(55)->setText(2,QString("%1").arg(NewData.mLastTrainCompo3));
|
||||
}
|
||||
|
||||
void CHistorienDisplayPage::ButtonClicked(CTextButtonWidget *)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void CHistorienDisplayPage::RefreshTimerExpired()
|
||||
{
|
||||
UpdateHistorienTable();
|
||||
}
|
||||
|
||||
void CHistorienDisplayPage::showEvent(QShowEvent *event)
|
||||
{
|
||||
if(mHistorienRepoHandle == 0 ||
|
||||
mProgramHandle == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
mRefreshTimer->start();
|
||||
}
|
||||
|
||||
void CHistorienDisplayPage::HideHistorienPage()
|
||||
{
|
||||
mRefreshTimer->stop();
|
||||
this->hide();
|
||||
}
|
||||
|
||||
void CHistorienDisplayPage::resizeEvent(QGraphicsSceneResizeEvent *event)
|
||||
{
|
||||
Q_UNUSED(event)
|
||||
mBackgroundRect->setRect(boundingRect());
|
||||
mHistorienDataTree->setGeometry(0,50,((boundingRect().width()) - 10),boundingRect().height()-100);
|
||||
|
||||
}
|
||||
39
sources/GuiElements/HistorienDisplayPage.h
Normal file
39
sources/GuiElements/HistorienDisplayPage.h
Normal file
@ -0,0 +1,39 @@
|
||||
#ifndef HISTORIENDISPLAYPAGE_H
|
||||
#define HISTORIENDISPLAYPAGE_H
|
||||
|
||||
#include <QGraphicsWidget>
|
||||
#include "TextButtonWidget.h"
|
||||
#include <QTreeWidget>
|
||||
#include <QTimer>
|
||||
#include "Guipage.h"
|
||||
|
||||
class CZoneTest;
|
||||
class CModbusRepository;
|
||||
|
||||
class CHistorienDisplayPage : public CGuiPage
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
CHistorienDisplayPage(QGraphicsWidget *parent = 0);
|
||||
|
||||
CZoneTest *mProgramHandle;
|
||||
QGraphicsRectItem *mBackgroundRect;
|
||||
CTextButtonWidget *mCloseBtn;
|
||||
QTreeWidget *mHistorienDataTree;
|
||||
CModbusRepository *mHistorienRepoHandle;
|
||||
QTimer *mRefreshTimer;
|
||||
|
||||
virtual void showEvent(QShowEvent *event);
|
||||
void HideHistorienPage();
|
||||
void resizeEvent(QGraphicsSceneResizeEvent *event);
|
||||
|
||||
public slots:
|
||||
void ButtonClicked(CTextButtonWidget*);
|
||||
void UpdateHistorienTable();
|
||||
void RefreshTimerExpired();
|
||||
|
||||
|
||||
};
|
||||
|
||||
#endif // HISTORIENDISPLAYPAGE_H
|
||||
@ -104,6 +104,7 @@ Panel::Panel()
|
||||
mModbusSettingsPage = new CModbusSettingsPage();
|
||||
mSEISettingsPage = new CSEISettingsPage();
|
||||
mModbusDisplayPage = new CModbusDisplayPage();
|
||||
mHistorienDisplayPage = new CHistorienDisplayPage();
|
||||
|
||||
scene->addItem(mWelcomePage);
|
||||
scene->addItem(mZTMainPage);
|
||||
@ -118,6 +119,7 @@ Panel::Panel()
|
||||
scene->addItem(mSEISettingsPage);
|
||||
scene->addItem(mZTLogViewerPage);
|
||||
scene->addItem(mModbusDisplayPage);
|
||||
scene->addItem(mHistorienDisplayPage);
|
||||
|
||||
mZTMainPage->setPos(0,0);
|
||||
mZTMainPage->hide();
|
||||
@ -184,6 +186,12 @@ Panel::Panel()
|
||||
mModbusDisplayPage->setZValue(1);
|
||||
mModbusDisplayPage->hide();
|
||||
|
||||
mHistorienDisplayPage->setPos(10,10);
|
||||
mHistorienDisplayPage->resize(SCREEN_RES_WIDTH-20,SCREEN_RES_HEIGHT-20);
|
||||
mHistorienDisplayPage->setZValue(1);
|
||||
mHistorienDisplayPage->hide();
|
||||
|
||||
|
||||
|
||||
installEventFilter(mLogViewPage);
|
||||
|
||||
|
||||
@ -47,6 +47,7 @@
|
||||
#include "ModbusSettingsPage.h"
|
||||
#include "SEISettingsPage.h"
|
||||
#include "ModbusDisplayPage.h"
|
||||
#include "HistorienDisplayPage.h"
|
||||
|
||||
class CZoneTest;
|
||||
|
||||
@ -90,6 +91,7 @@ public:
|
||||
CModbusSettingsPage *mModbusSettingsPage;
|
||||
CSEISettingsPage *mSEISettingsPage;
|
||||
CModbusDisplayPage *mModbusDisplayPage;
|
||||
CHistorienDisplayPage *mHistorienDisplayPage;
|
||||
};
|
||||
|
||||
#endif // PANEL_H
|
||||
|
||||
6
sources/Modbus/HistorienData.cpp
Normal file
6
sources/Modbus/HistorienData.cpp
Normal file
@ -0,0 +1,6 @@
|
||||
#include "HistorienData.h"
|
||||
|
||||
CHistorienData::CHistorienData()
|
||||
{
|
||||
|
||||
}
|
||||
70
sources/Modbus/HistorienData.h
Normal file
70
sources/Modbus/HistorienData.h
Normal file
@ -0,0 +1,70 @@
|
||||
#ifndef HISTORIENDATA_H
|
||||
#define HISTORIENDATA_H
|
||||
|
||||
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
|
||||
@ -2,6 +2,8 @@
|
||||
#include "ZTLog.h"
|
||||
#include "ModbusRepository.h"
|
||||
#include "PIHistorianDefs.h"
|
||||
#include "EngLog.h"
|
||||
#include <QDebug>
|
||||
|
||||
CPIHistorianManager::CPIHistorianManager(CModbusRepository *PIHistorianRepo, int ModbusPort, int ModbusDevID)
|
||||
{
|
||||
@ -13,8 +15,10 @@ CPIHistorianManager::CPIHistorianManager(CModbusRepository *PIHistorianRepo, int
|
||||
|
||||
mHistorianTimer = new QTimer;
|
||||
mHistorianTimer->setSingleShot(true);
|
||||
connect(mHistorianTimer,SIGNAL(timeout()),this,SLOT(HistorianTimerExpired()));
|
||||
|
||||
|
||||
mTodaysDate = QDate::currentDate();
|
||||
mNbPassagesToday = 0;
|
||||
mNbDeclToday = 0;
|
||||
mNbDeclTotal = 0;
|
||||
@ -300,7 +304,6 @@ int CPIHistorianManager::NewZT1Passage(CZTPassageInfo ZT1PassageInfo)
|
||||
quint16 NbDecl = ZT1PassageInfo.mDetections->size();
|
||||
|
||||
quint16 NbDeclFN = 0, NbDeclPG = 0, NbDeclPPI = 0, NbDeclPPE = 0;
|
||||
quint16 PEQ = 0, ErrComptage = 0;
|
||||
mPIHistorianRepo->WriteSingleReg(HISTORIAN_LAST_TRAIN_NB_DETECTS_REG_ADD,NbDecl);
|
||||
if(NbDecl != 0)
|
||||
{
|
||||
@ -433,15 +436,14 @@ int CPIHistorianManager::NewZT1Passage(CZTPassageInfo ZT1PassageInfo)
|
||||
mNbPPIZT1Today += NbDeclPPI;
|
||||
mNbPPEZT1Today += NbDeclPPE;
|
||||
|
||||
mPIHistorianRepo->WriteSingleReg(HISTORIAN_DETECTIONS_TODAY_REG_ADD,mNbDeclToday);
|
||||
mPIHistorianRepo->WriteSingleReg(HISTORIAN_DETECTIONS_TOTAL_REG_ADD,ZT1PassageInfo.mNbDeclenchements);
|
||||
mPIHistorianRepo->WriteSingleReg(HISTORIAN_FN_DETECTS_TODAY_REG_ADD,mNbFNToday);
|
||||
mPIHistorianRepo->WriteSingleReg(HISTORIAN_PPI_ZT1_DETECTS_TODAY_REG_ADD,mNbPPIZT1Today);
|
||||
mPIHistorianRepo->WriteSingleReg(HISTORIAN_PPE_ZT1_DETECTS_TODAY_REG_ADD,mNbPPEZT1Today);
|
||||
mPIHistorianRepo->WriteSingleReg(HISTORIAN_PG_DETECTS_TODAY_REG_ADD,mNbPGToday);
|
||||
|
||||
}
|
||||
|
||||
mPIHistorianRepo->WriteSingleReg(HISTORIAN_DETECTIONS_TODAY_REG_ADD,mNbDeclToday);
|
||||
mPIHistorianRepo->WriteSingleReg(HISTORIAN_DETECTIONS_TOTAL_REG_ADD,ZT1PassageInfo.mNbDeclenchements);
|
||||
mPIHistorianRepo->WriteSingleReg(HISTORIAN_FN_DETECTS_TODAY_REG_ADD,mNbFNToday);
|
||||
mPIHistorianRepo->WriteSingleReg(HISTORIAN_PPI_ZT1_DETECTS_TODAY_REG_ADD,mNbPPIZT1Today);
|
||||
mPIHistorianRepo->WriteSingleReg(HISTORIAN_PPE_ZT1_DETECTS_TODAY_REG_ADD,mNbPPEZT1Today);
|
||||
mPIHistorianRepo->WriteSingleReg(HISTORIAN_PG_DETECTS_TODAY_REG_ADD,mNbPGToday);
|
||||
|
||||
|
||||
return RET_OK;
|
||||
@ -560,37 +562,54 @@ int CPIHistorianManager::NewZT2Passage(CZTPassageInfo ZT2PassageInfo)
|
||||
mNbPPIZT2Today += NbDeclPPI;
|
||||
mNbPPEZT2Today += NbDeclPPE;
|
||||
|
||||
mPIHistorianRepo->WriteSingleReg(HISTORIAN_TRAINS_TODAY_REG_ADD,mNbPassagesToday);
|
||||
mPIHistorianRepo->WriteSingleReg(HISTORIAN_DETECTIONS_TOTAL_REG_ADD,ZT2PassageInfo.mNbDeclenchements);
|
||||
mPIHistorianRepo->WriteSingleReg(HISTORIAN_DETECTIONS_TODAY_REG_ADD,mNbDeclToday);
|
||||
mPIHistorianRepo->WriteSingleReg(HISTORIAN_PPI_ZT2_DETECTS_TODAY_REG_ADD,mNbPPIZT2Today);
|
||||
mPIHistorianRepo->WriteSingleReg(HISTORIAN_PPE_ZT2_DETECTS_TODAY_REG_ADD,mNbPPEZT2Today);
|
||||
|
||||
|
||||
}
|
||||
|
||||
mPIHistorianRepo->WriteSingleReg(HISTORIAN_TRAINS_TODAY_REG_ADD,mNbPassagesToday);
|
||||
mPIHistorianRepo->WriteSingleReg(HISTORIAN_DETECTIONS_TOTAL_REG_ADD,ZT2PassageInfo.mNbDeclenchements);
|
||||
mPIHistorianRepo->WriteSingleReg(HISTORIAN_DETECTIONS_TODAY_REG_ADD,mNbDeclToday);
|
||||
mPIHistorianRepo->WriteSingleReg(HISTORIAN_PPI_ZT2_DETECTS_TODAY_REG_ADD,mNbPPIZT2Today);
|
||||
mPIHistorianRepo->WriteSingleReg(HISTORIAN_PPE_ZT2_DETECTS_TODAY_REG_ADD,mNbPPEZT2Today);
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
void CPIHistorianManager::StartHistorianTimer()
|
||||
{
|
||||
QTime Time = QTime::currentTime();
|
||||
int Delay = Time.msecsTo(QTime(23,59,59,999));
|
||||
if(Delay < 0)
|
||||
{
|
||||
Delay += MSECS_IN_A_DAY;
|
||||
}
|
||||
|
||||
mHistorianTimer->start(Delay);
|
||||
mHistorianTimer->start(PI_HISTORIAN_DAILY_RESET_CHECK_TIMEOUT);
|
||||
|
||||
}
|
||||
|
||||
void CPIHistorianManager::HistorianTimerExpired()
|
||||
{
|
||||
mNbFNToday = 0;
|
||||
mNbPGToday = 0;
|
||||
mNbPPIZT1Today = 0;
|
||||
mNbPPEZT1Today = 0;
|
||||
mNbPPIZT2Today = 0;
|
||||
mNbPPEZT2Today = 0;
|
||||
mNbDeclToday = 0;
|
||||
// qDebug(qPrintable(QString("Vérification du changement de date: Today:%1, Current:%2").arg(mTodaysDate.toString("yyyy-MM-dd")).arg(QDate::currentDate().toString("yyyy-MM-dd"))));
|
||||
if(mTodaysDate != QDate::currentDate() &&
|
||||
QTime::currentTime() >= QTime(3,0,0,0))
|
||||
{
|
||||
mNbFNToday = 0;
|
||||
mNbPGToday = 0;
|
||||
mNbPPIZT1Today = 0;
|
||||
mNbPPEZT1Today = 0;
|
||||
mNbPPIZT2Today = 0;
|
||||
mNbPPEZT2Today = 0;
|
||||
mNbDeclToday = 0;
|
||||
mNbPassagesToday = 0;
|
||||
|
||||
mTodaysDate = QDate::currentDate();
|
||||
|
||||
mPIHistorianRepo->WriteSingleReg(HISTORIAN_DETECTIONS_TODAY_REG_ADD,mNbDeclToday);
|
||||
mPIHistorianRepo->WriteSingleReg(HISTORIAN_FN_DETECTS_TODAY_REG_ADD,mNbFNToday);
|
||||
mPIHistorianRepo->WriteSingleReg(HISTORIAN_PPI_ZT1_DETECTS_TODAY_REG_ADD,mNbPPIZT1Today);
|
||||
mPIHistorianRepo->WriteSingleReg(HISTORIAN_PPE_ZT1_DETECTS_TODAY_REG_ADD,mNbPPEZT1Today);
|
||||
mPIHistorianRepo->WriteSingleReg(HISTORIAN_PG_DETECTS_TODAY_REG_ADD,mNbPGToday);
|
||||
mPIHistorianRepo->WriteSingleReg(HISTORIAN_PPI_ZT2_DETECTS_TODAY_REG_ADD,mNbPPIZT2Today);
|
||||
mPIHistorianRepo->WriteSingleReg(HISTORIAN_PPE_ZT2_DETECTS_TODAY_REG_ADD,mNbPPEZT2Today);
|
||||
mPIHistorianRepo->WriteSingleReg(HISTORIAN_TRAINS_TODAY_REG_ADD,mNbPassagesToday);
|
||||
|
||||
CEngLog::instance()->AddLogString("Reset des stats historien du jour",2);
|
||||
|
||||
}
|
||||
|
||||
StartHistorianTimer();
|
||||
|
||||
}
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
#include "ZTData.h"
|
||||
|
||||
#define PI_HISTORIAN_MODBUS_DEVICE_ID 1
|
||||
#define MSECS_IN_A_DAY (24 * 60 * 60 * 1000)
|
||||
#define PI_HISTORIAN_DAILY_RESET_CHECK_TIMEOUT 60000 //60 seconds
|
||||
|
||||
class CPIHistorianManager : public QObject
|
||||
{
|
||||
@ -33,6 +33,7 @@ public:
|
||||
|
||||
QTimer *mHistorianTimer;
|
||||
void StartHistorianTimer();
|
||||
QDate mTodaysDate;
|
||||
|
||||
private:
|
||||
QList<CPIHistorianSession*> mHistorianSessionsList; //Les sessions établies par le serveur sont gardées dans cette liste
|
||||
|
||||
@ -107,103 +107,103 @@ unsigned int CSimulationScenario::CreateScenario()
|
||||
/// //ZT2
|
||||
|
||||
|
||||
// InsertNewStep(STEP_ACTION_REGISTER_ZT2_ITI,300);
|
||||
// InsertNewStep(STEP_ACTION_OCCUPY_ZT2,300);
|
||||
InsertNewStep(STEP_ACTION_REGISTER_ZT2_ITI,300);
|
||||
InsertNewStep(STEP_ACTION_OCCUPY_ZT2,300);
|
||||
|
||||
// for(int bogie = 1; bogie <= 18; bogie++)
|
||||
// {
|
||||
// InsertNewStep(STEP_ACTION_ACTIVATE_ZT2_S1,SENSOR_DELAY);
|
||||
// InsertNewStep(STEP_ACTION_DEACTIVATE_ZT2_S1,BOGIE_DELAY);
|
||||
for(int bogie = 1; bogie <= 18; bogie++)
|
||||
{
|
||||
InsertNewStep(STEP_ACTION_ACTIVATE_ZT2_S1,SENSOR_DELAY);
|
||||
InsertNewStep(STEP_ACTION_DEACTIVATE_ZT2_S1,BOGIE_DELAY);
|
||||
|
||||
// // if(bogie == 5 || bogie == 2)
|
||||
// {
|
||||
// // InsertNewStep(STEP_ACTION_ACTIVATE_ZT2_PPE,5);
|
||||
// // InsertNewStep(STEP_ACTION_DEACTIVATE_ZT2_PPE,1);
|
||||
// if(bogie == 5 || bogie == 2)
|
||||
{
|
||||
// InsertNewStep(STEP_ACTION_ACTIVATE_ZT2_PPE,5);
|
||||
// InsertNewStep(STEP_ACTION_DEACTIVATE_ZT2_PPE,1);
|
||||
|
||||
// }
|
||||
}
|
||||
|
||||
// // if(bogie == 3 || bogie == 10)
|
||||
// {
|
||||
//// InsertNewStep(STEP_ACTION_ACTIVATE_ZT2_PPI,3);
|
||||
//// InsertNewStep(STEP_ACTION_DEACTIVATE_ZT2_PPI,1);
|
||||
// if(bogie == 3 || bogie == 10)
|
||||
{
|
||||
// InsertNewStep(STEP_ACTION_ACTIVATE_ZT2_PPI,3);
|
||||
// InsertNewStep(STEP_ACTION_DEACTIVATE_ZT2_PPI,1);
|
||||
|
||||
// }
|
||||
}
|
||||
|
||||
// //if(bogie != 3)
|
||||
// {
|
||||
// InsertNewStep(STEP_ACTION_ACTIVATE_ZT2_S1,SENSOR_DELAY);
|
||||
// InsertNewStep(STEP_ACTION_DEACTIVATE_ZT2_S1,BOGIE_DELAY);
|
||||
// }
|
||||
//if(bogie != 3)
|
||||
{
|
||||
InsertNewStep(STEP_ACTION_ACTIVATE_ZT2_S1,SENSOR_DELAY);
|
||||
InsertNewStep(STEP_ACTION_DEACTIVATE_ZT2_S1,BOGIE_DELAY);
|
||||
}
|
||||
|
||||
|
||||
// }
|
||||
}
|
||||
|
||||
// InsertNewStep(STEP_ACTION_DESTROY_ZT2_ITI,800);
|
||||
// InsertNewStep(STEP_ACTION_FREE_ZT2,800);
|
||||
InsertNewStep(STEP_ACTION_DESTROY_ZT2_ITI,800);
|
||||
InsertNewStep(STEP_ACTION_FREE_ZT2,800);
|
||||
|
||||
|
||||
|
||||
//// MR
|
||||
// InsertNewStep(STEP_ACTION_REGISTER_ZT1_ITI,300);
|
||||
InsertNewStep(STEP_ACTION_OCCUPY_ZT1_APPROACH,300);
|
||||
InsertNewStep(STEP_ACTION_OCCUPY_ZT1,300);
|
||||
////// MR
|
||||
// // InsertNewStep(STEP_ACTION_REGISTER_ZT1_ITI,300);
|
||||
// InsertNewStep(STEP_ACTION_OCCUPY_ZT1_APPROACH,300);
|
||||
// InsertNewStep(STEP_ACTION_OCCUPY_ZT1,300);
|
||||
|
||||
InsertNewStep(STEP_ACTION_DEACTIVATE_PGE,0);
|
||||
// InsertNewStep(STEP_ACTION_DEACTIVATE_PGE,0);
|
||||
|
||||
for(int bogie = 1; bogie <= 18; bogie++)
|
||||
{
|
||||
// if(bogie != 5 && bogie != 7)
|
||||
// InsertNewStep(STEP_ACTION_ACTIVATE_PGI,0);
|
||||
// InsertNewStep(STEP_ACTION_ACTIVATE_PGE,0);
|
||||
//V00 DETECTION
|
||||
// if(bogie != 9)
|
||||
// {
|
||||
InsertNewStep(STEP_ACTION_ACTIVATE_S1,SENSOR_DELAY);
|
||||
// }
|
||||
InsertNewStep(STEP_ACTION_DEACTIVATE_S1,BOGIE_DELAY);
|
||||
// InsertNewStep(STEP_ACTION_DEACTIVATE_PGI,0);
|
||||
// InsertNewStep(STEP_ACTION_DEACTIVATE_PGE,0);
|
||||
// for(int bogie = 1; bogie <= 18; bogie++)
|
||||
// {
|
||||
// // if(bogie != 5 && bogie != 7)
|
||||
// // InsertNewStep(STEP_ACTION_ACTIVATE_PGI,0);
|
||||
// // InsertNewStep(STEP_ACTION_ACTIVATE_PGE,0);
|
||||
////V00 DETECTION
|
||||
//// if(bogie != 9)
|
||||
//// {
|
||||
// InsertNewStep(STEP_ACTION_ACTIVATE_S1,SENSOR_DELAY);
|
||||
//// }
|
||||
// InsertNewStep(STEP_ACTION_DEACTIVATE_S1,BOGIE_DELAY);
|
||||
// // InsertNewStep(STEP_ACTION_DEACTIVATE_PGI,0);
|
||||
// // InsertNewStep(STEP_ACTION_DEACTIVATE_PGE,0);
|
||||
|
||||
//FN DETECTION
|
||||
// if(bogie != 7 /*&& bogie != 8 && bogie != 3*/)
|
||||
InsertNewStep(STEP_ACTION_ACTIVATE_FN,0);
|
||||
////FN DETECTION
|
||||
//// if(bogie != 7 /*&& bogie != 8 && bogie != 3*/)
|
||||
// InsertNewStep(STEP_ACTION_ACTIVATE_FN,0);
|
||||
|
||||
InsertNewStep(STEP_ACTION_ACTIVATE_S1,SENSOR_DELAY);
|
||||
InsertNewStep(STEP_ACTION_ACTIVATE_S2,SENSOR_DELAY);
|
||||
InsertNewStep(STEP_ACTION_DEACTIVATE_S1,BOGIE_DELAY);
|
||||
// InsertNewStep(STEP_ACTION_ACTIVATE_S1,SENSOR_DELAY);
|
||||
// InsertNewStep(STEP_ACTION_ACTIVATE_S2,SENSOR_DELAY);
|
||||
// InsertNewStep(STEP_ACTION_DEACTIVATE_S1,BOGIE_DELAY);
|
||||
|
||||
//PPI DETECTION
|
||||
if(bogie == 6 || bogie == 9)
|
||||
InsertNewStep(STEP_ACTION_ACTIVATE_PPI,0);
|
||||
////PPI DETECTION
|
||||
// if(bogie == 6 || bogie == 9)
|
||||
// InsertNewStep(STEP_ACTION_ACTIVATE_PPI,0);
|
||||
|
||||
//FN DETECTION
|
||||
// if(bogie != 7 /*&& bogie != 8 && bogie != 3*/)
|
||||
InsertNewStep(STEP_ACTION_DEACTIVATE_FN,0);
|
||||
////FN DETECTION
|
||||
//// if(bogie != 7 /*&& bogie != 8 && bogie != 3*/)
|
||||
// InsertNewStep(STEP_ACTION_DEACTIVATE_FN,0);
|
||||
|
||||
InsertNewStep(STEP_ACTION_ACTIVATE_S2,SENSOR_DELAY);
|
||||
InsertNewStep(STEP_ACTION_DEACTIVATE_S2,BOGIE_DELAY);
|
||||
// InsertNewStep(STEP_ACTION_ACTIVATE_S2,SENSOR_DELAY);
|
||||
// InsertNewStep(STEP_ACTION_DEACTIVATE_S2,BOGIE_DELAY);
|
||||
|
||||
//PPI DETECTION
|
||||
if(bogie == 6 || bogie == 9)
|
||||
InsertNewStep(STEP_ACTION_DEACTIVATE_PPI,0);
|
||||
////PPI DETECTION
|
||||
// if(bogie == 6 || bogie == 9)
|
||||
// InsertNewStep(STEP_ACTION_DEACTIVATE_PPI,0);
|
||||
|
||||
// if(bogie != 2 && bogie != 11)
|
||||
// InsertNewStep(STEP_ACTION_ACTIVATE_PGI,0);
|
||||
// if(bogie != 2 && bogie != 11)
|
||||
// InsertNewStep(STEP_ACTION_ACTIVATE_PGE,0);
|
||||
InsertNewStep(STEP_ACTION_ACTIVATE_S2,SENSOR_DELAY);
|
||||
InsertNewStep(STEP_ACTION_DEACTIVATE_S2,BOGIE_DELAY);
|
||||
// InsertNewStep(STEP_ACTION_DEACTIVATE_PGI,0);
|
||||
// InsertNewStep(STEP_ACTION_DEACTIVATE_PGE,0);
|
||||
// // if(bogie != 2 && bogie != 11)
|
||||
// // InsertNewStep(STEP_ACTION_ACTIVATE_PGI,0);
|
||||
// // if(bogie != 2 && bogie != 11)
|
||||
// // InsertNewStep(STEP_ACTION_ACTIVATE_PGE,0);
|
||||
// InsertNewStep(STEP_ACTION_ACTIVATE_S2,SENSOR_DELAY);
|
||||
// InsertNewStep(STEP_ACTION_DEACTIVATE_S2,BOGIE_DELAY);
|
||||
// // InsertNewStep(STEP_ACTION_DEACTIVATE_PGI,0);
|
||||
// // InsertNewStep(STEP_ACTION_DEACTIVATE_PGE,0);
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
|
||||
InsertNewStep(STEP_ACTION_DESTROY_ZT1_ITI,800);
|
||||
// InsertNewStep(STEP_ACTION_DESTROY_ZT1_ITI,800);
|
||||
|
||||
InsertNewStep(STEP_ACTION_FREE_ZT1,800);
|
||||
// InsertNewStep(STEP_ACTION_FREE_ZT1,800);
|
||||
|
||||
InsertNewStep(STEP_ACTION_FREE_ZT1_APPROACH,800);
|
||||
// InsertNewStep(STEP_ACTION_FREE_ZT1_APPROACH,800);
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
@ -171,7 +171,7 @@ QDataStream &operator<<(QDataStream &out, const CZT1FlagsData &source)
|
||||
<< source.mTrainCompo3
|
||||
<< source.mModbusTrainType
|
||||
<< source.mZT1ITI
|
||||
<< source.mUnusedFlag13
|
||||
<< source.mZTDetectionsConfig
|
||||
<< source.mUnusedFlag14
|
||||
<< source.mUnusedFlag15
|
||||
<< source.mUnusedFlag16
|
||||
@ -198,7 +198,7 @@ QDataStream &operator>>(QDataStream &in, CZT1FlagsData &dest)
|
||||
>> dest.mTrainCompo3
|
||||
>> dest.mModbusTrainType
|
||||
>> dest.mZT1ITI
|
||||
>> dest.mUnusedFlag13
|
||||
>> dest.mZTDetectionsConfig
|
||||
>> dest.mUnusedFlag14
|
||||
>> dest.mUnusedFlag15
|
||||
>> dest.mUnusedFlag16
|
||||
@ -218,7 +218,7 @@ QDataStream &operator<<(QDataStream &out, const CZT2FlagsData &source)
|
||||
<< source.mTrainCompo2
|
||||
<< source.mTrainCompo3
|
||||
<< source.mModbusTrainType
|
||||
<< source.mUnusedFlag6
|
||||
<< source.mZTDetectionsConfig
|
||||
<< source.mUnusedFlag7
|
||||
<< source.mUnusedFlag8
|
||||
<< source.mUnusedFlag9
|
||||
@ -235,7 +235,7 @@ QDataStream &operator>>(QDataStream &in, CZT2FlagsData &dest)
|
||||
>> dest.mTrainCompo2
|
||||
>> dest.mTrainCompo3
|
||||
>> dest.mModbusTrainType
|
||||
>> dest.mUnusedFlag6
|
||||
>> dest.mZTDetectionsConfig
|
||||
>> dest.mUnusedFlag7
|
||||
>> dest.mUnusedFlag8
|
||||
>> dest.mUnusedFlag9
|
||||
@ -412,6 +412,38 @@ CZTDetectionFunctionConfig::CZTDetectionFunctionConfig()
|
||||
}
|
||||
}
|
||||
|
||||
qint32 CZTDetectionFunctionConfig::GetDetectionsConfigMask()
|
||||
{
|
||||
qint32 DetectionsMask = 0;
|
||||
if(mZTDetectionConfig[DETECTION_FCT_FN].TKActive == true && mZTDetectionConfig[DETECTION_FCT_FN].AnalysisActive == true)
|
||||
{
|
||||
DetectionsMask |= DETECTION_FCT_FN_MASK;
|
||||
}
|
||||
if(mZTDetectionConfig[DETECTION_FCT_PG].TKActive == true && mZTDetectionConfig[DETECTION_FCT_PG].AnalysisActive == true)
|
||||
{
|
||||
DetectionsMask |= DETECTION_FCT_PG_MASK;
|
||||
}
|
||||
if(mZTDetectionConfig[DETECTION_FCT_PP].TKActive == true && mZTDetectionConfig[DETECTION_FCT_PP].AnalysisActive == true)
|
||||
{
|
||||
DetectionsMask |= DETECTION_FCT_PP_MASK;
|
||||
}
|
||||
if(mZTDetectionConfig[DETECTION_FCT_PP2].TKActive == true && mZTDetectionConfig[DETECTION_FCT_PP2].AnalysisActive == true)
|
||||
{
|
||||
DetectionsMask |= DETECTION_FCT_PP2_MASK;
|
||||
}
|
||||
if(mZTDetectionConfig[DETECTION_FCT_ZT1].TKActive == true && mZTDetectionConfig[DETECTION_FCT_ZT1].AnalysisActive == true)
|
||||
{
|
||||
DetectionsMask |= DETECTION_FCT_ZT1_MASK;
|
||||
}
|
||||
if(mZTDetectionConfig[DETECTION_FCT_ZT2].TKActive == true && mZTDetectionConfig[DETECTION_FCT_ZT2].AnalysisActive == true)
|
||||
{
|
||||
DetectionsMask |= DETECTION_FCT_ZT2_MASK;
|
||||
}
|
||||
|
||||
return DetectionsMask;
|
||||
|
||||
}
|
||||
|
||||
void CZTDetectionFunctionConfig::operator =(CZTDetectionFunctionConfig& DF)
|
||||
{
|
||||
for(int i = 0; i < DETECTION_FCT_MAX_FCT; i++)
|
||||
|
||||
@ -100,6 +100,16 @@ enum eDetectionFunctionID
|
||||
DETECTION_FCT_MAX_FCT
|
||||
};
|
||||
|
||||
enum eDetectionFunctionMask
|
||||
{
|
||||
DETECTION_FCT_FN_MASK = 0x00000001,
|
||||
DETECTION_FCT_PG_MASK = 0x00000002,
|
||||
DETECTION_FCT_PP_MASK = 0x00000004,
|
||||
DETECTION_FCT_PP2_MASK = 0x00000008,
|
||||
DETECTION_FCT_ZT1_MASK = 0x00000010,
|
||||
DETECTION_FCT_ZT2_MASK = 0x00000020
|
||||
};
|
||||
|
||||
enum ePEQ1Types
|
||||
{
|
||||
PEQ1_UNKNOWN_TYPE,
|
||||
@ -215,7 +225,7 @@ public:
|
||||
qint32 mTrainCompo3;
|
||||
qint32 mModbusTrainType;
|
||||
qint32 mZT1ITI;
|
||||
qint32 mUnusedFlag13;
|
||||
qint32 mZTDetectionsConfig;
|
||||
qint32 mUnusedFlag14;
|
||||
qint32 mUnusedFlag15;
|
||||
qint32 mUnusedFlag16;
|
||||
@ -235,7 +245,7 @@ public:
|
||||
qint32 mTrainCompo2;
|
||||
qint32 mTrainCompo3;
|
||||
qint32 mModbusTrainType;
|
||||
qint32 mUnusedFlag6;
|
||||
qint32 mZTDetectionsConfig;
|
||||
qint32 mUnusedFlag7;
|
||||
qint32 mUnusedFlag8;
|
||||
qint32 mUnusedFlag9;
|
||||
@ -342,6 +352,7 @@ public:
|
||||
CZTDetectionConfig mZTDetectionConfig[DETECTION_FCT_MAX_FCT];
|
||||
|
||||
void operator=(CZTDetectionFunctionConfig& a);
|
||||
qint32 GetDetectionsConfigMask();
|
||||
|
||||
};
|
||||
|
||||
|
||||
@ -85,6 +85,14 @@ unsigned int CZTSettingsFileMgr::LoadSettings(CZTSettingsData *SettingsData)
|
||||
*InputStream >> SettingsData->mModbusCCHostAddress;
|
||||
*InputStream >> SettingsData->mSEIModbusHostAddress;
|
||||
|
||||
//JFM 2024-09-05 Enlèvement de l'inhibition d'analyse...
|
||||
SettingsData->mDetectionFunctionSettings->mZTDetectionConfig[DETECTION_FCT_FN].AnalysisActive = true;
|
||||
SettingsData->mDetectionFunctionSettings->mZTDetectionConfig[DETECTION_FCT_PG].AnalysisActive = true;
|
||||
SettingsData->mDetectionFunctionSettings->mZTDetectionConfig[DETECTION_FCT_PP].AnalysisActive = true;
|
||||
SettingsData->mDetectionFunctionSettings->mZTDetectionConfig[DETECTION_FCT_PP2].AnalysisActive = true;
|
||||
SettingsData->mDetectionFunctionSettings->mZTDetectionConfig[DETECTION_FCT_ZT1].AnalysisActive = true;
|
||||
SettingsData->mDetectionFunctionSettings->mZTDetectionConfig[DETECTION_FCT_ZT2].AnalysisActive = true;
|
||||
|
||||
|
||||
|
||||
SettingsFile->close();
|
||||
|
||||
@ -308,6 +308,7 @@ unsigned int CZTStateMachine::ZT1StateMachine(unsigned int Event, unsigned int S
|
||||
mNbPassages++;
|
||||
InsertZT1LogItem();
|
||||
mZT1Log.mZT1Flags.mPGCalibrationON = (mIsPGCalibON == true);
|
||||
mZT1Log.mZT1Flags.mZTDetectionsConfig = mZTDetectionConfig->GetDetectionsConfigMask();
|
||||
mZT1State = ZT1_TRAIN_ON_APPROACH_CDV_STATE;
|
||||
}
|
||||
}
|
||||
@ -318,6 +319,7 @@ unsigned int CZTStateMachine::ZT1StateMachine(unsigned int Event, unsigned int S
|
||||
mNbPassages++;
|
||||
InsertZT1LogItem();
|
||||
mZT1Log.mZT1Flags.mPGCalibrationON = (mIsPGCalibON == true);
|
||||
mZT1Log.mZT1Flags.mZTDetectionsConfig = mZTDetectionConfig->GetDetectionsConfigMask();
|
||||
mZT1State = ZT1_TRAIN_ON_APPROACH_CDV_STATE;
|
||||
}
|
||||
break;
|
||||
@ -594,13 +596,13 @@ unsigned int CZTStateMachine::AnalyzeZT1PostDetection()
|
||||
PostAnalyseData = true; //This flag is used to re-analyze the data in case of a mag sensor count error
|
||||
}
|
||||
//If the detection is de-activated, ignore it
|
||||
else if((mZT1PEQType == PEQ1_FN_PREDETECTION_TYPE && mZTDetectionConfig->mZTDetectionConfig[DETECTION_FCT_FN].AnalysisActive == false) ||
|
||||
(mZT1PEQType == PEQ1_FN_STUCK_LOW_TYPE && mZTDetectionConfig->mZTDetectionConfig[DETECTION_FCT_FN].AnalysisActive == false) ||
|
||||
(mZT1PEQType == PEQ1_PEXT_PREDETECTION_TYPE && mZTDetectionConfig->mZTDetectionConfig[DETECTION_FCT_PP].AnalysisActive == false) ||
|
||||
(mZT1PEQType == PEQ1_PINT_PREDETECTION_TYPE && mZTDetectionConfig->mZTDetectionConfig[DETECTION_FCT_PP].AnalysisActive == false) ||
|
||||
(mZT1PEQType == PEQ1_LAZER_SENSOR_EXT_PREDETECTION_TYPE && mZTDetectionConfig->mZTDetectionConfig[DETECTION_FCT_PG].AnalysisActive == false) ||
|
||||
(mZT1PEQType == PEQ1_LAZER_SENSOR_INT_PREDETECTION_TYPE && mZTDetectionConfig->mZTDetectionConfig[DETECTION_FCT_PG].AnalysisActive == false) ||
|
||||
(mZT1PEQType == PEQ1_PG_PREDETECTION_TYPE && mZTDetectionConfig->mZTDetectionConfig[DETECTION_FCT_PG].AnalysisActive == false))
|
||||
else if((mZT1PEQType == PEQ1_FN_PREDETECTION_TYPE && mZTDetectionConfig->mZTDetectionConfig[DETECTION_FCT_FN].TKActive == false) ||
|
||||
(mZT1PEQType == PEQ1_FN_STUCK_LOW_TYPE && mZTDetectionConfig->mZTDetectionConfig[DETECTION_FCT_FN].TKActive == false) ||
|
||||
(mZT1PEQType == PEQ1_PEXT_PREDETECTION_TYPE && mZTDetectionConfig->mZTDetectionConfig[DETECTION_FCT_PP].TKActive == false) ||
|
||||
(mZT1PEQType == PEQ1_PINT_PREDETECTION_TYPE && mZTDetectionConfig->mZTDetectionConfig[DETECTION_FCT_PP].TKActive == false) ||
|
||||
(mZT1PEQType == PEQ1_LAZER_SENSOR_EXT_PREDETECTION_TYPE && mZTDetectionConfig->mZTDetectionConfig[DETECTION_FCT_PG].TKActive == false) ||
|
||||
(mZT1PEQType == PEQ1_LAZER_SENSOR_INT_PREDETECTION_TYPE && mZTDetectionConfig->mZTDetectionConfig[DETECTION_FCT_PG].TKActive == false) ||
|
||||
(mZT1PEQType == PEQ1_PG_PREDETECTION_TYPE && mZTDetectionConfig->mZTDetectionConfig[DETECTION_FCT_PG].TKActive == false))
|
||||
{
|
||||
//The PEQ1 is invalid because analysis was deactivated. Remove it from detection buffer.
|
||||
for(int i = 0; i < mZT1DetectionsLog.size(); i++)
|
||||
@ -1257,6 +1259,7 @@ unsigned int CZTStateMachine::ZT2StateMachine(unsigned int Event, unsigned int S
|
||||
mZTActivationDateTime = QDateTime::currentDateTime();
|
||||
mZTPagePTr->SetZTStatus(mNbPassages,mNbTriggers,mZT1ActiveStatus,mZT2ActiveStatus);
|
||||
mZTPagePTr->ResetZT2Stats();
|
||||
mZT2Log.mZT2Flags.mZTDetectionsConfig = mZTDetectionConfig->GetDetectionsConfigMask();
|
||||
if(mModbusCCMgr != 0)
|
||||
{
|
||||
//update train info received from the CC Modbus interface
|
||||
|
||||
@ -29,14 +29,34 @@
|
||||
#ifndef ZTVERSION_H
|
||||
#define ZTVERSION_H
|
||||
|
||||
#define ZT_SOFT_VERSION "V1.28"
|
||||
#define ZT_SOFT_VERSION "V1.33"
|
||||
|
||||
//LOG DES CHANGEMENTS
|
||||
//Version 1.33
|
||||
//-Inhibition des déclenchements PEQ avec la désactivation des TK
|
||||
//-Remise à zéro du Nb de passage aujourd'hui avec le reste à 3h
|
||||
|
||||
//Version 1.32
|
||||
//-Ajout des flags d'etat des fonctions de détection dans le fichier log
|
||||
//-Retrait de la possibilité d'inhiber l'analyse des fonctions
|
||||
//-Changement de l'heure de reset des données Historien à 3h plutôt qu'à minuit.
|
||||
|
||||
//Version 1.31
|
||||
//-Finalement finalement pour vrai réglé le problème de reset des stats aujourd'hui.
|
||||
|
||||
//Version 1.30
|
||||
//-Finalement réglé le problème de reset du nombre de passages aujourd'hui.
|
||||
|
||||
//Version 1.29
|
||||
//-Tentative de faire marcher le reset des données Historien du jour
|
||||
|
||||
//Version 1.28
|
||||
//Corrections à l'interface historien:
|
||||
//-Correction du Nb de déclenchements aujourd'hui qui n'est pas remis à zéro
|
||||
//-Correction du Nb de passages aujourd'hui qui ne se met pas à jour
|
||||
//-Changement du calcul du Nb de ms avant minuit à la ms près (plutôt qu'à la seconde)
|
||||
//-Ajout de l'icône de connexion du client historien dans la page principale
|
||||
//-Ajout de la visualisation de la TE historien (touche F3)
|
||||
|
||||
//Version 1.27
|
||||
//-Ajout du flag pour ignorer la clef RSA lors du transfert FTP. Suite aux problemes
|
||||
|
||||
@ -278,6 +278,7 @@ unsigned int CZoneTest::Start()
|
||||
panel.mSEISettingsPage->mProgramHandle = this;
|
||||
panel.mZTLogViewerPage->mProgramHandle = this;
|
||||
panel.mModbusDisplayPage->mProgramHandle = this;
|
||||
panel.mHistorienDisplayPage->mProgramHandle = this;
|
||||
panel.mEngineeringPage->mDisablePassword = mDisablePassword;
|
||||
mInternalWatchdog = new CWatchdogCtrl(mUseWatchdog);
|
||||
|
||||
@ -605,6 +606,9 @@ unsigned int CZoneTest::InitZT()
|
||||
mPIHistorianRepository->AddHRDataMap(HISTORIAN_ZT_DATA_BASE_REG,HISTORIAN_MODBUS_ZT_TABLE_DATA_SIZE); //Add the ZT data map
|
||||
mPIHistorianManager = new CPIHistorianManager(mPIHistorianRepository,PIHistorianPort,PIHistorianDevID);
|
||||
|
||||
panel.mHistorienDisplayPage->mHistorienRepoHandle = mPIHistorianRepository;
|
||||
|
||||
|
||||
if(UseModbusInterface)
|
||||
{
|
||||
connect(mModbusCCMgr,SIGNAL(ModbusCCConnected(qint32,qint32)),mPIHistorianManager,SLOT(HPCConnected(qint32,qint32)));
|
||||
@ -911,6 +915,22 @@ bool CZoneTest::eventFilter(QObject *obj, QEvent *event)
|
||||
panel.mModbusDisplayPage->show();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(KeyEvent->key() == Qt::Key_F3) //F3 Key toggles the Historien data display page
|
||||
{
|
||||
if(CZTConfigMgr::instance()->GetPIHistorianEnabled())
|
||||
{
|
||||
if(panel.mHistorienDisplayPage->isVisible())
|
||||
{
|
||||
panel.mHistorienDisplayPage->HideHistorienPage();
|
||||
}
|
||||
else
|
||||
{
|
||||
panel.mHistorienDisplayPage->show();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1280,6 +1300,18 @@ void CZoneTest::CloseModbusDataPageRequest()
|
||||
panel.mEngineeringPage->show();
|
||||
}
|
||||
|
||||
void CZoneTest::OpenHistorienDataPageRequest()
|
||||
{
|
||||
panel.mModbusDisplayPage->hide();
|
||||
panel.mHistorienDisplayPage->show();
|
||||
}
|
||||
|
||||
void CZoneTest::CloseHistorienDataPageRequest()
|
||||
{
|
||||
panel.mHistorienDisplayPage->hide();
|
||||
panel.mEngineeringPage->show();
|
||||
}
|
||||
|
||||
void CZoneTest::CheckAndCreateDirectories()
|
||||
{
|
||||
QDir dir("./Trains");
|
||||
|
||||
@ -147,6 +147,9 @@ public:
|
||||
void OpenModbusDataPageRequest();
|
||||
void CloseModbusDataPageRequest();
|
||||
|
||||
void OpenHistorienDataPageRequest();
|
||||
void CloseHistorienDataPageRequest();
|
||||
|
||||
void LogZTSettingsRequest(bool LogStationName = false);
|
||||
|
||||
void ApplicationQuit(int Reason);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user