using Aitex.Core.Common;
using Aitex.Core.Util;
using Aitex.Sorter.UI.Controls;
using EfemUI.Controls.Common;
using MECF.Framework.Common.CommonData;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Controls;
namespace EfemUI.Controls
{
///
/// EFEM2LPJet.xaml 的交互逻辑
///
public partial class EFEM1LPJetAB : EFEMBase
{
public EFEM1LPJetAB()
{
InitializeComponent();
root.DataContext = this;
}
public bool IsEnableTextMenu
{
get { return (bool)GetValue(IsEnableTextMenuProperty); }
set { SetValue(IsEnableTextMenuProperty, value); }
}
// Using a DependencyProperty as the backing store for IsEnableTextMenu. This enables animation, styling, binding, etc...
public static readonly DependencyProperty IsEnableTextMenuProperty =
DependencyProperty.Register("IsEnableTextMenu", typeof(bool), typeof(EFEM1LPJetAB), new PropertyMetadata(true));
public WaferInfo Aligner1Wafer
{
get { return (WaferInfo)GetValue(Aligner1WaferProperty); }
set { SetValue(Aligner1WaferProperty, value); }
}
// Using a DependencyProperty as the backing store for Aligner1Wafer. This enables animation, styling, binding, etc...
public static readonly DependencyProperty Aligner1WaferProperty =
DependencyProperty.Register("Aligner1Wafer", typeof(WaferInfo), typeof(EFEM1LPJetAB), new PropertyMetadata(null));
public WaferInfo Aligner2Wafer
{
get { return (WaferInfo)GetValue(Aligner2WaferProperty); }
set { SetValue(Aligner2WaferProperty, value); }
}
// Using a DependencyProperty as the backing store for Aligner2Wafer. This enables animation, styling, binding, etc...
public static readonly DependencyProperty Aligner2WaferProperty =
DependencyProperty.Register("Aligner2Wafer", typeof(WaferInfo), typeof(EFEM1LPJetAB), new PropertyMetadata(null));
public WaferInfo CoolingBuffer1Wafer
{
get { return (WaferInfo)GetValue(CoolingBuffer1WaferProperty); }
set { SetValue(CoolingBuffer1WaferProperty, value); }
}
// Using a DependencyProperty as the backing store for CoolingBuffer1Wafer. This enables animation, styling, binding, etc...
public static readonly DependencyProperty CoolingBuffer1WaferProperty =
DependencyProperty.Register("CoolingBuffer1Wafer", typeof(WaferInfo), typeof(EFEM1LPJetAB), new PropertyMetadata(null));
public WaferInfo CoolingBuffer2Wafer
{
get { return (WaferInfo)GetValue(CoolingBuffer2WaferProperty); }
set { SetValue(CoolingBuffer2WaferProperty, value); }
}
// Using a DependencyProperty as the backing store for CoolingBuffer2Wafer. This enables animation, styling, binding, etc...
public static readonly DependencyProperty CoolingBuffer2WaferProperty =
DependencyProperty.Register("CoolingBuffer2Wafer", typeof(WaferInfo), typeof(EFEM1LPJetAB), new PropertyMetadata(null));
[Subscription("CoolingBuffer1Disable", "System")]
public bool CoolingBuffer1Disable
{
get;
set;
}
[Subscription("CoolingBuffer2Disable", "System")]
public bool CoolingBuffer2Disable
{
get;
set;
}
[Subscription("Aligner1Disable", "System")]
public bool Aligner1Disable
{
get;
set;
}
[Subscription("Aligner2Disable", "System")]
public bool Aligner2Disable
{
get;
set;
}
[Subscription("RobotMoveInfo", "Robot")]
public RobotMoveInfo RobotMoveInfo
{
get;
set;
}
public override Dictionary StationPosition
{
get
{
return new Dictionary
{
{ "ArmA.System",new StationPosition()
{
StartPosition= new RobotPosition()
{
X=0,
Root=155,
Arm=240,
Hand=236
},
EndPosition= new RobotPosition()
{
Root=155,
Arm=240,
Hand=236
}
}
},
{ "ArmB.System",new StationPosition()
{
StartPosition= new RobotPosition()
{
X=0,
Root=25,
Arm=120,
Hand=484
},
EndPosition= new RobotPosition()
{
Root=25,
Arm=120,
Hand=484
}
}
},
{ "ArmA.LP1",new StationPosition()
{
//StartPosition= new RobotPosition()
// {
// X=0,
// Root=178,
// Arm=215,
// Hand=57
// },
// EndPosition= new RobotPosition()
// {
// X=0,
// Root=238,
// Arm=180,
// Hand=32
// }
StartPosition= new RobotPosition()
{
X=0,
Root=178,
Arm=158,
Hand=113
},
EndPosition= new RobotPosition()
{
Root=168,
Arm=215,
Hand=67
}
}
},
{ "ArmB.LP1",new StationPosition()
{
StartPosition= new RobotPosition()
{
X=0,
Root=2,
Arm=205,
Hand=243
},
EndPosition= new RobotPosition()
{
Root=10,
Arm=145,
Hand=293
}
}
},
{ "ArmA.LP2",new StationPosition()
{
StartPosition= new RobotPosition()
{
X=0,
Root=152,
Arm=187,
Hand=93
},
EndPosition= new RobotPosition()
{
Root=140,
Arm=227,
Hand=61
}
}
},
{ "ArmB.LP2",new StationPosition()
{
StartPosition= new RobotPosition()
{
X=0,
Root=-40,
Arm=178,
Hand=286
},
EndPosition= new RobotPosition()
{
Root=-12,
Arm=140,
Hand=301
}
}
},
{ "ArmA.CoolingBuffer1",new StationPosition()
{
StartPosition= new RobotPosition()
{
X=0,
Root=252,
Arm=189,
Hand=81
},
EndPosition= new RobotPosition()
{
Root=235,
Arm=230,
Hand=58
}
}
},
{ "ArmB.CoolingBuffer1",new StationPosition()
{
StartPosition= new RobotPosition()
{
X=0,
Root=81,
Arm=158,
Hand=276
},
EndPosition= new RobotPosition()
{
Root=98,
Arm=112,
Hand=312
}
}
},
{ "ArmA.CoolingBuffer2",new StationPosition()
{
StartPosition= new RobotPosition()
{
X=0,
Root=286,
Arm=187,
Hand=88
},
EndPosition= new RobotPosition()
{
Root=272,
Arm=230,
Hand=58
}
}
},
{ "ArmB.CoolingBuffer2",new StationPosition()
{
StartPosition= new RobotPosition()
{
X=0,
Root=82,
Arm=166,
Hand=307
},
EndPosition= new RobotPosition()
{
Root=124,
Arm=117,
Hand=318
}
}
},
{ "ArmA.Aligner1",new StationPosition()
{
StartPosition= new RobotPosition()
{
X=0,
Root=100,
Arm=202,
Hand=83
},
EndPosition= new RobotPosition()
{
Root=82,
Arm=243,
Hand=56
}
}
},
{ "ArmB.Aligner1",new StationPosition()
{
StartPosition= new RobotPosition()
{
X=0,
Root=-77,
Arm=171,
Hand=285
},
EndPosition= new RobotPosition()
{
Root=-60,
Arm=132,
Hand=307
}
}
},
{ "ArmA.Buffer",new StationPosition()
{
StartPosition= new RobotPosition()
{
X=0,
Root=90,
Arm=198,
Hand=55
},
EndPosition= new RobotPosition()
{
Root=53,
Arm=243,
Hand=48
}
}
},
{ "ArmB.Buffer",new StationPosition()
{
StartPosition= new RobotPosition()
{
X=0,
Root=-114,
Arm=173,
Hand=278
},
EndPosition= new RobotPosition()
{
Root=-97,
Arm=132,
Hand=307
}
}
},
{ "ArmA.LL1",new StationPosition()
{
StartPosition= new RobotPosition()
{
X=0,
Root=195,
Arm=195,
Hand=240
},
EndPosition= new RobotPosition()
{
Root=203,
Arm=128,
Hand=298
}
}
},
{ "ArmB.LL1",new StationPosition()
{
StartPosition= new RobotPosition()
{
X=0,
Root=-13,
Arm=165,
Hand=478
},
EndPosition= new RobotPosition()
{ Root=-23,
Arm=232,
Hand=422
}
}
},
{ "ArmA.LL2",new StationPosition()
{
StartPosition= new RobotPosition()
{
X=0,
Root=436,
Arm=229,
Hand=-34
},
EndPosition= new RobotPosition()
{
Root=375,
Arm=256,
Hand=0
}
}
},
{ "ArmB.LL2",new StationPosition()
{
StartPosition= new RobotPosition()
{
X=0,
Root=264,
Arm=146,
Hand=221
},
EndPosition= new RobotPosition()
{
Root=242,
Arm=115,
Hand=273
}
}
}
};
}
}
[Subscription("Aligner1.IsEnable")]
public bool Aligner1Enable
{
get;
set;
}
[Subscription("Buffer.IsEnable")]
public bool BufferEnable
{
get;
set;
}
[Subscription("PMA.IsEnable")]
public bool PMAEnable
{
get;
set;
}
[Subscription("LP1.IsEnable")]
public bool LP1Enable
{
get;
set;
}
}
}