123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269 |
- using Aitex.Core.UI.MVVM;
- using MECF.Framework.Common.CommonData;
- using MECF.Framework.Common.DataCenter;
- using MECF.Framework.Common.Equipment;
- using MECF.Framework.Common.OperationCenter;
- using OpenSEMI.ClientBase;
- using Prism.Commands;
- using Prism.Mvvm;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using Venus_Core;
- using Venus_Themes.CustomControls;
- using System.Windows.Threading;
- using Venus_MainPages.Unity;
- namespace Venus_MainPages.ViewModels
- {
- public class VenusSeOperationOverViewModel : BindableBase
- {
- #region 私有字段
- private ModuleInfo m_VCE1ModuleInfo;
- private ModuleInfo m_PMAModuleInfo;
- private ModuleInfo m_PMBModuleInfo;
- private ModuleInfo m_PMCModuleInfo;
- private ModuleInfo m_VPAModuleInfo;
- private ModuleInfo m_TMModuleInfo;
- public WaferInfo m_PMAWafer;
- public WaferInfo m_PMBWafer;
- public WaferInfo m_PMCWafer;
- private int m_VCE1WaferCount;
- private bool m_PMAIsInstalled;
- private bool m_PMBIsInstalled;
- private bool m_PMCIsInstalled;
- private bool m_VCEIsInstalled;
- #endregion
- #region 属性
- public WaferInfo PMAWafer
- {
- get { return m_PMAWafer; }
- set { SetProperty(ref m_PMAWafer, value); }
- }
- public WaferInfo PMBWafer
- {
- get { return m_PMBWafer; }
- set { SetProperty(ref m_PMBWafer, value); }
- }
- public WaferInfo PMCWafer
- {
- get { return m_PMCWafer; }
- set { SetProperty(ref m_PMCWafer, value); }
- }
- public ModuleInfo VCE1ModuleInfo
- {
- get { return m_VCE1ModuleInfo; }
- set
- {
- SetProperty(ref m_VCE1ModuleInfo, value);
- }
- }
- public ModuleInfo PMAModuleInfo
- {
- get { return m_PMAModuleInfo; }
- set
- {
- SetProperty(ref m_PMAModuleInfo, value);
- }
- }
- public ModuleInfo PMBModuleInfo
- {
- get { return m_PMBModuleInfo; }
- set
- {
- SetProperty(ref m_PMBModuleInfo, value);
- }
- }
- public ModuleInfo PMCModuleInfo
- {
- get { return m_PMCModuleInfo; }
- set
- {
- SetProperty(ref m_PMCModuleInfo, value);
- }
- }
- public ModuleInfo VPAModuleInfo
- {
- get { return m_VPAModuleInfo; }
- set
- {
- SetProperty(ref m_VPAModuleInfo, value);
- }
- }
- public ModuleInfo TMModuleInfo
- {
- get { return m_TMModuleInfo; }
- set
- {
- SetProperty (ref m_TMModuleInfo, value);
- }
- }
- public bool PMAIsInstalled
- {
- get { return m_PMAIsInstalled; }
- set
- {
- SetProperty(ref m_PMAIsInstalled,value);
- }
- }
- public bool PMBIsInstalled
- {
- get { return m_PMBIsInstalled; }
- set
- {
- SetProperty(ref m_PMBIsInstalled, value);
- }
- }
- public bool PMCIsInstalled
- {
- get { return m_PMCIsInstalled; }
- set
- {
- SetProperty(ref m_PMCIsInstalled, value);
- }
- }
- public bool VCEIsInstalled
- {
- get { return m_VCEIsInstalled; }
- set
- {
- SetProperty(ref m_VCEIsInstalled, value);
- }
- }
- public int VCE1WaferCount
- {
- get { return m_VCE1WaferCount; }
- set
- {
- SetProperty(ref m_VCE1WaferCount, value);
- }
- }
- #endregion
- #region 命令
- private DelegateCommand _VCEHome;
- public DelegateCommand VCEHome => _VCEHome ?? (_VCEHome = new DelegateCommand(vceHome));
- private DelegateCommand _VCEReadMap;
- public DelegateCommand VCEReadMap => _VCEReadMap ?? (_VCEReadMap = new DelegateCommand(vceReadMap));
- private DelegateCommand _VCELoadPrepare;
- public DelegateCommand VCELoadPrepare =>
- _VCELoadPrepare ?? (_VCELoadPrepare = new DelegateCommand(vceLoadPrepare));
- private DelegateCommand __VCELoad;
- public DelegateCommand VCELoad =>
- __VCELoad ?? (__VCELoad = new DelegateCommand(vceLoad));
- private DelegateCommand _VCEUnLoad;
- public DelegateCommand VCEUnLoad =>
- _VCEUnLoad ?? (_VCEUnLoad = new DelegateCommand(vceUnLoad));
- private DelegateCommand _SMIFLoad;
- public DelegateCommand SMIFLoad =>
- _SMIFLoad ?? (_SMIFLoad = new DelegateCommand(smifLoad));
- private DelegateCommand _SMIFULoad;
- public DelegateCommand SMIFULoad =>
- _SMIFULoad ?? (_SMIFULoad = new DelegateCommand(smifUnLoad));
- private DelegateCommand _tmhome;
- public DelegateCommand TmHome =>
- _tmhome ?? (_tmhome = new DelegateCommand(tmhome));
- private DelegateCommand _tmPick;
- public DelegateCommand TmPick =>
- _tmPick ?? (_tmPick = new DelegateCommand(tmpick));
- private DelegateCommand _tmPlace;
- public DelegateCommand TMPlace =>
- _tmPlace ?? (_tmPlace = new DelegateCommand(tmplace));
- #endregion
- #region 构造函数
- public VenusSeOperationOverViewModel()
- {
- //页面不刷错的方法 页面中的PM做成List的形式 通过itemsource显示 同时提供各个位置的pm点位 旋转角度
- VCE1WaferCount = 25;
- string[] allModules = QueryDataClient.Instance.Service.GetConfig($"System.InstalledModules").ToString().Split(',');
- PMAIsInstalled = allModules.Contains("PMA");
- PMBIsInstalled = allModules.Contains("PMB");
- PMCIsInstalled = allModules.Contains("PMC");
- VCEIsInstalled = allModules.Contains("VCE1");
- DispatcherTimer timer = new DispatcherTimer();
- timer.Interval = TimeSpan.FromSeconds(0.1);
- timer.Tick += Timer_Tick;
- timer.Start();
- }
- #endregion
- #region 命令实现
- private void vceHome()
- {
- InvokeClient.Instance.Service.DoOperation("VCE1.HOME");
- }
- private void vceReadMap()
- {
- InvokeClient.Instance.Service.DoOperation("VCE1.ReadMap");
- }
- private void vceLoadPrepare()
- {
- InvokeClient.Instance.Service.DoOperation("VCE1.LoadPrepare");
- }
- private void vceLoad()
- {
- InvokeClient.Instance.Service.DoOperation("VCE1.Load");
- }
- private void vceUnLoad() { }
- private void smifLoad() { }
- private void smifUnLoad() { }
- private void tmhome()
- {
- InvokeClient.Instance.Service.DoOperation("SETM.Home");
- }
- private void tmpick()
- {
- ModuleName target = ModuleName.VCE1;
- int slot = 0;
- InvokeClient.Instance.Service.DoOperation("SETM.Pick", target, slot);
- }
- private void tmplace()
- {
- ModuleName target = ModuleName.VCE1;
- int slot = 0;
- InvokeClient.Instance.Service.DoOperation("SETM.Place", target, slot);
- }
- #endregion
- #region 私有方法
- private void Timer_Tick(object sender, EventArgs e)
- {
- if (PMAIsInstalled == true)
- {
- PMAModuleInfo = ModuleManager.ModuleInfos["PMA"];
- PMAWafer = PMAModuleInfo.WaferManager.Wafers[0];
- }
- if (PMBIsInstalled == true)
- {
- PMBModuleInfo = ModuleManager.ModuleInfos["PMB"];
- PMBWafer = PMBModuleInfo.WaferManager.Wafers[0];
- }
- if (PMCIsInstalled == true)
- {
- PMCModuleInfo = ModuleManager.ModuleInfos["PMC"];
- PMCWafer = PMCModuleInfo.WaferManager.Wafers[0];
- }
- if (VCEIsInstalled == true)
- {
- VCE1ModuleInfo = ModuleManager.ModuleInfos["VCE1"];
- }
- TMModuleInfo = ModuleManager.ModuleInfos["TMRobot"];
- }
- #endregion
- }
- }
|