|
@@ -40,7 +40,7 @@ using ExcelLibrary.BinaryFileFormat;
|
|
|
|
|
|
namespace PunkHPX8_MainPages.ViewModels
|
|
|
{
|
|
|
- public class OperationOverViewModelNew : BindableBase
|
|
|
+ public class OperationOverNewViewModel : BindableBase
|
|
|
{
|
|
|
#region 常量
|
|
|
private const string CURRENT_STATION = "CurrentStation";
|
|
@@ -52,19 +52,14 @@ namespace PunkHPX8_MainPages.ViewModels
|
|
|
#region 私有字段
|
|
|
private bool _isLp1Unable;
|
|
|
private bool _isLp2Unable;
|
|
|
- private bool _isLp3Unable;
|
|
|
|
|
|
private ModuleInfo _LP1ModuleInfo;
|
|
|
private ModuleInfo _LP2ModuleInfo;
|
|
|
-
|
|
|
- private ModuleInfo _LP3ModuleInfo;
|
|
|
private ModuleInfo _EFEMModuleInfo;
|
|
|
private ModuleInfo _srd1ModuleInfo;
|
|
|
private ModuleInfo _srd2ModuleInfo;
|
|
|
private ModuleInfo _dummy1ModuleInfo;
|
|
|
private ModuleInfo _dummy2ModuleInfo;
|
|
|
-
|
|
|
- private ModuleInfo _loaderModuleInfo;
|
|
|
private WaferRobotTAction m_Robot1TAction;
|
|
|
private WaferRobotXAction m_Robot1XAction;
|
|
|
private WaferRobotTAction m_Robot2TAction;
|
|
@@ -77,18 +72,20 @@ namespace PunkHPX8_MainPages.ViewModels
|
|
|
|
|
|
private WaferInfo m_srd1Wafer;
|
|
|
private WaferInfo m_srd2Wafer;
|
|
|
- private WaferInfo m_loaderWaferA;
|
|
|
- private WaferInfo m_loaderWaferB;
|
|
|
private List<string> m_RtDataKeys = new List<string>();
|
|
|
private Dictionary<string, object> m_RtDataValues;
|
|
|
private bool m_EFEMIsInstalled;
|
|
|
- private bool m_loaderInstalled;
|
|
|
private WaferInfo m_EFEMBladeAWafer;
|
|
|
private WaferInfo m_EFEMBladeBWafer;
|
|
|
private WaferInfo m_Aligner1Wafer;
|
|
|
+ private WaferInfo m_vpw1Wafer;
|
|
|
+ private WaferInfo m_vpw2Wafer;
|
|
|
+ private WaferInfo m_platingCell1Wafer;
|
|
|
+ private WaferInfo m_platingCell2Wafer;
|
|
|
+ private WaferInfo m_platingCell3Wafer;
|
|
|
+ private WaferInfo m_platingCell4Wafer;
|
|
|
private int m_LP1WaferCount;
|
|
|
private int m_LP2WaferCount;
|
|
|
- private int m_LP3WaferCount;
|
|
|
private int m_dummy1WaferCount;
|
|
|
private int m_dummy2WaferCount;
|
|
|
|
|
@@ -96,68 +93,20 @@ namespace PunkHPX8_MainPages.ViewModels
|
|
|
private int m_CycleCountDisplay;
|
|
|
|
|
|
private EFEM.RobotPosition m_CurrentRobotPosition;
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// Loader的sideA开启状态
|
|
|
- /// </summary>
|
|
|
- private bool m_loaderWaferVisibleA = false;
|
|
|
- /// <summary>
|
|
|
- /// Loader的sideB开启状态
|
|
|
- /// </summary>
|
|
|
- private bool m_loaderWaferVisibleB = false;
|
|
|
|
|
|
private WaferInfo m_BladeAWafer;
|
|
|
private WaferInfo m_BladeBWafer;
|
|
|
|
|
|
- private string m_ATMModeIsOn;
|
|
|
-
|
|
|
private string m_RouteState;
|
|
|
/// <summary>
|
|
|
/// 定时器
|
|
|
/// </summary>
|
|
|
private DispatcherTimer _timer;
|
|
|
/// <summary>
|
|
|
- /// 定时器1
|
|
|
- /// </summary>
|
|
|
- private DispatcherTimer _timer1;
|
|
|
- /// <summary>
|
|
|
- /// Loader1 Rotation Axis
|
|
|
- /// </summary>
|
|
|
- private BeckhoffStationAxis _loader1RotationAxis;
|
|
|
- /// <summary>
|
|
|
- /// Loader1 TlitA Axis
|
|
|
- /// </summary>
|
|
|
- private BeckhoffStationAxis _loader1TiltAAxis;
|
|
|
- /// <summary>
|
|
|
- /// Loader1 TlitB Axis
|
|
|
- /// </summary>
|
|
|
- private BeckhoffStationAxis _loader1TiltBAxis;
|
|
|
- /// <summary>
|
|
|
- /// Loader1 Rotation实际位置数据
|
|
|
- /// </summary>
|
|
|
- private double _loader1RotationMotorPosition;
|
|
|
- /// <summary>
|
|
|
- /// Loader1 TiltA实际位置数据
|
|
|
- /// </summary>
|
|
|
- private double _loader1TiltAMotorPosition;
|
|
|
- /// <summary>
|
|
|
- /// Loader1 TiltB实际位置数据
|
|
|
- /// </summary>
|
|
|
- private double _loader1TiltBMotorPosition;
|
|
|
- /// <summary>
|
|
|
- /// Loader1 TiltA当前station
|
|
|
- /// </summary>
|
|
|
- private string _loaderTiltACurrentStation;
|
|
|
- /// <summary>
|
|
|
- /// Loader1 TiltB当前station
|
|
|
- /// </summary>
|
|
|
- private string _loaderTiltBCurrentStation;
|
|
|
- /// <summary>
|
|
|
/// 是否存在Job
|
|
|
/// </summary>
|
|
|
private bool _isLp1HasNoJob;
|
|
|
private bool _isLp2HasNoJob;
|
|
|
- private bool _isLp3HasNoJob;
|
|
|
#endregion
|
|
|
|
|
|
#region 属性
|
|
@@ -171,11 +120,6 @@ namespace PunkHPX8_MainPages.ViewModels
|
|
|
get { return _isLp2Unable; }
|
|
|
set { SetProperty(ref _isLp2Unable, value); }
|
|
|
}
|
|
|
- public bool IsLP3Unable
|
|
|
- {
|
|
|
- get { return _isLp3Unable; }
|
|
|
- set { SetProperty(ref _isLp3Unable, value); }
|
|
|
- }
|
|
|
public ModuleInfo LP1ModuleInfo
|
|
|
{
|
|
|
get { return _LP1ModuleInfo; }
|
|
@@ -192,12 +136,6 @@ namespace PunkHPX8_MainPages.ViewModels
|
|
|
get { return _LP2ModuleInfo; }
|
|
|
set { SetProperty(ref _LP2ModuleInfo, value); }
|
|
|
}
|
|
|
- public ModuleInfo LP3ModuleInfo
|
|
|
- {
|
|
|
- get { return _LP3ModuleInfo; }
|
|
|
- set { SetProperty(ref _LP3ModuleInfo, value); }
|
|
|
- }
|
|
|
-
|
|
|
public ModuleInfo SRD1ModuleInfo
|
|
|
{
|
|
|
get { return _srd1ModuleInfo; }
|
|
@@ -220,11 +158,6 @@ namespace PunkHPX8_MainPages.ViewModels
|
|
|
get { return _dummy2ModuleInfo; }
|
|
|
set { SetProperty(ref _dummy2ModuleInfo, value); }
|
|
|
}
|
|
|
- public ModuleInfo LoaderModuleInfo
|
|
|
- {
|
|
|
- get { return _loaderModuleInfo; }
|
|
|
- set { SetProperty(ref _loaderModuleInfo, value); }
|
|
|
- }
|
|
|
public WaferRobotTAction Robot1TAction
|
|
|
{
|
|
|
get { return m_Robot1TAction; }
|
|
@@ -297,17 +230,46 @@ namespace PunkHPX8_MainPages.ViewModels
|
|
|
get { return m_EFEMBladeBWafer; }
|
|
|
set { SetProperty(ref m_EFEMBladeBWafer, value); }
|
|
|
}
|
|
|
- public bool LoaderIsInstalled
|
|
|
- {
|
|
|
- get { return m_loaderInstalled; }
|
|
|
- set { SetProperty(ref m_loaderInstalled, value); }
|
|
|
- }
|
|
|
public WaferInfo Aligner1Wafer
|
|
|
{
|
|
|
get { return m_Aligner1Wafer; }
|
|
|
set { SetProperty(ref m_Aligner1Wafer, value); }
|
|
|
}
|
|
|
|
|
|
+ public WaferInfo VPW1Wafer
|
|
|
+ {
|
|
|
+ get { return m_vpw1Wafer; }
|
|
|
+ set { SetProperty(ref m_vpw1Wafer, value); }
|
|
|
+ }
|
|
|
+
|
|
|
+ public WaferInfo VPW2Wafer
|
|
|
+ {
|
|
|
+ get { return m_vpw2Wafer; }
|
|
|
+ set { SetProperty(ref m_vpw2Wafer, value); }
|
|
|
+ }
|
|
|
+
|
|
|
+ public WaferInfo PlatingCell1Wafer
|
|
|
+ {
|
|
|
+ get { return m_platingCell1Wafer; }
|
|
|
+ set { SetProperty(ref m_platingCell1Wafer, value); }
|
|
|
+ }
|
|
|
+
|
|
|
+ public WaferInfo PlatingCell2Wafer
|
|
|
+ {
|
|
|
+ get { return m_platingCell2Wafer; }
|
|
|
+ set { SetProperty(ref m_platingCell2Wafer, value); }
|
|
|
+ }
|
|
|
+ public WaferInfo PlatingCell3Wafer
|
|
|
+ {
|
|
|
+ get { return m_platingCell3Wafer; }
|
|
|
+ set { SetProperty(ref m_platingCell3Wafer, value); }
|
|
|
+ }
|
|
|
+ public WaferInfo PlatingCell4Wafer
|
|
|
+ {
|
|
|
+ get { return m_platingCell4Wafer; }
|
|
|
+ set { SetProperty(ref m_platingCell4Wafer, value); }
|
|
|
+ }
|
|
|
+
|
|
|
public WaferInfo SRD1Wafer
|
|
|
{
|
|
|
get { return m_srd1Wafer; }
|
|
@@ -319,16 +281,6 @@ namespace PunkHPX8_MainPages.ViewModels
|
|
|
get { return m_srd2Wafer; }
|
|
|
set { SetProperty(ref m_srd2Wafer, value); }
|
|
|
}
|
|
|
- public WaferInfo LoaderWaferA
|
|
|
- {
|
|
|
- get { return m_loaderWaferA; }
|
|
|
- set { SetProperty(ref m_loaderWaferA, value); }
|
|
|
- }
|
|
|
- public WaferInfo LoaderWaferB
|
|
|
- {
|
|
|
- get { return m_loaderWaferB; }
|
|
|
- set { SetProperty(ref m_loaderWaferB, value); }
|
|
|
- }
|
|
|
public int LP1WaferCount
|
|
|
{
|
|
|
get { return m_LP1WaferCount; }
|
|
@@ -339,11 +291,6 @@ namespace PunkHPX8_MainPages.ViewModels
|
|
|
get { return m_LP2WaferCount; }
|
|
|
set { SetProperty(ref m_LP2WaferCount, value); }
|
|
|
}
|
|
|
- public int LP3WaferCount
|
|
|
- {
|
|
|
- get { return m_LP3WaferCount; }
|
|
|
- set { SetProperty(ref m_LP3WaferCount, value); }
|
|
|
- }
|
|
|
public int Dummy1WaferCount
|
|
|
{
|
|
|
get { return m_dummy1WaferCount; }
|
|
@@ -392,95 +339,12 @@ namespace PunkHPX8_MainPages.ViewModels
|
|
|
get { return m_BladeBWafer; }
|
|
|
set { SetProperty(ref m_BladeBWafer, value); }
|
|
|
}
|
|
|
- public string ATMModeIsOn
|
|
|
- {
|
|
|
- get { return m_ATMModeIsOn; }
|
|
|
- set { SetProperty(ref m_ATMModeIsOn, value); }
|
|
|
- }
|
|
|
|
|
|
public string RouteState
|
|
|
{
|
|
|
get { return m_RouteState; }
|
|
|
set { SetProperty(ref m_RouteState, value); }
|
|
|
}
|
|
|
- /// <summary>
|
|
|
- /// Loader的sideA开启状态
|
|
|
- /// </summary>
|
|
|
- public bool LoaderWaferVisibleA
|
|
|
- {
|
|
|
- get { return m_loaderWaferVisibleA; }
|
|
|
- set { SetProperty(ref m_loaderWaferVisibleA, value); }
|
|
|
- }
|
|
|
- /// <summary>
|
|
|
- /// Loader的sideB开启状态
|
|
|
- /// </summary>
|
|
|
- public bool LoaderWaferVisibleB
|
|
|
- {
|
|
|
- get { return m_loaderWaferVisibleB; }
|
|
|
- set { SetProperty(ref m_loaderWaferVisibleB, value); }
|
|
|
- }
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// Loader1 Rotation Axis
|
|
|
- /// </summary>
|
|
|
- public BeckhoffStationAxis Loader1RotationAxis
|
|
|
- {
|
|
|
- get { return _loader1RotationAxis; }
|
|
|
- set { SetProperty(ref _loader1RotationAxis, value); }
|
|
|
- }
|
|
|
- /// <summary>
|
|
|
- /// Loader1 TiltA Axis
|
|
|
- /// </summary>
|
|
|
- public BeckhoffStationAxis Loader1TiltAAxis
|
|
|
- {
|
|
|
- get { return _loader1TiltAAxis; }
|
|
|
- set { SetProperty(ref _loader1TiltAAxis, value); }
|
|
|
- }
|
|
|
- /// <summary>
|
|
|
- /// Loader1 TiltB Axis
|
|
|
- /// </summary>
|
|
|
- public BeckhoffStationAxis Loader1TiltBAxis
|
|
|
- {
|
|
|
- get { return _loader1TiltBAxis; }
|
|
|
- set { SetProperty(ref _loader1TiltBAxis, value); }
|
|
|
- }
|
|
|
- /// <summary>
|
|
|
- /// Loader1 Rotation实际位置数据
|
|
|
- /// </summary>
|
|
|
- public double Loader1RotationMotorPosition
|
|
|
- {
|
|
|
- get { return _loader1RotationMotorPosition; }
|
|
|
- set { SetProperty(ref _loader1RotationMotorPosition, value); }
|
|
|
- }
|
|
|
- /// <summary>
|
|
|
- /// Loader1 TiltA实际位置数据
|
|
|
- /// </summary>
|
|
|
- public double Loader1TiltAMotorPosition
|
|
|
- {
|
|
|
- get { return _loader1TiltAMotorPosition; }
|
|
|
- set { SetProperty(ref _loader1TiltAMotorPosition, value); }
|
|
|
- }
|
|
|
- /// <summary>
|
|
|
- /// Loader1 TiltB实际位置数据
|
|
|
- /// </summary>
|
|
|
- public double Loader1TiltBMotorPosition
|
|
|
- {
|
|
|
- get { return _loader1TiltBMotorPosition; }
|
|
|
- set { SetProperty(ref _loader1TiltBMotorPosition, value); }
|
|
|
- }
|
|
|
- public string LoaderTiltACurrentStation
|
|
|
- {
|
|
|
- get { return _loaderTiltACurrentStation; }
|
|
|
- set { SetProperty(ref _loaderTiltACurrentStation, value); }
|
|
|
- }
|
|
|
- /// <summary>
|
|
|
- /// Loader TiltB当前station
|
|
|
- /// </summary>
|
|
|
- public string LoaderTiltBCurrentStation
|
|
|
- {
|
|
|
- get { return _loaderTiltBCurrentStation; }
|
|
|
- set { SetProperty(ref _loaderTiltBCurrentStation, value); }
|
|
|
- }
|
|
|
public bool IsLP1HasNoJob
|
|
|
{
|
|
|
get { return _isLp1HasNoJob; }
|
|
@@ -491,11 +355,6 @@ namespace PunkHPX8_MainPages.ViewModels
|
|
|
get { return _isLp2HasNoJob; }
|
|
|
set { SetProperty(ref _isLp2HasNoJob, value); }
|
|
|
}
|
|
|
- public bool IsLP3HasNoJob
|
|
|
- {
|
|
|
- get { return _isLp3HasNoJob; }
|
|
|
- set { SetProperty(ref _isLp3HasNoJob, value); }
|
|
|
- }
|
|
|
#endregion
|
|
|
|
|
|
#region 命令
|
|
@@ -559,12 +418,9 @@ namespace PunkHPX8_MainPages.ViewModels
|
|
|
#endregion
|
|
|
|
|
|
#region 构造函数
|
|
|
- public OperationOverViewModelNew()
|
|
|
+ public OperationOverNewViewModel()
|
|
|
{
|
|
|
addDataKeys();
|
|
|
-
|
|
|
- ATMModeIsOn = Convert.ToBoolean(QueryDataClient.Instance.Service.GetConfig("System.IsATMMode")) == true ? "ATM Mode On" : "ATM Mode Off";
|
|
|
-
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
@@ -580,7 +436,6 @@ namespace PunkHPX8_MainPages.ViewModels
|
|
|
{
|
|
|
List<string> allModules = CommonFunction.GetValue<List<string>>(allModulesDictionary, "System.InstalledModules");
|
|
|
EFEMIsInstalled = allModules.Contains("EFEM");
|
|
|
- LoaderIsInstalled = allModules.Contains(ModuleName.Loader1.ToString());
|
|
|
}
|
|
|
if (_timer == null)
|
|
|
{
|
|
@@ -589,14 +444,6 @@ namespace PunkHPX8_MainPages.ViewModels
|
|
|
_timer.Tick += Timer_Tick;
|
|
|
}
|
|
|
_timer.Start();
|
|
|
- if (_timer1 == null)
|
|
|
- {
|
|
|
- _timer1 = new DispatcherTimer();
|
|
|
- _timer1.Interval = TimeSpan.FromMilliseconds(50);
|
|
|
- _timer1.Tick += Timer1_Tick;
|
|
|
- }
|
|
|
- _timer1.Start();
|
|
|
-
|
|
|
RtDataValues = QueryDataClient.Instance.Service.PollData(m_RtDataKeys);
|
|
|
}
|
|
|
|
|
@@ -610,12 +457,6 @@ namespace PunkHPX8_MainPages.ViewModels
|
|
|
{
|
|
|
_timer.Stop();
|
|
|
}
|
|
|
- if (_timer1 != null)
|
|
|
- {
|
|
|
- _timer1.Stop();
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
}
|
|
|
|
|
|
private void OnMap(object obj)
|
|
@@ -722,15 +563,12 @@ namespace PunkHPX8_MainPages.ViewModels
|
|
|
|
|
|
LP1ModuleInfo = ModuleManager.ModuleInfos["LP1"];
|
|
|
LP2ModuleInfo = ModuleManager.ModuleInfos["LP2"];
|
|
|
- LP3ModuleInfo = ModuleManager.ModuleInfos["LP3"];
|
|
|
EFEMModuleInfo = ModuleManager.ModuleInfos["EfemRobot"];
|
|
|
SRD1ModuleInfo = ModuleManager.ModuleInfos["SRD1"];
|
|
|
SRD2ModuleInfo = ModuleManager.ModuleInfos["SRD2"];
|
|
|
Dummy1ModuleInfo = ModuleManager.ModuleInfos["Dummy1"];
|
|
|
Dummy2ModuleInfo = ModuleManager.ModuleInfos["Dummy2"];
|
|
|
|
|
|
- LoaderModuleInfo = ModuleManager.ModuleInfos["Loader1"];
|
|
|
-
|
|
|
if (ModuleManager.ModuleInfos["EfemRobot"].WaferManager.Wafers.Count != 0)
|
|
|
{
|
|
|
BladeAWafer = ModuleManager.ModuleInfos["EfemRobot"].WaferManager.Wafers[0];
|
|
@@ -747,6 +585,30 @@ namespace PunkHPX8_MainPages.ViewModels
|
|
|
Aligner1Wafer = ModuleManager.ModuleInfos["Aligner1"].WaferManager.Wafers[0];
|
|
|
}
|
|
|
}
|
|
|
+ if (ModuleManager.ModuleInfos["VPW1"].WaferManager.Wafers.Count != 0)
|
|
|
+ {
|
|
|
+ VPW1Wafer = ModuleManager.ModuleInfos["VPW1"].WaferManager.Wafers[0];
|
|
|
+ }
|
|
|
+ if (ModuleManager.ModuleInfos["VPW2"].WaferManager.Wafers.Count != 0)
|
|
|
+ {
|
|
|
+ VPW2Wafer = ModuleManager.ModuleInfos["VPW2"].WaferManager.Wafers[0];
|
|
|
+ }
|
|
|
+ if (ModuleManager.ModuleInfos["PlatingCell1"].WaferManager.Wafers.Count!=0)
|
|
|
+ {
|
|
|
+ PlatingCell1Wafer = ModuleManager.ModuleInfos["PlatingCell1"].WaferManager.Wafers[0];
|
|
|
+ }
|
|
|
+ if (ModuleManager.ModuleInfos["PlatingCell2"].WaferManager.Wafers.Count != 0)
|
|
|
+ {
|
|
|
+ PlatingCell2Wafer = ModuleManager.ModuleInfos["PlatingCell2"].WaferManager.Wafers[0];
|
|
|
+ }
|
|
|
+ if (ModuleManager.ModuleInfos["PlatingCell3"].WaferManager.Wafers.Count != 0)
|
|
|
+ {
|
|
|
+ PlatingCell3Wafer = ModuleManager.ModuleInfos["PlatingCell3"].WaferManager.Wafers[0];
|
|
|
+ }
|
|
|
+ if (ModuleManager.ModuleInfos["PlatingCell4"].WaferManager.Wafers.Count != 0)
|
|
|
+ {
|
|
|
+ PlatingCell4Wafer = ModuleManager.ModuleInfos["PlatingCell4"].WaferManager.Wafers[0];
|
|
|
+ }
|
|
|
if (SRD1ModuleInfo != null&& SRD1ModuleInfo.WaferManager.Wafers.Count!=0)
|
|
|
{
|
|
|
SRD1Wafer = SRD1ModuleInfo.WaferManager.Wafers[0];
|
|
@@ -755,22 +617,10 @@ namespace PunkHPX8_MainPages.ViewModels
|
|
|
{
|
|
|
SRD2Wafer = SRD2ModuleInfo.WaferManager.Wafers[0];
|
|
|
}
|
|
|
- if(LoaderIsInstalled&&LoaderModuleInfo!=null)
|
|
|
- {
|
|
|
- if (LoaderModuleInfo.WaferManager.Wafers.Count != 0)
|
|
|
- {
|
|
|
- LoaderWaferA = LoaderModuleInfo.WaferManager.Wafers[0];
|
|
|
- }
|
|
|
- if (LoaderModuleInfo.WaferManager.Wafers.Count != 0)
|
|
|
- {
|
|
|
- LoaderWaferB = LoaderModuleInfo.WaferManager.Wafers[1];
|
|
|
- }
|
|
|
- }
|
|
|
RobotMoveInfo = (RobotMoveInfo)QueryDataClient.Instance.Service.GetData("TM.RobotMoveAction");
|
|
|
EfemRobotMoveInfo = (RobotMoveInfo)QueryDataClient.Instance.Service.GetData("EFEM.RobotMoveAction");
|
|
|
LP1WaferCount = LP1ModuleInfo.WaferManager.Wafers.Where(x => x.WaferStatus != 0).Count();
|
|
|
LP2WaferCount = LP2ModuleInfo.WaferManager.Wafers.Where(x => x.WaferStatus != 0).Count();
|
|
|
- LP3WaferCount = LP3ModuleInfo.WaferManager.Wafers.Where(x => x.WaferStatus != 0).Count();
|
|
|
//Dummy1WaferCount = 15;
|
|
|
Dummy1WaferCount = Dummy1ModuleInfo.WaferManager.Wafers.Where(x => x.WaferStatus != 0).Count();
|
|
|
Dummy2WaferCount = Dummy2ModuleInfo.WaferManager.Wafers.Where(x => x.WaferStatus != 0).Count();
|
|
@@ -779,7 +629,6 @@ namespace PunkHPX8_MainPages.ViewModels
|
|
|
|
|
|
IsLP1Unable = (bool)QueryDataClient.Instance.Service.GetConfig("EFEM.IsLoadPort1Unable");
|
|
|
IsLP2Unable = (bool)QueryDataClient.Instance.Service.GetConfig("EFEM.IsLoadPort2Unable");
|
|
|
- IsLP3Unable = (bool)QueryDataClient.Instance.Service.GetConfig("EFEM.IsLoadPort3Unable");
|
|
|
|
|
|
if (RtDataValues != null)
|
|
|
{
|
|
@@ -795,55 +644,10 @@ namespace PunkHPX8_MainPages.ViewModels
|
|
|
IsLP1HasNoJob = lp1Cj == null ? true : false;
|
|
|
ControlJobInfo lp2Cj = CommonFunction.GetValue<ControlJobInfo>(RtDataValues, "LP2.CurrentControlJob");
|
|
|
IsLP2HasNoJob = lp2Cj == null ? true : false;
|
|
|
- ControlJobInfo lp3Cj = CommonFunction.GetValue<ControlJobInfo>(RtDataValues, "LP3.CurrentControlJob");
|
|
|
- IsLP3HasNoJob = lp3Cj == null ? true : false;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
int count = 0;
|
|
|
- /// <summary>
|
|
|
- /// 定时器1
|
|
|
- /// </summary>
|
|
|
- /// <param name="sender"></param>
|
|
|
- /// <param name="e"></param>
|
|
|
- private void Timer1_Tick(object sender, EventArgs e)
|
|
|
- {
|
|
|
- if (m_RtDataKeys.Count != 0)
|
|
|
- {
|
|
|
- RtDataValues = QueryDataClient.Instance.Service.PollData(m_RtDataKeys);
|
|
|
- if (RtDataValues != null)
|
|
|
- {
|
|
|
-
|
|
|
- Loader1TiltAMotorPosition = CommonFunction.GetValue<double>(RtDataValues, $"Loader1.TiltA.{MOTOR_POSITION}");
|
|
|
- Loader1TiltBMotorPosition = CommonFunction.GetValue<double>(RtDataValues, $"Loader1.TiltB.{MOTOR_POSITION}");
|
|
|
- Loader1RotationMotorPosition = CommonFunction.GetValue<double>(RtDataValues, $"Loader1.Rotation.{MOTOR_POSITION}");
|
|
|
- //判断Loader1的TiltA水平状态
|
|
|
- LoaderTiltACurrentStation = CommonFunction.GetCurrentStationLastContent(CommonFunction.GetValue<string>(RtDataValues, $"Loader1.TiltA.{CURRENT_STATION}"), "Loader1.TiltA");
|
|
|
- if (LoaderTiltACurrentStation == "HORI")
|
|
|
- {
|
|
|
-
|
|
|
- LoaderWaferVisibleA = true;
|
|
|
- }
|
|
|
- else if(LoaderTiltACurrentStation == "VERT")
|
|
|
- {
|
|
|
- LoaderWaferVisibleA = false;
|
|
|
- }
|
|
|
- //判断Loader1的TiltB水平状态
|
|
|
- LoaderTiltBCurrentStation = CommonFunction.GetCurrentStationLastContent(CommonFunction.GetValue<string>(RtDataValues, $"Loader1.TiltB.{CURRENT_STATION}"), "Loader1.TiltB");
|
|
|
- if (LoaderTiltBCurrentStation == "HORI")
|
|
|
- {
|
|
|
- LoaderWaferVisibleB = true;
|
|
|
- }
|
|
|
- else if (LoaderTiltBCurrentStation == "VERT")
|
|
|
- {
|
|
|
- LoaderWaferVisibleB = false;
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
|
|
|
private async void RobotMoveInfoChanged(RobotMoveInfo oldValue, RobotMoveInfo newValue)
|
|
|
{
|
|
@@ -1188,16 +992,12 @@ namespace PunkHPX8_MainPages.ViewModels
|
|
|
{
|
|
|
m_RtDataKeys.Add("LP1.IsLoaded");
|
|
|
m_RtDataKeys.Add("LP2.IsLoaded");
|
|
|
- m_RtDataKeys.Add("LP3.IsLoaded");
|
|
|
m_RtDataKeys.Add("LP1.CassettePlaced");
|
|
|
m_RtDataKeys.Add("LP2.CassettePlaced");
|
|
|
- m_RtDataKeys.Add("LP3.CassettePlaced");
|
|
|
m_RtDataKeys.Add("LP1.CurrentControlJob");
|
|
|
m_RtDataKeys.Add("LP2.CurrentControlJob");
|
|
|
- m_RtDataKeys.Add("LP3.CurrentControlJob");
|
|
|
m_RtDataKeys.Add("LP1.WaferSize");
|
|
|
m_RtDataKeys.Add("LP2.WaferSize");
|
|
|
- m_RtDataKeys.Add("LP3.WaferSize");
|
|
|
m_RtDataKeys.Add("Dummy1.CassettePlaced");
|
|
|
m_RtDataKeys.Add("Dummy2.CassettePlaced");
|
|
|
m_RtDataKeys.Add("Dummy1.WaferSize");
|
|
@@ -1212,8 +1012,6 @@ namespace PunkHPX8_MainPages.ViewModels
|
|
|
m_RtDataKeys.Add("Scheduler.Throughput");
|
|
|
m_RtDataKeys.Add("EquipmentStatus");
|
|
|
m_RtDataKeys.Add("Scheduler.PjNameList");
|
|
|
- m_RtDataKeys.Add("PUF1.IsInRobotStation");
|
|
|
-
|
|
|
m_RtDataKeys.Add("Scheduler.CjNameList");
|
|
|
}
|
|
|
|