diff --git a/App/Modules/SicModules/Config/PM/PM1/DeviceModelPM1.xml b/App/Modules/SicModules/Config/PM/PM1/DeviceModelPM1.xml
index 4efbc99..f6374e7 100644
--- a/App/Modules/SicModules/Config/PM/PM1/DeviceModelPM1.xml
+++ b/App/Modules/SicModules/Config/PM/PM1/DeviceModelPM1.xml
@@ -155,6 +155,7 @@
+
@@ -196,15 +197,15 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/App/Modules/SicModules/Config/PM/PM1/_ioDefinePM1.xml b/App/Modules/SicModules/Config/PM/PM1/_ioDefinePM1.xml
index bb6b34c..a16bda5 100644
--- a/App/Modules/SicModules/Config/PM/PM1/_ioDefinePM1.xml
+++ b/App/Modules/SicModules/Config/PM/PM1/_ioDefinePM1.xml
@@ -413,7 +413,7 @@
-
+
diff --git a/App/Modules/SicModules/PMs/Routines/PMCleanRoutine.cs b/App/Modules/SicModules/PMs/Routines/PMCleanRoutine.cs
index 5dca017..fa23bbe 100644
--- a/App/Modules/SicModules/PMs/Routines/PMCleanRoutine.cs
+++ b/App/Modules/SicModules/PMs/Routines/PMCleanRoutine.cs
@@ -207,7 +207,7 @@ namespace SicModules.PMs.Routines
private ModuleName moduleName;
private PMModule _pmModule;
private IoThrottleValve2 _IoThrottle;
- private IoInterLock _pmIoInterLock;
+ //private IoInterLock _pmIoInterLock;
private int _rotationCheckSpeed = 0; //设置旋转速度为0后检查是否转速低于此数值
private int _rotationCloseTimeout = 20; //旋转停止超时
@@ -242,7 +242,7 @@ namespace SicModules.PMs.Routines
Name = "Clean";
_IoThrottle = DEVICE.GetDevice($"{Module}.TV");
- _pmIoInterLock = DEVICE.GetDevice($"{Module}.PMInterLock");
+ //_pmIoInterLock = DEVICE.GetDevice($"{Module}.PMInterLock");
}
public override Result Start(params object[] objs)
@@ -267,13 +267,13 @@ namespace SicModules.PMs.Routines
_throttleFinalPressure = SC.GetValue($"PM.{Module}.Clean.FinalPressure");
//Purge Succeed 清掉
- _pmIoInterLock.DoLidOpenRoutineSucceed = false;
- _pmIoInterLock.DoLidCloseRoutineSucceed = false;
- if (!_pmIoInterLock.SetPMCleanRoutineRunning(true, out string reason))
- {
- EV.PostAlarmLog(Module, $"can not Clean,{reason}");
- return Result.FAIL;
- }
+ //_pmIoInterLock.DoLidOpenRoutineSucceed = false;
+ //_pmIoInterLock.DoLidCloseRoutineSucceed = false;
+ //if (!_pmIoInterLock.SetPMCleanRoutineRunning(true, out string reason))
+ //{
+ // EV.PostAlarmLog(Module, $"can not Clean,{reason}");
+ // return Result.FAIL;
+ //}
_checkPMPt2Over1000 = false;
@@ -438,13 +438,13 @@ namespace SicModules.PMs.Routines
private void SetRoutineRuningDo()
{
- _pmIoInterLock.DoLidCloseRoutineRunning = false;
+ //_pmIoInterLock.DoLidCloseRoutineRunning = false;
}
private void SetRoutineSuccessedDo()
{
- _pmIoInterLock.SetLidClosedRoutineSucceed(true, out string reason);
- _pmIoInterLock.DoLidOpenRoutineSucceed = false;
+ //_pmIoInterLock.SetLidClosedRoutineSucceed(true, out string reason);
+ //_pmIoInterLock.DoLidOpenRoutineSucceed = false;
}
diff --git a/App/Modules/SicModules/PMs/Routines/PMLeakCheckRoutine.cs b/App/Modules/SicModules/PMs/Routines/PMLeakCheckRoutine.cs
index 9837d61..c905b19 100644
--- a/App/Modules/SicModules/PMs/Routines/PMLeakCheckRoutine.cs
+++ b/App/Modules/SicModules/PMs/Routines/PMLeakCheckRoutine.cs
@@ -207,7 +207,6 @@ namespace SicModules.PMs.Routines
private ModuleName moduleName;
private IoThrottleValve2 _IoThrottle;
- private IoInterLock _pmIoInterLock;
private int _rotationCheckSpeed = 0; //设置旋转速度为0后检查是否转速低于此数值
private int _rotationCloseTimeout; //旋转停止超时
@@ -272,7 +271,6 @@ namespace SicModules.PMs.Routines
_rotationCloseTimeout = SC.GetValue($"PM.{Module}.RotationCloseTimeout");
_pmPressureMaxDiff = SC.GetValue($"PM.{Module}.ThrottlePressureMaxDiff");
_throttleTimeout = SC.GetValue($"PM.{Module}.ThrottlePressureTimeout");
- _pmIoInterLock = DEVICE.GetDevice($"{Module}.PMInterLock");
_rotationCloseTimeout = SC.GetValue($"PM.{Module}.RotationCloseTimeout");
_pressureLoopCount = SC.GetValue($"PM.{Module}.LeakCheck.CyclePurgeCount");
diff --git a/App/SicSimulator/Instances/SimulatorSystem.cs b/App/SicSimulator/Instances/SimulatorSystem.cs
index 01ee02c..50d7016 100644
--- a/App/SicSimulator/Instances/SimulatorSystem.cs
+++ b/App/SicSimulator/Instances/SimulatorSystem.cs
@@ -95,6 +95,17 @@ namespace SicSimulator.Instances
private void SetDefaultValue(string mod)
{
SetWaterTemp(mod);
+ IO.DI[$"{mod}.DI_PMH2SDetector1SW"].Value = true;
+ IO.DI[$"{mod}.DI_PMH2SeDetector1SW"].Value = true;
+ IO.DI[$"{mod}.DI_PMH2SeDetector2SW"].Value = true;
+ IO.DI[$"{mod}.DI_PMSO2Detector2SW"].Value = true;
+ IO.DI[$"{mod}.DI_PMGasDetectorFault2SW"].Value = true;
+ IO.DI[$"{mod}.DI_PMSO2Detector1SW"].Value = true;
+ IO.DI[$"{mod}.DI_GBH2SDetectorSW"].Value = true;
+ IO.DI[$"{mod}.DI_GBH2SeDetectorSW"].Value = true;
+ IO.DI[$"{mod}.DI_PMSmokeDetectorSW"].Value = true;
+ IO.DI[$"{mod}.DI_PMH2SDetector2SW"].Value = true;
+
IO.DI[$"{mod}.DI_ConfinementRingDone"].Value = true;
IO.DI[$"{mod}.DI_DryPumpAlarm"].Value = true;
@@ -259,7 +270,7 @@ namespace SicSimulator.Instances
IO.DI[$"{mod}.DI_PMAExhaustDPSW"].Value = true;
IO.DI[$"{mod}.DI_ServoDriverFaultSW"].Value = true;
- IO.DI[$"{mod}.DI_GN2InletPressSW"].Value = true;
+ IO.DI[$"{mod}.DI_GN2InletPressSW"].Value = false;
IO.DI[$"{mod}.DI_ArInletPressSW"].Value = true;
IO.DI[$"{mod}.DI_FacilityWarningSW"].Value = true;
@@ -297,6 +308,9 @@ namespace SicSimulator.Instances
IO.DO[$"{mod}.DO_HeaterEnable"].Value = true;
IO.DO[$"{mod}.DO_EPV2"].Value = true;
+ IO.DO[$"{mod}.DO_Foreline1FlowTemp"].Value = true;
+ IO.DO[$"{mod}.DO_Foreline2FlowTemp"].Value = true;
+
}
private void SetWaterTemp(string mod)
diff --git a/Framework/MECF.Framework.RT.EquipmentLibrary/Devices/IoInterLock.cs b/Framework/MECF.Framework.RT.EquipmentLibrary/Devices/IoInterLock.cs
index 03039f5..e79d4b6 100644
--- a/Framework/MECF.Framework.RT.EquipmentLibrary/Devices/IoInterLock.cs
+++ b/Framework/MECF.Framework.RT.EquipmentLibrary/Devices/IoInterLock.cs
@@ -67,66 +67,17 @@ namespace Aitex.Core.RT.Device.Devices
private DOAccessor _doReactorPressRisingRate = null;
private DOAccessor _doUPSLowBattery = null;
- //DO195-DO208
- private DOAccessor _doChamMiddleFlow2Temp = null;
- private DOAccessor _doSHFlowTemp = null;
- private DOAccessor _doChamTopFlowTemp = null;
- private DOAccessor _doChamMiddleFlow1Temp = null;
- private DOAccessor _doChamBottomFlowTemp = null;
-
- //private DOAccessor _doBottomPlateFlowTemp = null;
- private DOAccessor _doSpare1FlowTemp = null;
-
- private DOAccessor _doPowerRod1FlowTemp = null;
- private DOAccessor _doPowerRod2FlowTemp = null;
- private DOAccessor _doElectrodeWFlowTemp = null;
- private DOAccessor _doTMPump2FlowTemp = null;
- private DOAccessor _doTMPump1FlowTemp = null;
- private DOAccessor _doTransformerFlowTemp = null;
- private DOAccessor _doForelineFlowTemp = null;
- private DOAccessor _doTMTopLidTemp = null;
- private DOAccessor _doTMBufferFlowTemp = null;
//
private AIAccessor _aiChamMiddleFlow2Temp = null;
- private AIAccessor _aiSHFlowTemp = null;
- private AIAccessor _aiChamTopFlowTemp = null;
- private AIAccessor _aiChamMiddleFlowTemp = null;
- private AIAccessor _aiChamBottomFlowTemp = null;
- private AIAccessor _aiBottomPlateFlowTemp = null;
- private AIAccessor _aiPowerRod1FlowTemp = null;
- private AIAccessor _aiPowerRod2FlowTemp = null;
- private AIAccessor _aiElectrodeWFlowTemp = null;
- private AIAccessor _aiTMPump2FlowTemp = null;
- private AIAccessor _aiTMPump1FlowTemp = null;
- private AIAccessor _aiTransformerFlowTemp = null;
- private AIAccessor _aiForelineFlowTemp = null;
- private AIAccessor _aiTMTopLidTemp = null;
- private AIAccessor _aiTMBufferFlowTemp = null;
-
private SCConfigItem _scPmVacPress; //判断腔体真空的BasePressure
private SCConfigItem _scPmAtmPress;
private SCConfigItem _scReactorPressRisingRateLimit;
- private SCConfigItem _scChamMiddleFlow2Temp;
- private SCConfigItem _scSHFlowTemp;
- private SCConfigItem _scChamTopFlowTemp;
- private SCConfigItem _scChamMiddleFlowTemp;
- private SCConfigItem _scChamBottomFlowTemp;
//private SCConfigItem _scBottomPlateFlowTemp;
- private SCConfigItem _scPowerRod1FlowTemp;
-
- private SCConfigItem _scPowerRod2FlowTemp;
- private SCConfigItem _scElectrodeWFlowTemp;
- private SCConfigItem _scTMPump1FlowTemp;
- private SCConfigItem _scTMPump2FlowTemp;
- private SCConfigItem _scTransformerFlowTemp;
- private SCConfigItem _scForelineFlowTemp;
- private SCConfigItem _scTMTopLidTemp;
- private SCConfigItem _scTMBufferFlowTemp;
//private SCConfigItem _scPurgeRoutineSucceedTemp;
@@ -250,21 +201,6 @@ namespace Aitex.Core.RT.Device.Devices
sDO207 = "Spare3FlowTemp";
sDO208 = "Spare4FlowTemp";
}
- _scChamMiddleFlow2Temp = ParseScNode(sDO195, node, ioModule, $"PM.{Module}.CoolingWater." + sDO195);
- _scSHFlowTemp = ParseScNode(sDO196, node, ioModule, $"PM.{Module}.CoolingWater." + sDO196);
- _scChamTopFlowTemp = ParseScNode(sDO197, node, ioModule, $"PM.{Module}.CoolingWater." + sDO197);
- _scChamMiddleFlowTemp = ParseScNode(sDO198, node, ioModule, $"PM.{Module}.CoolingWater." + sDO198);
- _scChamBottomFlowTemp = ParseScNode(sDO199, node, ioModule, $"PM.{Module}.CoolingWater." + sDO199);
- _scTMPump2FlowTemp = ParseScNode(sDO200, node, ioModule, $"PM.{Module}.CoolingWater." + sDO200);
- //_scBottomPlateFlowTemp = ParseScNode(sDO200, node, ioModule, $"PM.{Module}.CoolingWater.SpareTempLimit");
- _scPowerRod1FlowTemp = ParseScNode(sDO201, node, ioModule, $"PM.{Module}.CoolingWater." + sDO201);
- _scPowerRod2FlowTemp = ParseScNode(sDO202, node, ioModule, $"PM.{Module}.CoolingWater." + sDO202);
- _scForelineFlowTemp = ParseScNode(sDO203, node, ioModule, $"PM.{Module}.CoolingWater." + sDO203);
- _scElectrodeWFlowTemp = ParseScNode(sDO204, node, ioModule, $"PM.{Module}.CoolingWater." + sDO204);
- _scTMPump1FlowTemp = ParseScNode(sDO205, node, ioModule, $"PM.{Module}.CoolingWater." + sDO205);
- _scTransformerFlowTemp = ParseScNode(sDO206, node, ioModule, $"PM.{Module}.CoolingWater." + sDO206);
- _scTMTopLidTemp = ParseScNode(sDO207, node, ioModule, $"PM.{Module}.CoolingWater." + sDO207);
- _scTMBufferFlowTemp = ParseScNode(sDO208, node, ioModule, $"PM.{Module}.CoolingWater." + sDO208);
//_scPurgeRoutineSucceedTemp = ParseScNode("PurgeRoutineSucceedTemp", node, ioModule, $"PM.{Module}.Purge.PurgeRoutineSucceedTemp");
_scTCSFluidInfusionTime = ParseScNode("TCSSupplyTime", node, ioModule, $"PM.{Module}.TCSFluidInfusionTime");
@@ -293,10 +229,10 @@ namespace Aitex.Core.RT.Device.Devices
_doSCR2Enable = ParseDoNode("doSCR2Enable", node, ioModule);
_doSCR3Enable = ParseDoNode("doSCR3Enable", node, ioModule);
- _doTCSSupply = ParseDoNode("doTCSSupply", node, ioModule);
+ _doTCSSupply = ParseDoNode("doTCSSupply", node, ioModule);//?
_doTCSSupplementing = ParseDoNode("doTCSSupplementing", node, ioModule);
_diTCSHighLevel1 = ParseDiNode("diTCSHighLevel1", node, ioModule);
- _diTCSNormalLevel = ParseDiNode("diTCSNormalLevel", node, ioModule);
+ _diTCSNormalLevel = ParseDiNode("diTCSNormalLevel", node, ioModule);//?
_aiTempCtrl1 = ParseAiNode("aiTempCtrl1", node, ioModule);
@@ -310,8 +246,8 @@ namespace Aitex.Core.RT.Device.Devices
_doPumpDownRoutineRunning = ParseDoNode("doPumpDownRoutineRunning", node, ioModule);
_doVentRoutineRunning = ParseDoNode("doVentRoutineRunning", node, ioModule);
_doProcessIdleRunning = ParseDoNode("doProcessIdleRunning", node, ioModule);
- _doATMIdleRoutineRunning = ParseDoNode("doATMIdleRoutineRunning", node, ioModule);
- _doVACIdleRoutineRunning = ParseDoNode("doVACIdleRoutineRunning", node, ioModule);
+ _doATMIdleRoutineRunning = ParseDoNode("doATMIdleRoutineRunning", node, ioModule);//?
+ _doVACIdleRoutineRunning = ParseDoNode("doVACIdleRoutineRunning", node, ioModule);//?
_doVACTransferAllowed = ParseDoNode("doVACTransferAllowed", node, ioModule);
_doATMTransferAllowed = ParseDoNode("doATMTransferAllowed", node, ioModule);
@@ -327,45 +263,12 @@ namespace Aitex.Core.RT.Device.Devices
_aiChamPress = ParseAiNode("aiChamPress", node, ioModule);
- _doPMASlitDoorClosed = ParseDoNode("doPMASlitDoorClosed", node, ioModule);
+ _doPMASlitDoorClosed = ParseDoNode("doPMASlitDoorClosed", node, ioModule);//?
_doReactorPressRisingRate = ParseDoNode("doReactorPressRisingRate", node, ioModule);
_doUPSLowBattery = ParseDoNode("doUPSLowBattery", node, ioModule);
//DO195-DO208 ChamMiddleFlow2Temp
- _doChamMiddleFlow2Temp = ParseDoNode("do" + sDO195, node, ioModule); //DO195
- _doSHFlowTemp = ParseDoNode("do" + sDO196, node, ioModule); //DO196
- _doChamTopFlowTemp = ParseDoNode("do" + sDO197, node, ioModule); //DO197
- _doChamMiddleFlow1Temp = ParseDoNode("do" + sDO198, node, ioModule); //DO198
- _doChamBottomFlowTemp = ParseDoNode("do" + sDO199, node, ioModule); //DO199
- _doTMPump2FlowTemp = ParseDoNode("do" + sDO200, node, ioModule); //DO200
- //_doBottomPlateFlowTemp = ParseDoNode("doSpare1FlowTemp", node, ioModule);
- _doPowerRod1FlowTemp = ParseDoNode("do" + sDO201, node, ioModule); //DO201
- _doPowerRod2FlowTemp = ParseDoNode("do" + sDO202, node, ioModule); //DO202
- _doForelineFlowTemp = ParseDoNode("do" + sDO203, node, ioModule); //DO203
- _doElectrodeWFlowTemp = ParseDoNode("do" + sDO204, node, ioModule); //DO204
- _doTMPump1FlowTemp = ParseDoNode("do" + sDO205, node, ioModule); //DO205
- _doTransformerFlowTemp = ParseDoNode("do" + sDO206, node, ioModule); //DO206
- _doTMTopLidTemp = ParseDoNode("do" + sDO207, node, ioModule); //DO207
- _doTMBufferFlowTemp = ParseDoNode("do" + sDO208, node, ioModule); //DO208
-
- //
- _aiChamMiddleFlow2Temp = ParseAiNode("aiChamMiddleFlow2Temp", node, ioModule);
- _aiSHFlowTemp = ParseAiNode("aiSHFlowTemp", node, ioModule);
- _aiChamTopFlowTemp = ParseAiNode("aiChamTopFlowTemp", node, ioModule);
- _aiChamMiddleFlowTemp = ParseAiNode("aiChamMiddleFlowTemp", node, ioModule);
- _aiChamBottomFlowTemp = ParseAiNode("aiChamBottomFlowTemp", node, ioModule);
- _aiBottomPlateFlowTemp = ParseAiNode("aiBottomPlateFlowTemp", node, ioModule);
- _aiPowerRod1FlowTemp = ParseAiNode("aiPowerRod1FlowTemp", node, ioModule);
- _aiPowerRod2FlowTemp = ParseAiNode("aiPowerRod2FlowTemp", node, ioModule);
- _aiElectrodeWFlowTemp = ParseAiNode("aiElectrodeWFlowTemp", node, ioModule);
- _aiTMPump1FlowTemp = ParseAiNode("aiTMPump1FlowTemp", node, ioModule);
- _aiTMPump2FlowTemp = ParseAiNode("aiTMPump2FlowTemp", node, ioModule);
- _aiTransformerFlowTemp = ParseAiNode("aiTransformerFlowTemp", node, ioModule);
- _aiForelineFlowTemp = ParseAiNode("aiForelineFlowTemp", node, ioModule);
- _aiTMTopLidTemp = ParseAiNode("aiTMTopLidTemp", node, ioModule);
- _aiTMBufferFlowTemp = ParseAiNode("aiTMBufferFlowTemp", node, ioModule);
-
_swTimer.Start();
}