Merge branch 'develop' of http://112.124.35.216:65000/Sic-Software/MoS2 into develop

# Conflicts:
#	App/SicSimulator/Instances/SimulatorSystem.cs
This commit is contained in:
SIC1016\caipeilun 2026-08-19 10:27:39 +08:00
commit 1fc2f27485
11 changed files with 96 additions and 70 deletions

View File

@ -457,7 +457,7 @@
<IoSensor id="SensorScrubberIntlkSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_ScrubberIntlkSW" infoText="" warningText="" alarmText="Alarm27 Scrubber System Error [DI-41]" /> <IoSensor id="SensorScrubberIntlkSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_ScrubberIntlkSW" infoText="" warningText="" alarmText="Alarm27 Scrubber System Error [DI-41]" />
<IoSensor id="SensorFacilityIntlkSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_FacilityIntlkSW" infoText="" warningText="" alarmText="Alarm28 Facility Error [DI-42]" /> <IoSensor id="SensorFacilityIntlkSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_FacilityIntlkSW" infoText="" warningText="" alarmText="Alarm28 Facility Error [DI-42]" />
<IoSensor id="SensorPMH2SeDetector2SW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_PMH2SeDetector2SW" infoText="" warningText="" alarmText="Alarm29 PMH2Se Leak Detect2 [DI-43]" /> <IoSensor id="SensorPMH2SeDetector2SW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_PMH2SeDetector2SW" infoText="" warningText="" alarmText="Alarm29 PMH2Se Leak Detect2 [DI-43]" />
<IoSensor id="SensorPMSO2Detector2SW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_PMSO2Detector2SW" infoText="" warningText="" alarmText="Alarm30 PMSO2 Leak Detect2 [DI-43]" /> <IoSensor id="SensorPMSO2Detector2SW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_PMSO2Detector2SW" infoText="" warningText="" alarmText="Alarm30 PMSO2 Leak Detect2 [DI-44]" />
<IoSensor id="SensorServoDriverFaultSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_ServoDriverFaultSW" infoText="" warningText="" alarmText="Alarm31 Rotation Servo Driver Error [DI-45]" /> <IoSensor id="SensorServoDriverFaultSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_ServoDriverFaultSW" infoText="" warningText="" alarmText="Alarm31 Rotation Servo Driver Error [DI-45]" />
<IoSensor id="SensorChamMiddleFlow2SW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_ChamMiddleFlow2SW" infoText="" warningText="" alarmText="Alarm32 Chamber Middle2 Cooling Water Flow Abnormal U4[DI-46]" /> <IoSensor id="SensorChamMiddleFlow2SW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_ChamMiddleFlow2SW" infoText="" warningText="" alarmText="Alarm32 Chamber Middle2 Cooling Water Flow Abnormal U4[DI-46]" />
<IoSensor id="SensorSpare2FlowSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_Spare2FlowSW" infoText="" warningText="Warning8 Spare2 Flow Low -U13 [DI-47]" alarmText="" /> <IoSensor id="SensorSpare2FlowSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_Spare2FlowSW" infoText="" warningText="Warning8 Spare2 Flow Low -U13 [DI-47]" alarmText="" />
@ -466,7 +466,7 @@
<IoSensor id="SensorConfinementRingDown" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="true" di="DI_ConfinementRingDown" infoText="Information8 Confinement Ring At Down position [DI-50]" warningText="" alarmText="" /> <IoSensor id="SensorConfinementRingDown" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="true" di="DI_ConfinementRingDown" infoText="Information8 Confinement Ring At Down position [DI-50]" warningText="" alarmText="" />
<IoSensor id="SensorPMGasDetectorFault2SW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_PMGasDetectorFault2SW" infoText="" warningText="" alarmText="Alarm33 PMGasDetectorFault2 [DI-51]" /> <IoSensor id="SensorPMGasDetectorFault2SW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_PMGasDetectorFault2SW" infoText="" warningText="" alarmText="Alarm33 PMGasDetectorFault2 [DI-51]" />
<IoSensor id="SensorPMSO2Detector1SW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_PMSO2Detector1SW" infoText="" warningText="" alarmText="Alarm34 PMSO2Leak Detect1 [DI-52]" /> <IoSensor id="SensorPMSO2Detector1SW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_PMSO2Detector1SW" infoText="" warningText="" alarmText="Alarm34 PMSO2Leak Detect1 [DI-52]" />
<IoSensor id="SensorGN2InletPressSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="true" di="DI_GN2InletPressSW" infoText="" warningText="" alarmText="Alarm35 Gasbox N2 Pressure Low [DI-55]" /> <IoSensor id="SensorGN2InletPressSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_GN2InletPressSW" infoText="" warningText="" alarmText="Alarm35 Gasbox N2 Pressure Low [DI-55]" />
<IoSensor id="SensorGBH2SDetectorSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_GBH2SDetectorSW" infoText="" warningText="" alarmText="Alarm36 GBH2S Leak Detect1 [DI-56]" /> <IoSensor id="SensorGBH2SDetectorSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_GBH2SDetectorSW" infoText="" warningText="" alarmText="Alarm36 GBH2S Leak Detect1 [DI-56]" />
<IoSensor id="SensorGBH2SeDetectorSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_GBH2SeDetectorSW" infoText="" warningText="" alarmText="Alarm37 GBH2Se Leak Detect1 [DI-57]" /> <IoSensor id="SensorGBH2SeDetectorSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_GBH2SeDetectorSW" infoText="" warningText="" alarmText="Alarm37 GBH2Se Leak Detect1 [DI-57]" />
<IoSensor id="SensorGBSmokeDetectorSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_GBSmokeDetectorSW" infoText="" warningText="" alarmText="Alarm38 GBSmokeDetector [DI-58]" /> <IoSensor id="SensorGBSmokeDetectorSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_GBSmokeDetectorSW" infoText="" warningText="" alarmText="Alarm38 GBSmokeDetector [DI-58]" />

