123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305 |
- using Aitex.Core.Util;
- using MECF.Framework.Common.OperationCenter;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows;
- using FurnaceUI.Models;
- namespace FurnaceUI.Views.Operations
- {
- public class SelfCheckInitViewModel : FurnaceUIViewModelBase
- {
- [Subscription("Rt.Status")]
- public string RtStatus { get; set; }
- [Subscription("System.IsInitialized")]
- public bool SystemIsInitialized { get; set; }
- [Subscription("CarrierRobot.Status")]
- public string CarrierRobotStatus { get; set; }
- [Subscription("WaferRobot.Status")]
- public string WaferRobotStatus { get; set; }
- [Subscription("LP1.Status")]
- public string LP1Status { get; set; }
- [Subscription("LP2.Status")]
- public string LP2Status { get; set; }
- [Subscription("FIMS1.Status")]
- public string FIMS1Status { get; set; }
- [Subscription("FIMS2.Status")]
- public string FIMS2Status { get; set; }
- [Subscription("Boat.Status")]
- public string BoatStatus { get; set; }
- public bool IsRtInitialized
- {
- get
- {
- return RtStatus != "Init" && RtStatus != "Initializing";
- }
- }
- public bool IsRtRunning
- {
- get
- {
- return RtStatus != "Init" && RtStatus != "Idle" && RtStatus != "AutoIdle";
- }
- }
- public bool IsRtError
- {
- get
- {
- return RtStatus == "Error";
- }
- }
- public bool IsEnableInitialize
- {
- get { return (RtStatus == "Init" || RtStatus == "Idle") && AllInitializeEnable; }
- }
- public bool IsAuto
- {
- get { return RtStatus == "AutoRunning" || RtStatus == "AutoIdle"; }
- }
- public bool IsCarrierRobotInitialized
- {
- get
- {
- return CarrierRobotStatus != "Init" && CarrierRobotStatus != "Homing";
- }
- }
- public bool IsWaferRobotInitialized
- {
- get
- {
- return WaferRobotStatus != "Init" && WaferRobotStatus != "Homing";
- }
- }
- public bool IsLP1Initialized
- {
- get
- {
- return LP1Status != "Init" && LP1Status != "Homing";
- }
- }
- public bool IsLP2Initialized
- {
- get
- {
- return LP2Status != "Init" && LP2Status != "Homing";
- }
- }
- public bool IsBoatInitialized
- {
- get
- {
- return BoatStatus != "Init" && BoatStatus != "Homing";
- }
- }
- public bool IsFIMS1Initialized
- {
- get
- {
- return FIMS1Status != "Init" && FIMS1Status != "Homing";
- }
- }
- public bool IsFIMS2Initialized
- {
- get
- {
- return FIMS1Status != "Init" && FIMS1Status != "Homing";
- }
- }
- public int AllInitializeCount { get; set; }
- public int CarrierRobotInitializeCount { get; set; }
- public int WaferRobotInitializeCount { get; set; }
- public int LP1InitializeCount { get; set; }
- public int LP2InitializeCount { get; set; }
- public int BoatInitializeCount { get; set; }
- private int _FIMS1InitializeCount;
- private int _FIMS2InitializeCount;
- private bool _FIMS1InitializeEnable;
- private bool _FIMS2InitializeEnable;
- //public bool AllInitializeEnable { get; set; } = false;
- //public bool CarrierRobotInitializeEnable { get; set; } = false;
- //public bool WaferRobotInitializeEnable { get; set; } = false;
- //public bool SMIFAInitializeEnable { get; set; } = false;
- //public bool SMIFBInitializeEnable { get; set; } = false;
- //public bool BoatInitializeEnable { get; set; } = false;
- private bool _AllInitializeEnable;
- public bool AllInitializeEnable
- {
- get => _AllInitializeEnable;
- set
- {
- _AllInitializeEnable = value;
- NotifyOfPropertyChange("AllInitializeEnable");
- }
- }
- private bool _CarrierRobotInitializeEnable;
- public bool CarrierRobotInitializeEnable
- {
- get => _CarrierRobotInitializeEnable;
- set
- {
- _CarrierRobotInitializeEnable = value;
- NotifyOfPropertyChange("CarrierRobotInitializeEnable");
- }
- }
- private bool _WaferRobotInitializeEnable;
- public bool WaferRobotInitializeEnable
- {
- get => _WaferRobotInitializeEnable;
- set
- {
- _WaferRobotInitializeEnable = value;
- NotifyOfPropertyChange("WaferRobotInitializeEnable");
- }
- }
- private bool _LP1InitializeEnable;
- public bool LP1InitializeEnable
- {
- get => _LP1InitializeEnable;
- set
- {
- _LP1InitializeEnable = value;
- NotifyOfPropertyChange("LP1InitializeEnable");
- }
- }
- private bool _LP2InitializeEnable;
- public bool LP2InitializeEnable
- {
- get => _LP2InitializeEnable;
- set
- {
- _LP2InitializeEnable = value;
- NotifyOfPropertyChange("LP2InitializeEnable");
- }
- }
- private bool _BoatInitializeEnable;
- public bool BoatInitializeEnable
- {
- get => _BoatInitializeEnable;
- set
- {
- _BoatInitializeEnable = value;
- NotifyOfPropertyChange("BoatInitializeEnable");
- }
- }
- #region UI Logic
- public bool IsEnableCarrierRobotInitialized => (CarrierRobotStatus == "Idle" || CarrierRobotStatus == "Init" || CarrierRobotStatus == "Error" || IsSystemStaus && CarrierRobotStatus != "Homing") && CarrierRobotInitializeEnable && RtStatus != "AutoRunning";
- public bool IsEnableWaferRobotInitialized => (WaferRobotStatus == "Idle" || WaferRobotStatus == "Init" || WaferRobotStatus == "Error" || IsSystemStaus && WaferRobotStatus != "Homing") && WaferRobotInitializeEnable && RtStatus != "AutoRunning";
- public bool IsEnableLP1Initialized => (LP1Status == "Idle" || LP1Status == "Init" || LP1Status == "Error" || IsSystemStaus && LP1Status != "Homing") && LP1InitializeEnable && RtStatus != "AutoRunning";
- public bool IsEnableLP2Initialized => (LP2Status == "Idle" || LP2Status == "Init" || LP2Status == "Error" || IsSystemStaus && LP2Status != "Homing") && LP2InitializeEnable && RtStatus != "AutoRunning";
- public bool IsEnableBoatInitialized => (BoatStatus == "Idle" || BoatStatus == "Init" || BoatStatus == "Error" || IsSystemStaus && BoatStatus != "Homing") && BoatInitializeEnable && RtStatus != "AutoRunning";
- public bool IsEnableFIMS1Initialized => (FIMS1Status == "Idle" || FIMS1Status == "Init" || FIMS1Status == "Error") && IsSystemStaus && _FIMS1InitializeEnable && RtStatus != "AutoRunning";
- public bool IsEnableFIMS2Initialized => (FIMS2Status == "Idle" || FIMS2Status == "Init" || FIMS2Status == "Error") && IsSystemStaus && _FIMS2InitializeEnable && RtStatus != "AutoRunning";
- public bool IsAbortAllInitialized => AllInitializeEnable;
- public bool IsAbortCarrierRobotInitialized => CarrierRobotInitializeEnable;
- public bool IsAbortWaferRobotInitialized => WaferRobotInitializeEnable;
- public bool IsAbortLP1Initialized => LP1InitializeEnable;
- public bool IsAbortLP2Initialized => LP2InitializeEnable;
- public bool IsAbortFIMS1Initialized => _FIMS1InitializeEnable;
- public bool IsAbortFIMS2Initialized => _FIMS2InitializeEnable;
- public bool IsAbortBoatInitialized => BoatInitializeEnable;
- public bool IsSystemStaus => (RtStatus == "Idle" || RtStatus == "Init" || RtStatus == "Error") ;
- #endregion
- public void HomeAll()
- {
- InvokeClient.Instance.Service.DoOperation("System.HomeAll");
- }
- public void Home(string module)
- {
- InvokeClient.Instance.Service.DoOperation($"{module}.Home");
- }
- public void Abort(string module)
- {
- InvokeClient.Instance.Service.DoOperation($"{module}.Abort");
- }
- public void Manual(string module)
- {
- switch (module)
- {
- case "All Initialize":
- AllInitializeCount++;
- if (AllInitializeCount % 2 == 0)
- AllInitializeEnable = false;
- else
- AllInitializeEnable = true;
- break;
- case "Carrier Robot Initialize":
- CarrierRobotInitializeCount++;
- if (CarrierRobotInitializeCount % 2 == 0)
- CarrierRobotInitializeEnable = false;
- else
- CarrierRobotInitializeEnable = true;
- break;
- case "Wafer Robot Initialize":
- WaferRobotInitializeCount++;
- if (WaferRobotInitializeCount % 2 == 0)
- WaferRobotInitializeEnable = false;
- else
- WaferRobotInitializeEnable = true;
- break;
- case "LP1 Initialize":
- LP1InitializeCount++;
- if (LP1InitializeCount % 2 == 0)
- LP1InitializeEnable = false;
- else
- LP1InitializeEnable = true;
- break;
- case "LP2 Initialize":
- LP2InitializeCount++;
- if (LP2InitializeCount % 2 == 0)
- LP2InitializeEnable = false;
- else
- LP2InitializeEnable = true;
- break;
- case "Boat Initialize":
- BoatInitializeCount++;
- if (BoatInitializeCount % 2 == 0)
- BoatInitializeEnable = false;
- else
- BoatInitializeEnable = true;
- break;
- case "FIMS1 Initialize":
- _FIMS1InitializeCount++;
- if (_FIMS1InitializeCount % 2 == 0)
- _FIMS1InitializeEnable = false;
- else
- _FIMS1InitializeEnable = true;
- break;
- case "FIMS2 Initialize":
- _FIMS2InitializeCount++;
- if (_FIMS2InitializeCount % 2 == 0)
- _FIMS2InitializeEnable = false;
- else
- _FIMS2InitializeEnable = true;
- break;
- default:
- break;
- }
- }
- public void CloseCmd()
- {
- ((Window)GetView()).Close();
- }
- }
- }
|