using Aitex.Core.RT.Log; using MECF.Framework.Common.OperationCenter; using MECF.Framework.Common.ToolLayout; using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; 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; namespace CyberX8_Themes.UserControls { /// /// UTransporterDebugControl.xaml 的交互逻辑 /// public partial class TransporterDebugControl : UserControl { #region 属性 public static readonly DependencyProperty ModuleTitleProperty = DependencyProperty.Register("ModuleTitle", typeof(string), typeof(TransporterDebugControl), new FrameworkPropertyMetadata("", FrameworkPropertyMetadataOptions.AffectsRender)); /// /// 模块标题 /// public string ModuleTitle { get { return (string)this.GetValue(ModuleTitleProperty); } set { this.SetValue(ModuleTitleProperty, value); } } public static readonly DependencyProperty ModuleNameProperty = DependencyProperty.Register("ModuleName", typeof(string), typeof(TransporterDebugControl), new FrameworkPropertyMetadata("", FrameworkPropertyMetadataOptions.AffectsRender)); /// /// 模块名称 /// public string ModuleName { get { return (string)this.GetValue(ModuleNameProperty); } set { this.SetValue(ModuleNameProperty, value); } } public static readonly DependencyProperty BarcodeReaderDeviceNameProperty = DependencyProperty.Register("BarcodeReaderDeviceName", typeof(string), typeof(TransporterDebugControl), new FrameworkPropertyMetadata("", FrameworkPropertyMetadataOptions.AffectsRender)); /// /// 读码器名称 /// public string BarcodeReaderDeviceName { get { return (string)this.GetValue(BarcodeReaderDeviceNameProperty); } set { this.SetValue(BarcodeReaderDeviceNameProperty, value); } } public static readonly DependencyProperty Lock1OnProperty = DependencyProperty.Register("Lock1On", typeof(bool), typeof(TransporterDebugControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// Lock 1 On /// public bool Lock1On { get { return (bool)this.GetValue(Lock1OnProperty); } set { this.SetValue(Lock1OnProperty, value); } } public static readonly DependencyProperty Lock2OnProperty = DependencyProperty.Register("Lock2On", typeof(bool), typeof(TransporterDebugControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// Lock 2 On /// public bool Lock2On { get { return (bool)this.GetValue(Lock2OnProperty); } set { this.SetValue(Lock2OnProperty, value); } } public static readonly DependencyProperty Unlock1OnProperty = DependencyProperty.Register("Unlock1On", typeof(bool), typeof(TransporterDebugControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// UnLock 2 On /// public bool Unlock1On { get { return (bool)this.GetValue(Unlock1OnProperty); } set { this.SetValue(Unlock1OnProperty, value); } } public static readonly DependencyProperty Unlock2OnProperty = DependencyProperty.Register("Unlock2On", typeof(bool), typeof(TransporterDebugControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// UnLock 2 On /// public bool Unlock2On { get { return (bool)this.GetValue(Unlock2OnProperty); } set { this.SetValue(Unlock2OnProperty, value); } } public static readonly DependencyProperty Retract1OnProperty = DependencyProperty.Register("Retract1On", typeof(bool), typeof(TransporterDebugControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// Retract 1 On /// public bool Retract1On { get { return (bool)this.GetValue(Retract1OnProperty); } set { this.SetValue(Retract1OnProperty, value); } } public static readonly DependencyProperty Retract2OnProperty = DependencyProperty.Register("Retract2On", typeof(bool), typeof(TransporterDebugControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// Retract 2 On /// public bool Retract2On { get { return (bool)this.GetValue(Retract2OnProperty); } set { this.SetValue(Retract2OnProperty, value); } } public static readonly DependencyProperty Extend1OnProperty = DependencyProperty.Register("Extend1On", typeof(bool), typeof(TransporterDebugControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// Extend 1 On /// public bool Extend1On { get { return (bool)this.GetValue(Extend1OnProperty); } set { this.SetValue(Extend1OnProperty, value); } } public static readonly DependencyProperty Extend2OnProperty = DependencyProperty.Register("Extend2On", typeof(bool), typeof(TransporterDebugControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// Extend 2 On /// public bool Extend2On { get { return (bool)this.GetValue(Extend2OnProperty); } set { this.SetValue(Extend2OnProperty, value); } } public static readonly DependencyProperty ReadyToLock1OnProperty = DependencyProperty.Register("ReadyToLock1On", typeof(bool), typeof(TransporterDebugControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// Reay To Lock 1 On /// public bool ReadyToLock1On { get { return (bool)this.GetValue(ReadyToLock1OnProperty); } set { this.SetValue(ReadyToLock1OnProperty, value); } } public static readonly DependencyProperty ReadyToLock2OnProperty = DependencyProperty.Register("ReadyToLock2On", typeof(bool), typeof(TransporterDebugControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// Ready To Lock 2 On /// public bool ReadyToLock2On { get { return (bool)this.GetValue(ReadyToLock2OnProperty); } set { this.SetValue(ReadyToLock2OnProperty, value); } } public static readonly DependencyProperty WHPresent1Property = DependencyProperty.Register("WHPresent1", typeof(bool), typeof(TransporterDebugControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// WH Present 1 /// public bool WHPresent1 { get { return (bool)this.GetValue(WHPresent1Property); } set { this.SetValue(WHPresent1Property, value); } } public static readonly DependencyProperty WHPresent2Property = DependencyProperty.Register("WHPresent2", typeof(bool), typeof(TransporterDebugControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// WH Present 2 /// public bool WHPresent2 { get { return (bool)this.GetValue(WHPresent2Property); } set { this.SetValue(WHPresent2Property, value); } } public static readonly DependencyProperty GantryMotorOnProperty = DependencyProperty.Register("GantryMotorOn", typeof(bool), typeof(TransporterDebugControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// Gantry Motor On /// public bool GantryMotorOn { get { return (bool)this.GetValue(GantryMotorOnProperty); } set { this.SetValue(GantryMotorOnProperty, value); } } public static readonly DependencyProperty ElevatorMotorOnProperty = DependencyProperty.Register("ElevatorMotorOn", typeof(bool), typeof(TransporterDebugControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// Elevator Motor On /// public bool ElevatorMotorOn { get { return (bool)this.GetValue(ElevatorMotorOnProperty); } set { this.SetValue(ElevatorMotorOnProperty, value); } } public static readonly DependencyProperty GantryHomedProperty = DependencyProperty.Register("GantryHomed", typeof(bool), typeof(TransporterDebugControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// Gantry Homed /// public bool GantryHomed { get { return (bool)this.GetValue(GantryHomedProperty); } set { this.SetValue(GantryHomedProperty, value); } } public static readonly DependencyProperty ElevatorHomedProperty = DependencyProperty.Register("ElevatorHomed", typeof(bool), typeof(TransporterDebugControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// Elevator Homed /// public bool ElevatorHomed { get { return (bool)this.GetValue(ElevatorHomedProperty); } set { this.SetValue(ElevatorHomedProperty, value); } } public static readonly DependencyProperty GantryMovingProperty = DependencyProperty.Register("GantryMoving", typeof(bool), typeof(TransporterDebugControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// Gantry Moving /// public bool GantryMoving { get { return (bool)this.GetValue(GantryMovingProperty); } set { this.SetValue(GantryMovingProperty, value); } } public static readonly DependencyProperty ElevatorMovingProperty = DependencyProperty.Register("ElevatorMoving", typeof(bool), typeof(TransporterDebugControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// Elevator Moving /// public bool ElevatorMoving { get { return (bool)this.GetValue(ElevatorMovingProperty); } set { this.SetValue(ElevatorMovingProperty, value); } } public static readonly DependencyProperty BarcodeProperty = DependencyProperty.Register("Barcode", typeof(string), typeof(TransporterDebugControl), new FrameworkPropertyMetadata("", FrameworkPropertyMetadataOptions.AffectsRender)); /// /// 条码 /// public string Barcode { get { return (string)this.GetValue(BarcodeProperty); } set { this.SetValue(BarcodeProperty, value); } } public static readonly DependencyProperty PositionListProperty = DependencyProperty.Register("PositionList", typeof(List), typeof(TransporterDebugControl), new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// 位置集合 /// public List PositionList { get { return (List)this.GetValue(PositionListProperty); } set { this.SetValue(PositionListProperty, value); } } public static readonly DependencyProperty FromSelectedItemProperty = DependencyProperty.Register("FromSelectedItem", typeof(string), typeof(TransporterDebugControl), new FrameworkPropertyMetadata("", FrameworkPropertyMetadataOptions.AffectsRender)); /// /// From选择项 /// public string FromSelectedItem { get { return (string)this.GetValue(FromSelectedItemProperty); } set { this.SetValue(FromSelectedItemProperty, value); } } public static readonly DependencyProperty ToSelectedItemProperty = DependencyProperty.Register("ToSelectedItem", typeof(string), typeof(TransporterDebugControl), new FrameworkPropertyMetadata("", FrameworkPropertyMetadataOptions.AffectsRender)); /// /// To 选择项 /// public string ToSelectedItem { get { return (string)this.GetValue(ToSelectedItemProperty); } set { this.SetValue(ToSelectedItemProperty, value); } } public static readonly DependencyProperty IsHomedProperty = DependencyProperty.Register("IsHomed", typeof(bool), typeof(TransporterDebugControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// IsHomed /// public bool IsHomed { get { return (bool)this.GetValue(IsHomedProperty); } set { this.SetValue(IsHomedProperty, value); } } public static readonly DependencyProperty IsElevatorInUpPlaceProperty = DependencyProperty.Register("IsElevatorInUpPlace", typeof(bool), typeof(TransporterDebugControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// IsElevatorInUpPlace /// public bool IsElevatorInUpPlace { get { return (bool)this.GetValue(IsElevatorInUpPlaceProperty); } set { this.SetValue(IsElevatorInUpPlaceProperty, value); } } #endregion public TransporterDebugControl() { InitializeComponent(); } #region 指令 private void Lock_Click(object sender, RoutedEventArgs e) { InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Lock"); } private void Unlock_Click(object sender, RoutedEventArgs e) { InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Unlock"); } private void Retract_Click(object sender, RoutedEventArgs e) { if (!IsElevatorInUpPlace) { MessageBox.Show("Elevator is not in 'UP' place", "Clamp", MessageBoxButton.OK, MessageBoxImage.Error); return; } InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Retract"); } private void Extend_Click(object sender, RoutedEventArgs e) { if (!IsElevatorInUpPlace) { MessageBox.Show("Elevator is not in 'UP' place", "Clamp", MessageBoxButton.OK, MessageBoxImage.Error); return; } InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Extend"); } private void Home_Click(object sender, RoutedEventArgs e) { InvokeClient.Instance.Service.DoOperation($"{ModuleName}.HomeAll"); } private void ClearError_Click(object sender, RoutedEventArgs e) { InvokeClient.Instance.Service.DoOperation($"{ModuleName}.ClearError"); } private void PickUpFrom_Click(object sender, RoutedEventArgs e) { if(string.IsNullOrEmpty(FromSelectedItem)) { MessageBox.Show("please select from item", "pick up", MessageBoxButton.OK, MessageBoxImage.Error); return; } InvokeClient.Instance.Service.DoOperation($"{ModuleName}.PickUpFrom", FromSelectedItem); } private void MoveTo_Click(object sender, RoutedEventArgs e) { if (string.IsNullOrEmpty(ToSelectedItem)) { MessageBox.Show("please select to item", "move to", MessageBoxButton.OK, MessageBoxImage.Error); return; } InvokeClient.Instance.Service.DoOperation($"{ModuleName}.MoveTo", ToSelectedItem); } private void PutDownTo_Click(object sender, RoutedEventArgs e) { if (string.IsNullOrEmpty(ToSelectedItem)) { MessageBox.Show("please select to item", "put down to", MessageBoxButton.OK, MessageBoxImage.Error); return; } InvokeClient.Instance.Service.DoOperation($"{ModuleName}.PutDownTo", ToSelectedItem); } private void Park_Click(object sender, RoutedEventArgs e) { InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Park"); } private void ElevatorUp_Click(object sender, RoutedEventArgs e) { InvokeClient.Instance.Service.DoOperation($"{ModuleName}.ElevatorUp"); } private void SwitchOn_Click(object sender, RoutedEventArgs e) { InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SwitchOn"); } private void SwitchOff_Click(object sender, RoutedEventArgs e) { InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SwitchOff"); } private void Abort_Click(object sender, RoutedEventArgs e) { InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Abort"); } private void Transfer_Click(object sender, RoutedEventArgs e) { if (string.IsNullOrEmpty(FromSelectedItem)) { MessageBox.Show("please select from item", "transfer", MessageBoxButton.OK, MessageBoxImage.Error); return; } if (string.IsNullOrEmpty(ToSelectedItem)) { MessageBox.Show("please select to item", "tranfer", MessageBoxButton.OK, MessageBoxImage.Error); return; } InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Transfer", FromSelectedItem, ToSelectedItem); } private void ReadBarcode_Click(object sender, RoutedEventArgs e) { //由BarcodeReaderController发布 InvokeClient.Instance.Service.DoOperation($"{BarcodeReaderDeviceName}.ReadBarcode"); } private void TuneReader_Click(object sender, RoutedEventArgs e) { InvokeClient.Instance.Service.DoOperation($"{BarcodeReaderDeviceName}.InitializeBarcode"); } #endregion } }