From 727d1db66f64f40368bbb1bf06653f058d97618c Mon Sep 17 00:00:00 2001 From: jfmartel Date: Fri, 21 Sep 2018 09:54:56 -0400 Subject: [PATCH] =?UTF-8?q?-=20Correction=20de=20l'assignation=20des=20I/O?= =?UTF-8?q?=20pour=20MMO=20-=20Changement=20des=20registres=20Modbus=20pou?= =?UTF-8?q?r=20accomoder=20l'impl=C3=A9mentation=20bidon=20de=20la=20CC=20?= =?UTF-8?q?-=20Ajout=20de=20certains=20flags=20dans=20les=20fichiers=20de?= =?UTF-8?q?=20passage=20et=20dans=20le=20GUI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Configuration/ZT.cfg | 4 +- Configuration/ZTSettings.ztc | Bin 36 -> 36 bytes sources/GuiElements/LogsListPage.cpp | 9 +++- sources/Modbus/ModbusCCDefs.h | 62 ++++++++++++++++++--------- sources/Stations/Montmorency.cpp | 2 +- sources/Stations/Montmorency.h | 9 ++-- sources/ZTData.cpp | 4 +- sources/ZTData.h | 2 +- sources/ZTStateMachine.cpp | 1 + 9 files changed, 61 insertions(+), 32 deletions(-) diff --git a/Configuration/ZT.cfg b/Configuration/ZT.cfg index 9410eb6..a6d4926 100644 --- a/Configuration/ZT.cfg +++ b/Configuration/ZT.cfg @@ -80,7 +80,7 @@ ENGLOG=3 #STATION=LONGUEIL #STATION=SAINT_MICHEL #STATION=SNOWDON_L5 -#STATION=MONTMORENCY +STATION=MONTMORENCY #STATION=MONTMORENCY_10_12 #STATION=MONTMORENCY_10_22 -STATION=DU_COLLEGE +#STATION=DU_COLLEGE diff --git a/Configuration/ZTSettings.ztc b/Configuration/ZTSettings.ztc index 7a80b677e3447f431b12e2f671315855cc791e76..9107009bb17421d031dce03414c32c1ee6b50447 100644 GIT binary patch literal 36 bcmdnB_B10hU;u$yAWi`>7#R+%ut);{U%Le; literal 36 gcmdnB_B10SBLf4F00RaPs0HE_5QCB7zzT~r0AGLwCIA2c diff --git a/sources/GuiElements/LogsListPage.cpp b/sources/GuiElements/LogsListPage.cpp index fd2906a..c1cbda7 100644 --- a/sources/GuiElements/LogsListPage.cpp +++ b/sources/GuiElements/LogsListPage.cpp @@ -530,6 +530,12 @@ void CLogsListPage::ShowItemSummary(CLogElement *Element) TrainType = CZTData::GetModbusTrainTypeString(ZT1LogElement->mFlags.mModbusTrainType); } + QString Iti("Principal"); + if(ZT1LogElement->mFlags.mZT1ITI == ZT_SECONDARY_ITI) + { + Iti = "Secondaire (10/22)"; + } + // Summary.sprintf("Statistiques du passage:\n\nDate: %s\nHeure: %s\nTrain : %s\nNombre d'éléments: %d\nVitesse moyenne : %f mph\nPassage problématique: %s\n\nDéclenchements: \n", // ZT1LogElement->mPassageDateTime.toString("yyyy/MM/dd").toAscii().data(), // ZT1LogElement->mPassageDateTime.toString("hh:mm:ss").toAscii().data(), @@ -538,9 +544,10 @@ void CLogsListPage::ShowItemSummary(CLogElement *Element) // MeanSpeed, // Problem.toUtf8().data()); - Summary = QString("Statistiques du passage:\n\nDate: %1\nHeure: %2\nTrain : %3\nNombre d'éléments: %4\nComposition : %5\nPassage problématique: %6\n\nDéclenchements: \n")\ + Summary = QString("Statistiques du passage:\n\nDate: %1\nHeure: %2\nItinéraire : %3\nTrain : %4\nNombre d'éléments: %5\nComposition : %6\nPassage problématique: %7\n\nDéclenchements: \n")\ .arg(ZT1LogElement->mPassageDateTime.toString("yyyy/MM/dd"))\ .arg(ZT1LogElement->mPassageDateTime.toString("hh:mm:ss"))\ + .arg(Iti)\ .arg(TrainType)\ .arg(ZT1LogElement->mNbElements)\ .arg(Composition)\ diff --git a/sources/Modbus/ModbusCCDefs.h b/sources/Modbus/ModbusCCDefs.h index 1337b99..6b76ab4 100644 --- a/sources/Modbus/ModbusCCDefs.h +++ b/sources/Modbus/ModbusCCDefs.h @@ -34,6 +34,16 @@ #define ZT2_PP_EXT_FLAG_MASK_2 0x0020 #define ZT2_PP_EXT_FLAG_MASK_3 0x0040 #define ZT2_PP_EXT_FLAG_MASK_4 0x0080 + ///UNUSED FLAGS NECESSARY FOR CC IMPLEMENTATION. MUST ALWAYS BE 0 +#define ZT2_PG_DUMMY_MASK_1 0x0100 //UNUSED FLAG NECESSARY FOR CC IMPLEMENTATION. MUST ALWAYS BE 0 +#define ZT2_PG_DUMMY_MASK_2 0x0200 //UNUSED FLAG NECESSARY FOR CC IMPLEMENTATION. MUST ALWAYS BE 0 +#define ZT2_PG_DUMMY_MASK_3 0x0400 //UNUSED FLAG NECESSARY FOR CC IMPLEMENTATION. MUST ALWAYS BE 0 +#define ZT2_PG_DUMMY_MASK_4 0x0800 //UNUSED FLAG NECESSARY FOR CC IMPLEMENTATION. MUST ALWAYS BE 0 +#define ZT2_FN_DUMMY_MASK_5 0x1000 //UNUSED FLAG NECESSARY FOR CC IMPLEMENTATION. MUST ALWAYS BE 0 +#define ZT2_FN_DUMMY_MASK_6 0x2000 //UNUSED FLAG NECESSARY FOR CC IMPLEMENTATION. MUST ALWAYS BE 0 +#define ZT2_FN_DUMMY_MASK_7 0x4000 //UNUSED FLAG NECESSARY FOR CC IMPLEMENTATION. MUST ALWAYS BE 0 +#define ZT2_FV_DUMMY_MASK_8 0x8000 //UNUSED FLAG NECESSARY FOR CC IMPLEMENTATION. MUST ALWAYS BE 0 + //////////////////////////////////////////////////////////////////// //Flags definitions for HR2026 #define ZT1_V00_ALARM_FLAG_MASK 0x0001 @@ -41,6 +51,7 @@ #define ZT1_ALARM_ITI_FLAG_MASK 0x8000 #define ZT2_V02_ALARM_FLAG_MASK 0x0004 #define ZT2_PEQ2_ALARM_FLAG_MASK 0x0008 +#define ZT2_ACTIVATED_ITI_DUMMY_MASK 0x4000 //UNUSED FLAG NECESSARY FOR CC IMPLEMENTATION. MUST ALWAYS BE 0 #define ZT_ACTIVATED_ITI_FLAG_MASK 0x8000 //Flags definitions for HR2027 @@ -51,7 +62,7 @@ //Register addressing //Outgoing #define MODBUS_ZT_DATA_BASE_REG 2000 -#define MODBUS_ZT_TABLE_DATA_SIZE 28 //Taille de la table en écriture = 28 registres (2000 à 2027) +#define MODBUS_ZT_TABLE_DATA_SIZE 36 //Taille de la table en écriture = 36 registres (2000 à 2035) //28 //Taille de la table en écriture = 28 registres (2000 à 2027) #define MODBUS_ZT1_ALARM_DATA_BASE_REG_ADD 2000 #define MODBUS_ZT2_ALARM_DATA_BASE_REG_ADD 2017 @@ -85,35 +96,44 @@ #define MODBUS_ZT2_RANK_PP_EXT_2_REG_ADD 2023 #define MODBUS_ZT2_RANK_PP_EXT_3_REG_ADD 2024 #define MODBUS_ZT2_RANK_PP_EXT_4_REG_ADD 2025 - + ///UNUSED FLAGS NECESSARY FOR CC IMPLEMENTATION. MUST ALWAYS BE 0 +#define MODBUS_ZT2_DUMMY_RK_PG_1_REG_ADD 2028 //UNUSED FLAG NECESSARY FOR CC IMPLEMENTATION. MUST ALWAYS BE 0 +#define MODBUS_ZT2_DUMMY_RK_PG_2_REG_ADD 2029 //UNUSED FLAG NECESSARY FOR CC IMPLEMENTATION. MUST ALWAYS BE 0 +#define MODBUS_ZT2_DUMMY_RK_PG_3_REG_ADD 2030 //UNUSED FLAG NECESSARY FOR CC IMPLEMENTATION. MUST ALWAYS BE 0 +#define MODBUS_ZT2_DUMMY_RK_PG_4_REG_ADD 2031 //UNUSED FLAG NECESSARY FOR CC IMPLEMENTATION. MUST ALWAYS BE 0 +#define MODBUS_ZT2_DUMMY_FN_PG_1_REG_ADD 2032 //UNUSED FLAG NECESSARY FOR CC IMPLEMENTATION. MUST ALWAYS BE 0 +#define MODBUS_ZT2_DUMMY_FN_PG_2_REG_ADD 2033 //UNUSED FLAG NECESSARY FOR CC IMPLEMENTATION. MUST ALWAYS BE 0 +#define MODBUS_ZT2_DUMMY_FN_PG_3_REG_ADD 2034 //UNUSED FLAG NECESSARY FOR CC IMPLEMENTATION. MUST ALWAYS BE 0 +#define MODBUS_ZT2_DUMMY_FN_PG_4_REG_ADD 2035 //UNUSED FLAG NECESSARY FOR CC IMPLEMENTATION. MUST ALWAYS BE 0 + /////////////////////////////////////////////////////////////////// //Incoming -#define MODBUS_CC_FCYCLE_ZT1_FLAG_MASK 0x0001 -#define MODBUS_CC_FCYCLE_ZT2_FLAG_MASK 0x0002 +#define MODBUS_CC_FCYCLE_ZT1_FLAG_MASK 0x0001 +#define MODBUS_CC_FCYCLE_ZT2_FLAG_MASK 0x0002 #define MODBUS_CC_INHIBIT_ZT1_FLAG_MASK 0x0004 #define MODBUS_CC_INHIBIT_ZT2_FLAG_MASK 0x0008 #define MODBUS_CC_CLK_UPDATE_FLAG_MASK 0x8000 -#define MODBUS_CC_DATA_BASE_REG_ADD 2028 -#define MODBUS_CC_TABLE_DATA_SIZE 15 //Taille de la table en lecture = 15 registres (2028 à 2042) +#define MODBUS_CC_DATA_BASE_REG_ADD 2036//2028 +#define MODBUS_CC_TABLE_DATA_SIZE 15 //Taille de la table en lecture = 15 registres (2036 à 2050 ///(2028 à 2042) -#define MODBUS_CC_WATCHDOG_BASE_REG_ADD 2028 -#define MODBUS_CC_AN_BASE_REG_ADD 2029 -#define MODBUS_CC_ZT1_TRAIN_TYPE_REG_ADD 2030 -#define MODBUS_CC_ZT2_TRAIN_TYPE_REG_ADD 2031 -#define MODBUS_CC_ZT1_TRAIN_ID_1_REG_ADD 2032 -#define MODBUS_CC_ZT1_TRAIN_ID_2_REG_ADD 2033 -#define MODBUS_CC_ZT1_TRAIN_ID_3_REG_ADD 2034 -#define MODBUS_CC_ZT2_TRAIN_ID_1_REG_ADD 2035 -#define MODBUS_CC_ZT2_TRAIN_ID_2_REG_ADD 2036 -#define MODBUS_CC_ZT2_TRAIN_ID_3_REG_ADD 2037 -#define MODBUS_CC_CLK_UPDATE_BASE_REG_ADD 2038 -#define MODUBS_CC_CLK_SEC_BASE_REG_ADD 2039 -#define MODUBS_CC_CLK_HR_MIN_BASE_REG_ADD 2040 -#define MODUBS_CC_CLK_MNT_DAY_BASE_REG_ADD 2041 -#define MODUBS_CC_CLK_YEAR_BASE_REG_ADD 2042 +#define MODBUS_CC_WATCHDOG_BASE_REG_ADD 2036 +#define MODBUS_CC_AN_BASE_REG_ADD 2037 +#define MODBUS_CC_ZT1_TRAIN_TYPE_REG_ADD 2038 +#define MODBUS_CC_ZT2_TRAIN_TYPE_REG_ADD 2039 +#define MODBUS_CC_ZT1_TRAIN_ID_1_REG_ADD 2040 +#define MODBUS_CC_ZT1_TRAIN_ID_2_REG_ADD 2041 +#define MODBUS_CC_ZT1_TRAIN_ID_3_REG_ADD 2042 +#define MODBUS_CC_ZT2_TRAIN_ID_1_REG_ADD 2043 +#define MODBUS_CC_ZT2_TRAIN_ID_2_REG_ADD 2044 +#define MODBUS_CC_ZT2_TRAIN_ID_3_REG_ADD 2045 +#define MODBUS_CC_CLK_UPDATE_BASE_REG_ADD 2046 +#define MODUBS_CC_CLK_SEC_BASE_REG_ADD 2047 +#define MODUBS_CC_CLK_HR_MIN_BASE_REG_ADD 2048 +#define MODUBS_CC_CLK_MNT_DAY_BASE_REG_ADD 2049 +#define MODUBS_CC_CLK_YEAR_BASE_REG_ADD 2050 #endif // PROTOCOLDEFS_H diff --git a/sources/Stations/Montmorency.cpp b/sources/Stations/Montmorency.cpp index 2000ce8..40e3f4d 100644 --- a/sources/Stations/Montmorency.cpp +++ b/sources/Stations/Montmorency.cpp @@ -221,7 +221,7 @@ unsigned int CMontmorencyStation::BuildStationCDVList() // NewSwitchCDV = new CSwitchCDV(0,MONTMORENCY_IN_ZT1_10_22_ITI_MASK,MONTMORENCY_IN_CDV_21BC_MASK,CDV_SWITCH_TYPE,"21BC",2,6); // mCDVList.append((CCDV*)NewSwitchCDV); - NewCDV = new CCDV(MONTMORENCY_IN_ZT1_10_22_ITI_MASK,MONTMORENCY_IN_CDV_21BC_MASK,CDV_NORMAL_TYPE,"21B",2,6); + NewCDV = new CCDV(MONTMORENCY_IN_ZT1_10_22_ITI_MASK,MONTMORENCY_IN_CDV_21AB_MASK,CDV_NORMAL_TYPE,"21B",2,6); mCDVList.append(NewCDV); m10_22SubsequentCDV = NewCDV; diff --git a/sources/Stations/Montmorency.h b/sources/Stations/Montmorency.h index 98cc82d..164e387 100644 --- a/sources/Stations/Montmorency.h +++ b/sources/Stations/Montmorency.h @@ -64,11 +64,12 @@ #define MONTMORENCY_IN_ZT1_ARF_MASK 0x00002000 #define MONTMORENCY_IN_ZT2_ARF_MASK 0x00004000 #define MONTMORENCY_IN_STATION_ID_MASK 0x00078000 -#define MONTMORENCY_IN_CDV_21BC_MASK 0x00080000 -#define MONTMORENCY_IN_CDV_22A_MASK 0x00100000 +#define MONTMORENCY_IN_CDV_21AB_MASK 0x00080000 +#define MONTMORENCY_IN_10_22_AN1_MASK 0x00100000 //Unused duplicate status of CDV10B introduced by error when merging the two ZT. Should be AN1 if needed... #define MONTMORENCY_IN_CDV_22BC_MASK 0x00200000 -#define MONTMORENCY_IN_10_22_AN1_MASK 0x00400000 -#define MONTMORENCY_IN_ZT1_10_22_ITI_MASK 0x00800000 +#define MONTMORENCY_IN_ZT1_10_22_ITI_MASK 0x00400000 +#define MONTMORENCY_IN_CDV_22A_MASK 0x00800000 +#define MONTMORENCY_IN_CDV_11AP_MASK 0x01000000 //Unused duplicate status of CDV11A introduced by error when merging the two ZT //External (ethernet) output module masks for MONTMORENCY #define MONTMORENCY_OUT_VP1_MASK 0x00000001 diff --git a/sources/ZTData.cpp b/sources/ZTData.cpp index 36c7ca4..bb7d1d2 100644 --- a/sources/ZTData.cpp +++ b/sources/ZTData.cpp @@ -170,7 +170,7 @@ QDataStream &operator<<(QDataStream &out, const CZT1FlagsData &source) << source.mTrainCompo2 << source.mTrainCompo3 << source.mModbusTrainType - << source.mUnusedFlag12 + << source.mZT1ITI << source.mUnusedFlag13 << source.mUnusedFlag14 << source.mUnusedFlag15 @@ -197,7 +197,7 @@ QDataStream &operator>>(QDataStream &in, CZT1FlagsData &dest) >> dest.mTrainCompo2 >> dest.mTrainCompo3 >> dest.mModbusTrainType - >> dest.mUnusedFlag12 + >> dest.mZT1ITI >> dest.mUnusedFlag13 >> dest.mUnusedFlag14 >> dest.mUnusedFlag15 diff --git a/sources/ZTData.h b/sources/ZTData.h index 8813750..f629536 100644 --- a/sources/ZTData.h +++ b/sources/ZTData.h @@ -214,7 +214,7 @@ public: qint32 mTrainCompo2; qint32 mTrainCompo3; qint32 mModbusTrainType; - qint32 mUnusedFlag12; + qint32 mZT1ITI; qint32 mUnusedFlag13; qint32 mUnusedFlag14; qint32 mUnusedFlag15; diff --git a/sources/ZTStateMachine.cpp b/sources/ZTStateMachine.cpp index 49984c9..9aaac42 100644 --- a/sources/ZTStateMachine.cpp +++ b/sources/ZTStateMachine.cpp @@ -386,6 +386,7 @@ unsigned int CZTStateMachine::ZT1StateMachine(unsigned int Event, unsigned int S mZT1Log.mZT1Flags.mTrainCompo2 = (qint32)mZT1TrainComposition.at(1); mZT1Log.mZT1Flags.mTrainCompo3 = (qint32)mZT1TrainComposition.at(2); mZT1Log.mZT1Flags.mModbusTrainType = mModbusCCMgr->GetZT1RawTrainType(); + mZT1Log.mZT1Flags.mZT1ITI = mZTStationPtr->GetCurrentITI(); mZTPagePTr->SetZT1TrainData(mTrainTypeDetected,mZT1TrainComposition); }