View File

@ -137,7 +137,6 @@
</IoTempMeters> </IoTempMeters>
<IoLift4s classType="Aitex.Core.RT.Device.Unit.IoLift4" assembly="MECF.Framework.RT.EquipmentLibrary"> <IoLift4s classType="Aitex.Core.RT.Device.Unit.IoLift4" assembly="MECF.Framework.RT.EquipmentLibrary">
<IoLift4 id="LLLift" module="LoadLock" display="LLLift" schematicId="LLLift" unit="" aioType="" diUp="DI_LoadLockWaferCYUPFB" diDown="DI_LoadLockWaferCYDownFB" doUp="DO_LoadLockWaferCYUP" doDown="DO_LoadLockWaferCYDown" scTimeout="10"/> <IoLift4 id="LLLift" module="LoadLock" display="LLLift" schematicId="LLLift" unit="" aioType="" diUp="DI_LoadLockWaferCYUPFB" diDown="DI_LoadLockWaferCYDownFB" doUp="DO_LoadLockWaferCYUP" doDown="DO_LoadLockWaferCYDown" scTimeout="10"/>
<IoLift4 id="LoadLidLock" module="LoadLock" display="LoadLidLock" schematicId="LoadLidLock" unit="" aioType="" diUp="DI_LoadLidLocked" diDown="DI_LoadLidUnlocked" doUp="DO_LoadLidLock" doDown="DO_LoadLidUnlock" scTimeout="10" />
</IoLift4s> </IoLift4s>
<TMRobots assembly="SicModules" classType="SicModules.TMs.SicTMRobot"> <TMRobots assembly="SicModules" classType="SicModules.TMs.SicTMRobot">
<TMRobot id="TMRobot" module="TMRobot" display="" schematicId="" unit="" /> <TMRobot id="TMRobot" module="TMRobot" display="" schematicId="" unit="" />

View File

@ -345,21 +345,22 @@ namespace SicModules.UnLoads
});*/ });*/
DATA.Subscribe($"{Name}.UnderVAC", () => DATA.Subscribe($"{Name}.UnderVAC", () =>
{ {
if (_unLoadDevice.CheckVacuum()) if(_unLoadDevice != null)
{ {
return true; return _unLoadDevice.CheckVacuum();
} }
return false; return false;
}); });
DATA.Subscribe($"{Name}.LidState", () => DATA.Subscribe($"{Name}.LidState", () =>
{ {
if (_unLoadDevice.CheckLidClose()) if(_unLoadDevice != null)
{ {
return "Closed"; return _unLoadDevice.CheckLidClose() ? "Closed" : "Open";
} }
return "Open";
return "Closed";
}); });
} }

View File

@ -51,7 +51,7 @@ using System.Windows;
// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号 // 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号
// 方法是按如下所示使用“*”: : // 方法是按如下所示使用“*”: :
[assembly: AssemblyVersion("1.1.0.60818")] [assembly: AssemblyVersion("1.1.0.60819")]
[assembly: AssemblyInformationalVersion("MoS2无EFEM")] [assembly: AssemblyInformationalVersion("MoS2无EFEM")]

View File

