|
@@ -472,28 +472,59 @@ namespace PunkHPX8_RT.Devices.Reservoir
|
|
|
int _overflowLevelCheckTime = SC.GetValue<int>($"Reservoir.{Module}.OverflowLevelCheckTime");
|
|
|
int _retrunOpenHoldStep = SC.GetValue<int>($"Reservoir.{Module}.RetrunOpenHoldStep");
|
|
|
int _retrunOpenRampStep = SC.GetValue<int>($"Reservoir.{Module}.RetrunOpenRampStep");
|
|
|
- int adjustNumber = "Full".Equals(_platingCellDevice.PlatingCellDeviceData.OverFlowStatus) ? _retrunOpenHoldStep : _retrunOpenRampStep;
|
|
|
- if (overflow > _lastOverFlow)//液位升高的情况
|
|
|
+ bool _isFull = "Full".Equals(_platingCellDevice.PlatingCellDeviceData.OverFlowStatus);
|
|
|
+ int adjustNumber = _isFull ? _retrunOpenHoldStep : _retrunOpenRampStep;
|
|
|
+ if (_isFull) //full的情况
|
|
|
{
|
|
|
- if (overflow - _lastOverFlow > _overflowLevelDelta && DateTime.Now.Subtract(_adjustReturnvalveStartTime).TotalMilliseconds > _overflowLevelCheckTime)
|
|
|
+ if (overflow > _lastOverFlow)//液位升高的情况
|
|
|
{
|
|
|
- double percent = ReservoirData.ReturnValveOpening - adjustNumber;
|
|
|
- percent = percent >= 0 ? percent : 0;
|
|
|
- ReturnValvePercent(percent);
|
|
|
- _lastOverFlow = overflow;
|
|
|
- _adjustReturnvalveStartTime = DateTime.Now;
|
|
|
+ if (overflow - _lastOverFlow > _overflowLevelDelta && DateTime.Now.Subtract(_adjustReturnvalveStartTime).TotalMilliseconds > _overflowLevelCheckTime)
|
|
|
+ {
|
|
|
+ double percent = ReservoirData.ReturnValveOpening - adjustNumber;
|
|
|
+ percent = percent >= 0 ? percent : 0;
|
|
|
+ ReturnValvePercent(percent);
|
|
|
+ _lastOverFlow = overflow;
|
|
|
+ _adjustReturnvalveStartTime = DateTime.Now;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if (_lastOverFlow - overflow > _overflowLevelDelta && DateTime.Now.Subtract(_adjustReturnvalveStartTime).TotalMilliseconds > _overflowLevelCheckTime)
|
|
|
+ {
|
|
|
+ double percent = ReservoirData.ReturnValveOpening + adjustNumber;
|
|
|
+ percent = percent <= 100 ? percent : 100;
|
|
|
+ ReturnValvePercent(percent);
|
|
|
+ _lastOverFlow = overflow;
|
|
|
+ _adjustReturnvalveStartTime = DateTime.Now;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- else
|
|
|
+ else //empty或者high的情况
|
|
|
{
|
|
|
- if (_lastOverFlow - overflow > _overflowLevelDelta && DateTime.Now.Subtract(_adjustReturnvalveStartTime).TotalMilliseconds > _overflowLevelCheckTime)
|
|
|
+ if ("High".Equals(_platingCellDevice.PlatingCellDeviceData.OverFlowStatus))
|
|
|
+ {
|
|
|
+ if (DateTime.Now.Subtract(_adjustReturnvalveStartTime).TotalMilliseconds > _overflowLevelCheckTime)
|
|
|
+ {
|
|
|
+ double percent = ReservoirData.ReturnValveOpening - adjustNumber;
|
|
|
+ percent = percent >= 0 ? percent : 0;
|
|
|
+ ReturnValvePercent(percent);
|
|
|
+ _lastOverFlow = overflow;
|
|
|
+ _adjustReturnvalveStartTime = DateTime.Now;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
{
|
|
|
- double percent = ReservoirData.ReturnValveOpening + adjustNumber;
|
|
|
- ReturnValvePercent(percent);
|
|
|
- _lastOverFlow = overflow;
|
|
|
- _adjustReturnvalveStartTime = DateTime.Now;
|
|
|
+ if (DateTime.Now.Subtract(_adjustReturnvalveStartTime).TotalMilliseconds > _overflowLevelCheckTime)
|
|
|
+ {
|
|
|
+ double percent = ReservoirData.ReturnValveOpening + adjustNumber;
|
|
|
+ percent = percent <= 100 ? percent : 100;
|
|
|
+ ReturnValvePercent(percent);
|
|
|
+ _lastOverFlow = overflow;
|
|
|
+ _adjustReturnvalveStartTime = DateTime.Now;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|