diff --git a/App/Modules/SicModules/Config/PM/PM1/DeviceModelPM1.xml b/App/Modules/SicModules/Config/PM/PM1/DeviceModelPM1.xml index f6374e7..99a90e8 100644 --- a/App/Modules/SicModules/Config/PM/PM1/DeviceModelPM1.xml +++ b/App/Modules/SicModules/Config/PM/PM1/DeviceModelPM1.xml @@ -457,7 +457,7 @@ - + @@ -466,7 +466,7 @@ - + diff --git a/App/Modules/SicModules/Config/TM/DeviceModelSystem.xml b/App/Modules/SicModules/Config/TM/DeviceModelSystem.xml index 092aa09..7d66dbb 100644 --- a/App/Modules/SicModules/Config/TM/DeviceModelSystem.xml +++ b/App/Modules/SicModules/Config/TM/DeviceModelSystem.xml @@ -137,7 +137,6 @@ - diff --git a/App/Modules/SicModules/UnLoads/UnLoadModule.cs b/App/Modules/SicModules/UnLoads/UnLoadModule.cs index 98c8b2a..0ccadd5 100644 --- a/App/Modules/SicModules/UnLoads/UnLoadModule.cs +++ b/App/Modules/SicModules/UnLoads/UnLoadModule.cs @@ -345,21 +345,22 @@ namespace SicModules.UnLoads });*/ DATA.Subscribe($"{Name}.UnderVAC", () => { - if (_unLoadDevice.CheckVacuum()) + if(_unLoadDevice != null) { - return true; + return _unLoadDevice.CheckVacuum(); } + return false; }); DATA.Subscribe($"{Name}.LidState", () => { - if (_unLoadDevice.CheckLidClose()) + if(_unLoadDevice != null) { - return "Closed"; + return _unLoadDevice.CheckLidClose() ? "Closed" : "Open"; } - return "Open"; + return "Closed"; }); } diff --git a/App/SicRT/Properties/AssemblyInfo.cs b/App/SicRT/Properties/AssemblyInfo.cs index fd7d47c..a889842 100644 --- a/App/SicRT/Properties/AssemblyInfo.cs +++ b/App/SicRT/Properties/AssemblyInfo.cs @@ -51,7 +51,7 @@ using System.Windows; // 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号 // 方法是按如下所示使用“*”: : -[assembly: AssemblyVersion("1.1.0.60818")] +[assembly: AssemblyVersion("1.1.0.60819")] [assembly: AssemblyInformationalVersion("MoS2(无EFEM)")] diff --git a/App/SicSimulator/Instances/SimulatorSystem.cs b/App/SicSimulator/Instances/SimulatorSystem.cs index 50d7016..30da2f2 100644 --- a/App/SicSimulator/Instances/SimulatorSystem.cs +++ b/App/SicSimulator/Instances/SimulatorSystem.cs @@ -299,38 +299,57 @@ namespace SicSimulator.Instances IO.DO[$"{mod}.DO_ChamBottomFlowTemp"].Value = true; + IO.DO[$"{mod}.DO_Foreline1FlowTemp"].Value = true; IO.DO[$"{mod}.DO_PowerRod1FlowTemp"].Value = true; IO.DO[$"{mod}.DO_PowerRod2FlowTemp"].Value = true; IO.DO[$"{mod}.DO_ElectrodeWFlowTemp"].Value = true; + IO.DO[$"{mod}.DO_Foreline2FlowTemp"].Value = true; IO.DO[$"{mod}.DO_TransformerFlowTemp"].Value = true; 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; + IO.DI[$"{mod}.DI_PMGasDetectorSW"].Value = true; + IO.DI[$"{mod}.DI_GBGasDetectorSW"].Value = true; + + 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_PMH2SDetector2SW"].Value = true; + + IO.DI[$"{mod}.DI_GN2InletPressSW"].Value = true; + IO.DI[$"{mod}.DI_GBH2SDetectorSW"].Value = true; + IO.DI[$"{mod}.DI_GBH2SeDetectorSW"].Value = true; + IO.DI[$"{mod}.DI_PMSmokeDetectorSW"].Value = true; + } private void SetWaterTemp(string mod) { #region Water Flow - IO.AI[$"{mod}.AI_ChamMiddleFlow2Temp"].Value = (float)(WaterTempBase * _rnd.NextDouble()); ; - IO.AI[$"{mod}.AI_SHFlowTemp"].Value = (float)(WaterTempBase * _rnd.NextDouble()); ; - IO.AI[$"{mod}.AI_ChamTopFlowTemp"].Value = (float)(WaterTempBase * _rnd.NextDouble()); ; - IO.AI[$"{mod}.AI_ChamMiddleFlow1Temp"].Value = (float)(WaterTempBase * _rnd.NextDouble()); ; - IO.AI[$"{mod}.AI_ChamBottomFlowTemp"].Value = (float)(WaterTempBase * _rnd.NextDouble()); ; - IO.AI[$"{mod}.AI_Foreline2FlowTemp"].Value = (float)(WaterTempBase * _rnd.NextDouble()); ; - IO.AI[$"{mod}.AI_PowerRod1FlowTemp"].Value = (float)(WaterTempBase * _rnd.NextDouble()); ; - IO.AI[$"{mod}.AI_PowerRod2FlowTemp"].Value = (float)(WaterTempBase * _rnd.NextDouble()); ; - IO.AI[$"{mod}.AI_Foreline1FlowTemp"].Value = (float)(WaterTempBase * _rnd.NextDouble()); ; - IO.AI[$"{mod}.AI_ElectrodeWFlowTemp"].Value = (float)(WaterTempBase * _rnd.NextDouble()); ; - IO.AI[$"{mod}.AI_TMPump1FlowTemp"].Value = (float)(WaterTempBase * _rnd.NextDouble()); ; - IO.AI[$"{mod}.AI_TransformerFlowTemp"].Value = (float)(WaterTempBase * _rnd.NextDouble()); ; - IO.AI[$"{mod}.AI_Spare1Temp"].Value = (float)(WaterTempBase * _rnd.NextDouble()); ; - IO.AI[$"{mod}.AI_Spare2Temp"].Value = (float)(WaterTempBase * _rnd.NextDouble()); ; + IO.AI[$"{mod}.AI_ChamMiddleFlow2Temp"].Value = (float)(WaterTempBase + _rnd.NextDouble()); ; + IO.AI[$"{mod}.AI_SHFlowTemp"].Value = (float)(WaterTempBase + _rnd.NextDouble()); ; + IO.AI[$"{mod}.AI_ChamTopFlowTemp"].Value = (float)(WaterTempBase + _rnd.NextDouble()); ; + IO.AI[$"{mod}.AI_ChamMiddleFlow1Temp"].Value = (float)(WaterTempBase + _rnd.NextDouble()); ; + IO.AI[$"{mod}.AI_ChamBottomFlowTemp"].Value = (float)(WaterTempBase + _rnd.NextDouble()); ; + IO.AI[$"{mod}.AI_Foreline2FlowTemp"].Value = (float)(WaterTempBase + _rnd.NextDouble()); ; + IO.AI[$"{mod}.AI_PowerRod1FlowTemp"].Value = (float)(WaterTempBase + _rnd.NextDouble()); ; + IO.AI[$"{mod}.AI_PowerRod2FlowTemp"].Value = (float)(WaterTempBase + _rnd.NextDouble()); ; + IO.AI[$"{mod}.AI_Foreline1FlowTemp"].Value = (float)(WaterTempBase + _rnd.NextDouble()); ; + IO.AI[$"{mod}.AI_ElectrodeWFlowTemp"].Value = (float)(WaterTempBase + _rnd.NextDouble()); ; + IO.AI[$"{mod}.AI_TMPump1FlowTemp"].Value = (float)(WaterTempBase + _rnd.NextDouble()); ; + IO.AI[$"{mod}.AI_TransformerFlowTemp"].Value = (float)(WaterTempBase + _rnd.NextDouble()); ; + IO.AI[$"{mod}.AI_Spare1Temp"].Value = (float)(WaterTempBase + _rnd.NextDouble()); ; + IO.AI[$"{mod}.AI_Spare2Temp"].Value = (float)(WaterTempBase + _rnd.NextDouble()); ; //IO.AI[$"{mod}.AI_SpareFlowTemp"].Value = (float)(WaterTempBase * _rnd.NextDouble()); ; #endregion Water Flow diff --git a/App/SicUI/Controls/Mainframe/AtmRobotMultiLP.xaml.cs b/App/SicUI/Controls/Mainframe/AtmRobotMultiLP.xaml.cs index 021a0c3..6f2baaf 100644 --- a/App/SicUI/Controls/Mainframe/AtmRobotMultiLP.xaml.cs +++ b/App/SicUI/Controls/Mainframe/AtmRobotMultiLP.xaml.cs @@ -243,16 +243,17 @@ namespace SicUI.Controls.M2C4Parts StartPosition= new RobotPosition() { Z=0, - Root = 100, + Root = 99, Arm = 240, - Hand = -110 + Hand = 240 }, EndPosition= new RobotPosition() { - Root =238, - Arm = 0, - Hand = 0 + Root = 239, + Arm = 0, + Hand = 360 } + } }, { "ArmA.PM2",new StationPosition() //ArmA.ReactorB @@ -260,15 +261,15 @@ namespace SicUI.Controls.M2C4Parts StartPosition= new RobotPosition() { Z=0, - Root = 60, - Arm = 120, - Hand = 130 + Root = 10, + Arm = 194, + Hand = 99 }, EndPosition= new RobotPosition() { - Root = -54, - Arm = 360, - Hand = 0 + Root = -58, + Arm = 360, + Hand = 0 } } }, @@ -277,15 +278,15 @@ namespace SicUI.Controls.M2C4Parts StartPosition= new RobotPosition() { Z=0, - Root = 5, - Arm = 240, - Hand = -110 + Root = 80, + Arm = 190, + Hand = 100 }, EndPosition= new RobotPosition() { - Root = 137, - Arm = 0, - Hand = 0 + Root = 13, + Arm = 360, + Hand = 0 } } }, @@ -294,7 +295,7 @@ namespace SicUI.Controls.M2C4Parts StartPosition= new RobotPosition() { Z=0, - Root =27, + Root =27, Arm = 240, Hand = 240 }, @@ -311,15 +312,15 @@ namespace SicUI.Controls.M2C4Parts StartPosition= new RobotPosition() { Z=0, - Root = 170, - Arm = 120, - Hand = 120 + Root =-45, + Arm = 240, + Hand = 240 }, EndPosition= new RobotPosition() { - Root = 47, - Arm = 360, - Hand = 0 + Root = 90, + Arm = 0, + Hand = 360 } } }, diff --git a/App/SicUI/MainViewModel.cs b/App/SicUI/MainViewModel.cs index 4cfb734..73a9e78 100644 --- a/App/SicUI/MainViewModel.cs +++ b/App/SicUI/MainViewModel.cs @@ -1374,15 +1374,20 @@ namespace SicUI.Client if (menuInfo.System is "PM1" or "PM2") { var rect = FindVisualChildByName(container, "InnerBG"); - rect.Fill = menuInfo.Selected + if(rect != null) + { + rect.Fill = menuInfo.Selected ? BgActiveContent : new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF346294")); + } var bgBorder = FindVisualChildByName(container, "BG"); - bgBorder.Background = menuInfo.Selected - ? BgActiveContent - : new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF346294")); - + if (bgBorder != null) + { + bgBorder.Background = menuInfo.Selected + ? BgActiveContent + : new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF346294")); + } } } } diff --git a/App/SicUI/Models/PMs/PMOperationView.xaml.cs b/App/SicUI/Models/PMs/PMOperationView.xaml.cs index 2631077..cb83d91 100644 --- a/App/SicUI/Models/PMs/PMOperationView.xaml.cs +++ b/App/SicUI/Models/PMs/PMOperationView.xaml.cs @@ -12,6 +12,7 @@ using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; +using System.Windows.Threading; namespace SicUI.Models.PMs { @@ -23,6 +24,8 @@ namespace SicUI.Models.PMs public PMOperationView() { InitializeComponent(); + Loaded += (s, e) => Dispatcher.BeginInvoke(DispatcherPriority.Background, + new Action(() => (s as FrameworkElement)?.UpdateLayout())); } diff --git a/App/SicUI/Models/PMs/PMOperationViewModel.cs b/App/SicUI/Models/PMs/PMOperationViewModel.cs index 9eeaf0d..6901d5d 100644 --- a/App/SicUI/Models/PMs/PMOperationViewModel.cs +++ b/App/SicUI/Models/PMs/PMOperationViewModel.cs @@ -1157,7 +1157,12 @@ namespace SicUI.Models.PMs private void GetSC() { - Mfc5IsInstalled = (bool)QueryDataClient.Instance.Service.GetConfig($"PM.{Module}.MFC.Mfc5.IsInstalled"); + var mfc5IsInstalled = QueryDataClient.Instance.Service.GetConfig($"PM.{Module}.MFC.Mfc5.IsInstalled"); + if (mfc5IsInstalled != null) + { + Mfc5IsInstalled = (bool)QueryDataClient.Instance.Service.GetConfig($"PM.{Module}.MFC.Mfc5.IsInstalled"); + } + TMAEnable = (bool)QueryDataClient.Instance.Service.GetConfig($"PM.{Module}.TMAEnable"); CarbonSource = (string)QueryDataClient.Instance.Service.GetConfig($"PM.{Module}.CarbonSource"); diff --git a/App/SicUI/Properties/AssemblyInfo.cs b/App/SicUI/Properties/AssemblyInfo.cs index 2c73fad..6808584 100644 --- a/App/SicUI/Properties/AssemblyInfo.cs +++ b/App/SicUI/Properties/AssemblyInfo.cs @@ -55,6 +55,6 @@ using System.Windows; // by using the '*' as shown below: -[assembly: AssemblyVersion("1.1.0.60818")] +[assembly: AssemblyVersion("1.1.0.60819")] [assembly: AssemblyInformationalVersion("MoS2(无EFEM)")] diff --git a/Framework/MECF.Framework.RT.EquipmentLibrary/HardwareUnits/Robots/SiasunPhoenixB/RobotSiasunPhoenixB.cs b/Framework/MECF.Framework.RT.EquipmentLibrary/HardwareUnits/Robots/SiasunPhoenixB/RobotSiasunPhoenixB.cs index 9e6644c..3f8504c 100644 --- a/Framework/MECF.Framework.RT.EquipmentLibrary/HardwareUnits/Robots/SiasunPhoenixB/RobotSiasunPhoenixB.cs +++ b/Framework/MECF.Framework.RT.EquipmentLibrary/HardwareUnits/Robots/SiasunPhoenixB/RobotSiasunPhoenixB.cs @@ -1230,14 +1230,14 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Robots.SiasunPhoenixB //TM从UnLoad只能取石墨盘 if (sourcemodule == ModuleName.UnLoad) { - if (_unloadWaferClaw.State == ClawStateEnum.Clamp) - { - WaferManager.Instance.TrayMoved(sourcemodule, SourceslotIndex, RobotModuleName, 0); - } - else - { - WaferManager.Instance.WaferTrayMoved(sourcemodule, SourceslotIndex, RobotModuleName, 0); - } + //if (_unloadWaferClaw.State == ClawStateEnum.Clamp) + //{ + // WaferManager.Instance.TrayMoved(sourcemodule, SourceslotIndex, RobotModuleName, 0); + //} + //else + //{ + // WaferManager.Instance.WaferTrayMoved(sourcemodule, SourceslotIndex, RobotModuleName, 0); + //} } else { @@ -1245,14 +1245,7 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Robots.SiasunPhoenixB { if (arm == RobotArmEnum.Blade1) { - if (_llWaferClaw.State == ClawStateEnum.Clamp && (sourcemodule == ModuleName.LoadLock || sourcemodule == ModuleName.Load)) - { - WaferManager.Instance.TrayMoved(sourcemodule, SourceslotIndex, RobotModuleName, 0); - } - else - { - WaferManager.Instance.WaferTrayMoved(sourcemodule, SourceslotIndex, RobotModuleName, 0); - } + WaferManager.Instance.WaferTrayMoved(sourcemodule, SourceslotIndex, RobotModuleName, 0); } if (arm == RobotArmEnum.Blade2)