@ -299,38 +299,57 @@ namespace SicSimulator.Instances
IO.DO[$"{mod}.DO_ChamBottomFlowTemp"].Value = true; 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_PowerRod1FlowTemp"].Value = true;
IO.DO[$"{mod}.DO_PowerRod2FlowTemp"].Value = true; IO.DO[$"{mod}.DO_PowerRod2FlowTemp"].Value = true;
IO.DO[$"{mod}.DO_ElectrodeWFlowTemp"].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_TransformerFlowTemp"].Value = true;
IO.DO[$"{mod}.DO_HeaterEnable"].Value = true; IO.DO[$"{mod}.DO_HeaterEnable"].Value = true;
IO.DO[$"{mod}.DO_EPV2"].Value = true; IO.DO[$"{mod}.DO_EPV2"].Value = true;
IO.DO[$"{mod}.DO_Foreline1FlowTemp"].Value = true; IO.DO[$"{mod}.DO_Foreline1FlowTemp"].Value = true;
IO.DO[$"{mod}.DO_Foreline2FlowTemp"].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) private void SetWaterTemp(string mod)
{ {
#region Water Flow #region Water Flow
IO.AI[$"{mod}.AI_ChamMiddleFlow2Temp"].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_SHFlowTemp"].Value = (float)(WaterTempBase + _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_ChamTopFlowTemp"].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_ChamMiddleFlow1Temp"].Value = (float)(WaterTempBase + _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_ChamBottomFlowTemp"].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_Foreline2FlowTemp"].Value = (float)(WaterTempBase + _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_PowerRod1FlowTemp"].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_PowerRod2FlowTemp"].Value = (float)(WaterTempBase + _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_Foreline1FlowTemp"].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_ElectrodeWFlowTemp"].Value = (float)(WaterTempBase + _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_TMPump1FlowTemp"].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_TransformerFlowTemp"].Value = (float)(WaterTempBase + _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_Spare1Temp"].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_Spare2Temp"].Value = (float)(WaterTempBase + _rnd.NextDouble()); ;
//IO.AI[$"{mod}.AI_SpareFlowTemp"].Value = (float)(WaterTempBase * _rnd.NextDouble()); ; //IO.AI[$"{mod}.AI_SpareFlowTemp"].Value = (float)(WaterTempBase * _rnd.NextDouble()); ;
#endregion Water Flow #endregion Water Flow

View File

@ -243,16 +243,17 @@ namespace SicUI.Controls.M2C4Parts
StartPosition= new RobotPosition() StartPosition= new RobotPosition()
{ {
Z=0, Z=0,
Root = 100, Root = 99,
Arm = 240, Arm = 240,
Hand = -110 Hand = 240
}, },
EndPosition= new RobotPosition() EndPosition= new RobotPosition()
{ {
Root =238, Root = 239,
Arm = 0, Arm = 0,
Hand = 0 Hand = 360
} }
} }
}, },
{ "ArmA.PM2",new StationPosition() //ArmA.ReactorB { "ArmA.PM2",new StationPosition() //ArmA.ReactorB
@ -260,15 +261,15 @@ namespace SicUI.Controls.M2C4Parts
StartPosition= new RobotPosition() StartPosition= new RobotPosition()
{ {
Z=0, Z=0,
Root = 60, Root = 10,
Arm = 120, Arm = 194,
Hand = 130 Hand = 99
}, },
EndPosition= new RobotPosition() EndPosition= new RobotPosition()
{ {
Root = -54, Root = -58,
Arm = 360, Arm = 360,
Hand = 0 Hand = 0
} }
} }
}, },
@ -277,15 +278,15 @@ namespace SicUI.Controls.M2C4Parts
StartPosition= new RobotPosition() StartPosition= new RobotPosition()
{ {
Z=0, Z=0,
Root = 5, Root = 80,
Arm = 240, Arm = 190,
Hand = -110 Hand = 100
}, },
EndPosition= new RobotPosition() EndPosition= new RobotPosition()
{ {
Root = 137, Root = 13,
Arm = 0, Arm = 360,
Hand = 0 Hand = 0
} }
} }
}, },
@ -294,7 +295,7 @@ namespace SicUI.Controls.M2C4Parts
StartPosition= new RobotPosition() StartPosition= new RobotPosition()
{ {
Z=0, Z=0,
Root =27, Root =27,
Arm = 240, Arm = 240,
Hand = 240 Hand = 240
}, },
@ -311,15 +312,15 @@ namespace SicUI.Controls.M2C4Parts
StartPosition= new RobotPosition() StartPosition= new RobotPosition()
{ {
Z=0, Z=0,
Root = 170, Root =-45,
Arm = 120, Arm = 240,
Hand = 120 Hand = 240
}, },
EndPosition= new RobotPosition() EndPosition= new RobotPosition()
{ {
Root = 47, Root = 90,
Arm = 360, Arm = 0,
Hand = 0 Hand = 360
} }
} }
}, },

