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:
@@ -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...
|
||||
|
||||
@@ -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;}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user