|
@@ -54,9 +54,9 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
DATA.Subscribe($"{Module}.LeakCheckLowLimit", () => _leakCheckTableParameter != null ? _leakCheckTableParameter.LowLimit : 0.0f);
|
|
|
DATA.Subscribe($"{Module}.LeakCheckBasePressureLimit", () => _leakCheckTableParameter != null ? _leakCheckTableParameter.BasePressureLimit : 0.0f);
|
|
|
DATA.Subscribe($"{Module}.LeakCheckDelayTime", () => _leakCheckTableParameter != null ? _leakCheckTableParameter.DelayTime : 0.0f);
|
|
|
- DATA.Subscribe($"{Module}.LeakCheckDelayElapseTime", () => (_leakCheckTableParameter != null && _leakCheckStatus.Equals("LeakCheckDelay") && _leakCheckDelayTimer.IsRunning) ? _leakCheckDelayTimer.ElapsedMilliseconds / 1000 : 0.0f);
|
|
|
+ DATA.Subscribe($"{Module}.LeakCheckDelayElapseTime", () => (_leakCheckTableParameter != null && _leakCheckStatus == (int)LeakCheckStatusEnum.LeakCheckDelay && _leakCheckDelayTimer.IsRunning) ? _leakCheckDelayTimer.ElapsedMilliseconds / 1000 : 0.0f);
|
|
|
DATA.Subscribe($"{Module}.LeakCheckCheckTime", () => _leakCheckTableParameter != null ? _leakCheckTableParameter.CheckTime : 0.0f);
|
|
|
- DATA.Subscribe($"{Module}.LeakCheckElapseTime", () => _leakCheckTableParameter != null && !_leakCheckStatus.Equals("None") && _leakCheckTimer.IsRunning ? _leakCheckTimer.ElapsedMilliseconds / 1000 : 0.0f);
|
|
|
+ DATA.Subscribe($"{Module}.LeakCheckElapseTime", () => _leakCheckTableParameter != null && _leakCheckStatus != (int)LeakCheckStatusEnum.None && _leakCheckTimer.IsRunning ? _leakCheckTimer.ElapsedMilliseconds / 1000 : 0.0f);
|
|
|
DATA.Subscribe($"{Module}.LeakCheckBasePressure", () => _leakCheckTableParameter != null ? _basePressure : 0.0f);
|
|
|
DATA.Subscribe($"{Module}.LeakCheckLeakLimit", () => _leakCheckTableParameter != null ? _leakCheckTableParameter.LeakLimit : 0.0f);
|
|
|
DATA.Subscribe($"{Module}.LeakCheckDelayMonitorPressure", () => _leakCheckTableParameter != null && _leakCheckDelayTimer.IsRunning && !_leakCheckTimer.IsRunning ? (float)_leakCheckDelayMonitorPressure : 0.0f);
|
|
@@ -77,9 +77,7 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
_leakCheckActualLeak = 0;
|
|
|
_leakCheckDelayMonitorPressure = 0;
|
|
|
_leakCheckStartPressure = 0;
|
|
|
-
|
|
|
_leakCheckMonitorPressure = 0;
|
|
|
-
|
|
|
if (_leakCheckDic == null)
|
|
|
return;
|
|
|
var ret = _leakCheckDic.TryGetValue(index, out _leakCheckTableParameter);
|
|
@@ -247,15 +245,12 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
public bool CheckLeakCheckFinish()
|
|
|
{
|
|
|
|
|
|
-
|
|
|
if (_leakCheckDic == null || _currentLeakCheckIndex < 0)
|
|
|
return true;
|
|
|
|
|
|
- if (_isLeakCheckFinished)
|
|
|
+ if (_leakCheckStatus == (int)LeakCheckStatusEnum.None)
|
|
|
{
|
|
|
StopLeakCheckTimer();
|
|
|
-
|
|
|
- _currentRetryCount = 0;
|
|
|
return true;
|
|
|
}
|
|
|
|
|
@@ -310,6 +305,7 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
{
|
|
|
if (_currentRetryCount < leakCheckParameter.RetryLimit)
|
|
|
{
|
|
|
+
|
|
|
_currentRetryCount++;
|
|
|
_processRoutine.LeakCheckRetry();
|
|
|
LOG.Write($"Leak check retry {_currentRetryCount}/{leakCheckParameter.RetryLimit}");
|
|
@@ -317,12 +313,14 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
else
|
|
|
{
|
|
|
LeakCheckAlarm.Set($"Leak check alarm: already retry count={_currentRetryCount} >= retry limit={leakCheckParameter.RetryLimit}");
|
|
|
+ _currentRetryCount = 0;
|
|
|
ProcessLeakCheckErrorCommand(leakCheckParameter.RetryOverCommand);
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
LeakCheckAlarm.Set($"Leak check alarm: actual leak={_leakCheckActualLeak} > leak limit={leakCheckParameter.LeakLimit}");
|
|
|
+ _currentRetryCount = 0;
|
|
|
ProcessLeakCheckErrorCommand(leakCheckParameter.ErrorCommand);
|
|
|
}
|
|
|
|
|
@@ -332,6 +330,7 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
{
|
|
|
|
|
|
_isLeakCheckFinished = true;
|
|
|
+ _currentRetryCount = 0;
|
|
|
_leakCheckStatus = (int)LeakCheckStatusEnum.None;
|
|
|
_leakCheckTimer.Stop();
|
|
|
_leakCheckDelayTimer.Stop();
|
|
@@ -341,15 +340,15 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
|
|
|
return _isLeakCheckFinished;
|
|
|
}
|
|
|
+
|
|
|
public void AbortLeakCheck()
|
|
|
{
|
|
|
- _leakCheckStatus = (int)LeakCheckStatusEnum.None;
|
|
|
_currentRetryCount = 0;
|
|
|
StopLeakCheckTimer();
|
|
|
}
|
|
|
public void StopLeakCheckTimer()
|
|
|
{
|
|
|
-
|
|
|
+ _leakCheckStatus = (int)LeakCheckStatusEnum.None;
|
|
|
if (_leakCheckDelayTimer.IsRunning)
|
|
|
_leakCheckDelayTimer.Stop();
|
|
|
|