- Correction de l'assignation des I/O pour MMO

- Changement des registres Modbus pour accomoder l'implémentation bidon de la CC
- Ajout de certains flags dans les fichiers de passage et dans le GUI
This commit is contained in:
jfmartel 2018-09-21 09:54:56 -04:00
parent acd2f50631
commit 727d1db66f
9 changed files with 61 additions and 32 deletions

View File

@ -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

Binary file not shown.

View File

@ -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)\

View File

@ -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

View File

@ -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;

View File

@ -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

View File

@ -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

View File

@ -214,7 +214,7 @@ public:
qint32 mTrainCompo2;
qint32 mTrainCompo3;
qint32 mModbusTrainType;
qint32 mUnusedFlag12;
qint32 mZT1ITI;
qint32 mUnusedFlag13;
qint32 mUnusedFlag14;
qint32 mUnusedFlag15;

View File

@ -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);
}