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)