View File

@ -1374,15 +1374,20 @@ namespace SicUI.Client
if (menuInfo.System is "PM1" or "PM2") if (menuInfo.System is "PM1" or "PM2")
{ {
var rect = FindVisualChildByName<Rectangle>(container, "InnerBG"); var rect = FindVisualChildByName<Rectangle>(container, "InnerBG");
rect.Fill = menuInfo.Selected if(rect != null)
{
rect.Fill = menuInfo.Selected
? BgActiveContent ? BgActiveContent
: new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF346294")); : new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF346294"));
}
var bgBorder = FindVisualChildByName<Border>(container, "BG"); var bgBorder = FindVisualChildByName<Border>(container, "BG");
bgBorder.Background = menuInfo.Selected if (bgBorder != null)
? BgActiveContent {
: new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF346294")); bgBorder.Background = menuInfo.Selected
? BgActiveContent
: new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF346294"));
}
} }
} }
} }

View File

@ -12,6 +12,7 @@ using System.Windows.Media;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
using System.Windows.Navigation; using System.Windows.Navigation;
using System.Windows.Shapes; using System.Windows.Shapes;
using System.Windows.Threading;
namespace SicUI.Models.PMs namespace SicUI.Models.PMs
{ {
@ -23,6 +24,8 @@ namespace SicUI.Models.PMs
public PMOperationView() public PMOperationView()
{ {
InitializeComponent(); InitializeComponent();
Loaded += (s, e) => Dispatcher.BeginInvoke(DispatcherPriority.Background,
new Action(() => (s as FrameworkElement)?.UpdateLayout()));
} }

View File

@ -1157,7 +1157,12 @@ namespace SicUI.Models.PMs
private void GetSC() 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"); TMAEnable = (bool)QueryDataClient.Instance.Service.GetConfig($"PM.{Module}.TMAEnable");
CarbonSource = (string)QueryDataClient.Instance.Service.GetConfig($"PM.{Module}.CarbonSource"); CarbonSource = (string)QueryDataClient.Instance.Service.GetConfig($"PM.{Module}.CarbonSource");

View File

@ -55,6 +55,6 @@ using System.Windows;
// by using the '*' as shown below: // by using the '*' as shown below:
[assembly: AssemblyVersion("1.1.0.60818")] [assembly: AssemblyVersion("1.1.0.60819")]
[assembly: AssemblyInformationalVersion("MoS2无EFEM")] [assembly: AssemblyInformationalVersion("MoS2无EFEM")]

View File

@ -1230,14 +1230,14 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Robots.SiasunPhoenixB
//TM从UnLoad只能取石墨盘 //TM从UnLoad只能取石墨盘
if (sourcemodule == ModuleName.UnLoad) if (sourcemodule == ModuleName.UnLoad)
{ {
if (_unloadWaferClaw.State == ClawStateEnum.Clamp) //if (_unloadWaferClaw.State == ClawStateEnum.Clamp)
{ //{
WaferManager.Instance.TrayMoved(sourcemodule, SourceslotIndex, RobotModuleName, 0); // WaferManager.Instance.TrayMoved(sourcemodule, SourceslotIndex, RobotModuleName, 0);
} //}
else //else
{ //{
WaferManager.Instance.WaferTrayMoved(sourcemodule, SourceslotIndex, RobotModuleName, 0); // WaferManager.Instance.WaferTrayMoved(sourcemodule, SourceslotIndex, RobotModuleName, 0);
} //}
} }
else else
{ {
@ -1245,14 +1245,7 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Robots.SiasunPhoenixB
{ {
if (arm == RobotArmEnum.Blade1) if (arm == RobotArmEnum.Blade1)
{ {
if (_llWaferClaw.State == ClawStateEnum.Clamp && (sourcemodule == ModuleName.LoadLock || sourcemodule == ModuleName.Load)) WaferManager.Instance.WaferTrayMoved(sourcemodule, SourceslotIndex, RobotModuleName, 0);
{
WaferManager.Instance.TrayMoved(sourcemodule, SourceslotIndex, RobotModuleName, 0);
}
else
{
WaferManager.Instance.WaferTrayMoved(sourcemodule, SourceslotIndex, RobotModuleName, 0);
}
} }
if (arm == RobotArmEnum.Blade2) if (arm == RobotArmEnum.Blade2)