[RT.EquipmentLibrary]

新增TCS补液使用DI信号控制,兼容之前设备
This commit is contained in:
hanqiangqiang 2024-04-24 17:23:31 +08:00
parent 4b6c89b58e
commit 66e56a97c9
1 changed files with 18 additions and 0 deletions

View File

@ -31,6 +31,8 @@ namespace Aitex.Core.RT.Device.Devices
private DOAccessor _doSCR3Enable = null;
private DOAccessor _doTCSSupply = null;
private DIAccessor _diTCSSupplyHigh_1 = null;
private DIAccessor _diTCSSupplyHigh_2 = null;
private DOAccessor _doLidOpenRoutineSucceed = null;
@ -124,6 +126,7 @@ namespace Aitex.Core.RT.Device.Devices
//private SCConfigItem _scPurgeRoutineSucceedTemp;
private SCConfigItem _scTCSFluidInfusionTime; //TCS补液时间
private bool _scTCSFluidInfusionFeedbackDI; //配置参数TCS补液使用DI反馈信号
private double _lastChamberPressure = 0;
private long currentSeconds = 0;
@ -260,6 +263,8 @@ namespace Aitex.Core.RT.Device.Devices
//_scPurgeRoutineSucceedTemp = ParseScNode("PurgeRoutineSucceedTemp", node, ioModule, $"PM.{Module}.Purge.PurgeRoutineSucceedTemp");
_scTCSFluidInfusionTime = ParseScNode("TCSSupplyTime", node, ioModule, $"PM.{Module}.TCSFluidInfusionTime");
_scTCSFluidInfusionFeedbackDI = SC.GetValue<bool>($"PM.{Module}.TCSFluidInfusionFeedbackDI");
SC.RegisterValueChangedCallback($"PM.{Module}.TCSFluidInfusionFeedbackDI", (obj) => _scTCSFluidInfusionFeedbackDI=(bool)obj);
_doReactorATMTransferReady = ParseDoNode("doReactorATMTransferReady", node, ioModule);
_doReactorVACTransferReady = ParseDoNode("doReactorVACTransferReady", node, ioModule);
@ -284,6 +289,9 @@ namespace Aitex.Core.RT.Device.Devices
_doSCR3Enable = ParseDoNode("doSCR3Enable", node, ioModule);
_doTCSSupply = ParseDoNode("doTCSSupply", node, ioModule);
_diTCSSupplyHigh_1 = ParseDiNode("diTCSSupplyHigh_1", node, ioModule);
_diTCSSupplyHigh_2 = ParseDiNode("diTCSSupplyHigh_2", node, ioModule);
_aiTempCtrl1 = ParseAiNode("aiTempCtrl1", node, ioModule);
_doProcessRunning = ParseDoNode("doProcessRunning", node, ioModule);
@ -623,6 +631,16 @@ namespace Aitex.Core.RT.Device.Devices
_doTCSSupply.Value = false;
_timerTCSSupply.Stop(); //进入Idle状态
}
if (_scTCSFluidInfusionFeedbackDI)//根据配置是否启用使用DI反馈信号
{
if ((_diTCSSupplyHigh_1?.Value ?? false) || (_diTCSSupplyHigh_2?.Value ?? false))//两个DI为高液位时主动停止补液
{
_doTCSSupply.Value = false;
_timerTCSSupply.Stop(); //进入Idle状态
}
}
}