V1.19 : Corrections suite aux essais CC du 19 février 2019

//Version 1.19
//-Suite aux essais sur site, changement des CDV d'acquitement des
alarmes
// À Montmorency (12BC -> 12A et 22BC -> 22A).
//-Correction d'un bug qui causait systématiquement une erreur de
comptage
// lorsqu'une panne équipement survenait alors que l'analyse était
inhibée.
This commit is contained in:
jfmartel
2019-02-22 10:45:01 -05:00
parent dbb8472fd0
commit d235255053
11 changed files with 63 additions and 15 deletions
+22
View File
@@ -12,6 +12,7 @@ CModbusTKTransport::CModbusTKTransport(CModbusRepository *Repo)
mZT1TKDataList.clear();
mZT2TKDataList.clear();
mZT1Clear = mZT2Clear = false;
mNewTrainIncoming = false;
mModbusTKZT1SMState = MODBUS_ZT1_TK_STANDBY_STATE;
mModbusTKZT2SMState = MODBUS_ZT2_TK_STANDBY_STATE;
@@ -466,6 +467,18 @@ unsigned int CModbusTKTransport::SetInputStates(bool AN1State, bool ZT1CDVState,
return RET_OK;
}
unsigned int CModbusTKTransport::ClearTKForNewTrain()
{
if(mModbusTKZT1SMState == MODBUS_ZT1_TK_WAIT_FOR_CLEAR_STATE)
{
mNewTrainIncoming = true;
return RET_OK;
}
mNewTrainIncoming = false;
return RET_ERROR;
}
unsigned int CModbusTKTransport::CancelAllTK()
{
@@ -596,6 +609,14 @@ void CModbusTKTransport::ExecZT1SM()
ClearTK(ZT1_TYPE_ID);
mModbusTKZT1SMState = MODBUS_ZT1_TK_STANDBY_STATE;
}
else if(mNewTrainIncoming)
{
//A new train is incoming and is on the ZT CDV. Clear the alarms
CZTLog::instance()->AddLogString("Un nouveau train arrive en ZT1. Acquitement automatique des alarmes ZT1 au PCC",true);
ClearTK(ZT1_TYPE_ID);
mModbusTKZT1SMState = MODBUS_ZT1_TK_STANDBY_STATE;
mNewTrainIncoming = false;
}
break;
}
@@ -604,6 +625,7 @@ void CModbusTKTransport::ExecZT1SM()
mZT1TKDataList.clear();
mZT1TKStateMachineTimer->stop();
ResetAlarmCount(ZT1_TYPE_ID);
mNewTrainIncoming = false;
// //In maintenance mode, it is possible to have ZT2 events at the same time
// //than ZT1. So if any ZT2 events are waiting in the qeue, send them...
+3
View File
@@ -51,6 +51,7 @@ public:
int ClearTK(int ZT);
unsigned int CancelAllTK();
virtual bool IsZT2TKProcessing();
virtual bool IsZT1TKProcessing();
virtual bool IsTKProcessing();
@@ -58,6 +59,7 @@ public:
virtual int AddNewZT2Detection(CZTDetectionData Detection);
virtual unsigned int BeginTKEmission();
virtual unsigned int SetInputStates(bool AN1State, bool ZT1CDVState, bool AN2State, bool ZT2CDVState);
virtual unsigned int ClearTKForNewTrain();
virtual unsigned int CancelMaintenanceCurrentTK();
@@ -72,6 +74,7 @@ private:
int mModbusTKZT1SMState,mModbusTKZT2SMState;
QTimer *mZT1TKStateMachineTimer, *mZT2TKStateMachineTimer;
bool mZT1Clear, mZT2Clear;
bool mNewTrainIncoming;
int RegOffset(qint16 Reg){return (int)Reg-MODBUS_ZT_DATA_BASE_REG;}