Commentaires

Ajout de commentaires
Amélioration de l'affichate de l'état du modbus.
This commit is contained in:
jfmartel
2017-12-07 07:41:14 -05:00
parent 57a920ad77
commit a76e681e73
10 changed files with 125 additions and 17 deletions
+32 -14
View File
@@ -1,3 +1,21 @@
/*******************************************************************************/
/*
Description:
Classe qui gère la communication Modbus avec la Commande Centralisée
Elle sert à interpréter et construire les messages reçus ou destinés à la CC
*/
/* ************************************************************************** */
/* Revision:
### YYYMMDD JFM
Verision d'origine.
### YYYYMMDD Description du besoin ou du bug
Description du changement.
*/
/* ************************************************************************** */
#ifndef CMODBUSSLAVE_H
#define CMODBUSSLAVE_H
@@ -42,24 +60,24 @@ public:
//Helper functions
QList<qint16> GetZT1TrainComposition();
QList<qint16> GetZT2TrainComposition();
bool GetZT1InhibitionFlag();
int ClearZT1InhibitionFlag();
bool GetZT2InhibitionFlag();
int ClearZT2InhibitionFlag();
qint16 GetZT1TrainType();
qint16 GetZT2TrainType();
int SetZTWatchdogEnabled(bool Enabled);
int SetActivatedITI(int ITI);
QList<qint16> GetZT1TrainComposition(); //Retourne la composition du train actuelle pour ZT1
QList<qint16> GetZT2TrainComposition(); //Retourne la composition du train actuelle pour ZT1
bool GetZT1InhibitionFlag(); //Retourne l'état de l'inhibition de ZT1
int ClearZT1InhibitionFlag(); //Désactive l'inhibition ZT1
bool GetZT2InhibitionFlag(); //Retourne l'état de l'inhibition de ZT2
int ClearZT2InhibitionFlag(); //Désactive l'inhibition ZT2
qint16 GetZT1TrainType(); //Retourne le type de train actuel ZT1
qint16 GetZT2TrainType(); //Retourne le type de train actuel ZT1
int SetZTWatchdogEnabled(bool Enabled); //Permet de désactiver le Watchdog de la ZT (pour le mode entretien)
int SetActivatedITI(int ITI); //Fixe l'itinéraire ZT1 cheminé par le train pour en informer la CC
private:
QTcpServer *mModbusServer;
int mModbusPort;
QTcpServer *mModbusServer; //L'instance du serveur TCP
int mModbusPort; //Le port Modbus
QTimer *mZTWatchdogTimer, *mCCWatchdogTimer;
quint16 mZTWatchdog;
qint16 mCCWatchdogState;
bool mCCLinkState;
qint16 mCCWatchdogState; //Valeur du watchdog
bool mCCLinkState; //État du lien modbus, false lorsque le watchdog CC expire.
QDateTime *mLastDateTime;
bool mZTWatchdogEnabled;
+19
View File
@@ -1,3 +1,22 @@
/*******************************************************************************/
/*
Description:
Classe qui implémente les TC/TK avec la CC via le lien Modbus
Gère l'émission des alarmes à la CC.
*/
/* ************************************************************************** */
/* Revision:
### YYYMMDD JFM
Verision d'origine.
### YYYYMMDD Description du besoin ou du bug
Description du changement.
*/
/* ************************************************************************** */
#ifndef MODBUSTKTRANSPORT_H
#define MODBUSTKTRANSPORT_H
+3 -1
View File
@@ -9,6 +9,7 @@ CNetworkCfgMgr::CNetworkCfgMgr()
int CNetworkCfgMgr::SetTRCPNetworkAddress(QHostAddress Address)
{
//Verify if the template file exists
if(QFile::exists("./interfaces") == false)
{
CZTLog::instance()->AddLogString("ERREUR: Le fichier template de configuration réseau est inexistant",true);
@@ -55,7 +56,7 @@ int CNetworkCfgMgr::SetTRCPNetworkAddress(QHostAddress Address)
QString ConfigText(TemplateFile->readAll());
QString WorkString;
QHostAddress Gateway(Address.toIPv4Address() & 0xFFFFFF01);
QHostAddress Gateway(Address.toIPv4Address() & 0xFFFFFF01); //compute the gateway address xxx.xxx.xxx.1
WorkString = ConfigText.replace("[TELETRANS_IP]",Address.toString());
ConfigText = WorkString.replace("[TELETRANS_GATEWAY]",Gateway.toString());
@@ -72,6 +73,7 @@ int CNetworkCfgMgr::SetTRCPNetworkAddress(QHostAddress Address)
delete TempInterfaceFile;
//Replace the system file with the temp file.
system("cp -f ./interfaces_tmp /etc/network/interfaces");
+26
View File
@@ -1,3 +1,29 @@
/*******************************************************************************/
/*
Description:
Cette classe permet de modifier l'adresse IP de l'ordinateur
La classe modifie le fichier système /etc/network/interfaces afin de configurer
l'adresse IP statique de l'interface servant à communiquer avec le HPC.
Pour ce faire, elle utilise le fichier template ./interfaces dans lequel elle
insère l'adresse et le gateway (calculé à partir de l'adresse).
Un redémarrage de l'ordinateur est nécessaire pour que la nouvelle adresse soit
prise en compte.
sur le réseau.
*/
/* ************************************************************************** */
/* Revision:
### YYYMMDD JFM
Verision d'origine.
### YYYYMMDD Description du besoin ou du bug
Description du changement.
*/
/* ************************************************************************** */
#ifndef NETWORKCFGMGR_H
#define NETWORKCFGMGR_H