using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using Aitex.Core.Common; using Aitex.Core.UI.MVVM; using Aitex.Core.Util; using Aitex.Sorter.Common; using MECF.Framework.Common.OperationCenter; using MECF.Framework.Common.Equipment; namespace Aitex.Sorter.UI.Controls { /// /// EFEM.xaml 的交互逻辑 /// public partial class EFEM : ViewModelControl { public EFEM() { InitializeComponent(); DeviceOperationCommand = new DelegateCommand(DeviceOperation); root.DataContext = this; } [Subscription(ParamName.CassetteState, DeviceName.LoadportA)] public LoadportCassetteState LPACassetteState { get; set; } [Subscription(ParamName.FoupDoorState, DeviceName.LoadportA)] public FoupDoorState LPADoorState { get; set; } [Subscription(ParamName.CassetteState, DeviceName.LoadportB)] public LoadportCassetteState LPBCassetteState { get; set; } [Subscription(ParamName.FoupDoorState, DeviceName.LoadportB)] public FoupDoorState LPBDoorState { get; set; } [Subscription(ParamName.WaferInfoRobotAligner01, "System")] public WaferInfo AlignerWafer { get; set; } public ICommand DeviceOperationCommand { get; private set; } [Subscription(ParamName.WaferInfoRobotSlot01, "System")] public WaferInfo RobotWafer1 { get; set; } [Subscription(ParamName.WaferInfoRobotSlot02, "System")] public WaferInfo RobotWafer2 { get; set; } [Subscription(ParamName.RobotBlade1Traget, DeviceName.Robot)] public ModuleName RobotBladeTarget { get; set; } void DeviceOperation(object param) { InvokeClient.Instance.Service.DoOperation(OperationName.DeviceOperation.ToString(), (object[])param); } } }