diff --git a/Configuration/ZT.cfg b/Configuration/ZT.cfg index 6a4e5a7..109c9b0 100644 --- a/Configuration/ZT.cfg +++ b/Configuration/ZT.cfg @@ -71,11 +71,11 @@ ENGLOG=3 #STATION=HONORE_BEAUGRAND #STATION=ANGRIGNON #STATION=HENRI_BOURASSA -#STATION=COTE_VERTU +STATION=COTE_VERTU #STATION=BERRI_UQAM #STATION=LONGUEIL #STATION=SAINT_MICHEL -STATION=SNOWDON_L5 +#STATION=SNOWDON_L5 #STATION=MONTMORENCY #STATION=MONTMORENCY_10_12 #STATION=MONTMORENCY_10_22 diff --git a/sources/Simulator/SimulationScenario.cpp b/sources/Simulator/SimulationScenario.cpp index 3988e99..bb69d8f 100644 --- a/sources/Simulator/SimulationScenario.cpp +++ b/sources/Simulator/SimulationScenario.cpp @@ -153,34 +153,42 @@ unsigned int CSimulationScenario::CreateScenario() // if(bogie != 5 && bogie != 7) InsertNewStep(STEP_ACTION_ACTIVATE_PGI,0); InsertNewStep(STEP_ACTION_ACTIVATE_PGE,0); - InsertNewStep(STEP_ACTION_ACTIVATE_S1,SENSOR_DELAY); +//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); - -// if(bogie != 5 && bogie != 8) +//FN DETECTION + if(bogie != 5 && 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); -// if(bogie == 12) -// InsertNewStep(STEP_ACTION_ACTIVATE_PPI,0); -// if(bogie != 5 && bogie != 8) +//PPI DETECTION +// if(bogie == 6 || bogie == 9) +// InsertNewStep(STEP_ACTION_ACTIVATE_PPI,0); + +//FN DETECTION + if(bogie != 5 && bogie != 8 && bogie != 3) InsertNewStep(STEP_ACTION_DEACTIVATE_FN,0); // InsertNewStep(STEP_ACTION_ACTIVATE_S2,SENSOR_DELAY); InsertNewStep(STEP_ACTION_DEACTIVATE_S2,BOGIE_DELAY); -// if(bogie == 12) -// InsertNewStep(STEP_ACTION_DEACTIVATE_PPI,0); +//PPI DETECTION +// if(bogie == 6 || bogie == 9) +// InsertNewStep(STEP_ACTION_DEACTIVATE_PPI,0); - if(bogie != 2 && bogie != 11) + // if(bogie != 2 && bogie != 11) InsertNewStep(STEP_ACTION_ACTIVATE_PGI,0); - if(bogie != 2 && bogie != 11) - InsertNewStep(STEP_ACTION_ACTIVATE_PGE,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); diff --git a/sources/ZTStateMachine.cpp b/sources/ZTStateMachine.cpp index f46e091..5703513 100644 --- a/sources/ZTStateMachine.cpp +++ b/sources/ZTStateMachine.cpp @@ -790,22 +790,31 @@ unsigned int CZTStateMachine::AnalyzeZT1PostDetection() if(alarms != 0) { - //Send two detections only (rank 1 & 18) when detecting FN errors while in V00 - QString string; - string.sprintf("[POST DETECTION]--> Déclenchement FN avec erreur de comptage (FNCount = %d). Envoi d'alarmes aux rangs 1 et 18.",FNCount); - //CZTLog::instance()->AddBufferString("Déclenchement FN avec erreur de comptage. Envoi d'alarmes aux rangs 1 et 18.",true); - CZTLog::instance()->AddBufferString(string,true); - CZTDetectionData *NewDetection = new CZTDetectionData(); - NewDetection->mDetectionID = DETECTION_FN_DETECTION; - NewDetection->mTimeStamp = 0; - NewDetection->mRank = 1; - mZT1DetectionsLog.append(NewDetection); + //With Modbus interface, we send as many alarms as there are detections with rank 99 (ZT_DEFAULT_DETECTION_RANK) + for(int i = 0; i < alarms; i++) + { + CZTDetectionData *NewDetection = new CZTDetectionData(); + NewDetection->mDetectionID = DETECTION_FN_DETECTION; + NewDetection->mTimeStamp = 0; + NewDetection->mRank = ZT_DEFAULT_DETECTION_RANK; + mZT1DetectionsLog.append(NewDetection); + } +// //Send two detections only (rank 1 & 18) when detecting FN errors while in V00 +// QString string; +// string.sprintf("[POST DETECTION]--> Déclenchement FN avec erreur de comptage (FNCount = %d). Envoi d'alarmes aux rangs 1 et 18.",FNCount); +// //CZTLog::instance()->AddBufferString("Déclenchement FN avec erreur de comptage. Envoi d'alarmes aux rangs 1 et 18.",true); +// CZTLog::instance()->AddBufferString(string,true); +// CZTDetectionData *NewDetection = new CZTDetectionData(); +// NewDetection->mDetectionID = DETECTION_FN_DETECTION; +// NewDetection->mTimeStamp = 0; +// NewDetection->mRank = 1; +// mZT1DetectionsLog.append(NewDetection); - NewDetection = new CZTDetectionData(); - NewDetection->mDetectionID = DETECTION_FN_DETECTION; - NewDetection->mTimeStamp = 0; - NewDetection->mRank = 18; - mZT1DetectionsLog.append(NewDetection); +// NewDetection = new CZTDetectionData(); +// NewDetection->mDetectionID = DETECTION_FN_DETECTION; +// NewDetection->mTimeStamp = 0; +// NewDetection->mRank = 18; +// mZT1DetectionsLog.append(NewDetection); } }