using MECF.Framework.Common.CommonData.PUF; using MECF.Framework.Common.CommonData.SRD; using MECF.Framework.Common.OperationCenter; 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 { /// /// SRDMoveControl.xaml 的交互逻辑 /// public partial class SRDMoveControl : UserControl { public SRDMoveControl() { InitializeComponent(); } #region 属性 public static readonly DependencyProperty ModuleNameProperty = DependencyProperty.Register( "ModuleName", typeof(string), typeof(SRDMoveControl), new FrameworkPropertyMetadata("", FrameworkPropertyMetadataOptions.AffectsRender)); /// /// 模块名称 /// public string ModuleName { get { return (string)this.GetValue(ModuleNameProperty); } set { this.SetValue(ModuleNameProperty, value); } } public static readonly DependencyProperty InputRotationTimeProperty = DependencyProperty.Register( "InputRotationTime", typeof(double), typeof(SRDMoveControl), new FrameworkPropertyMetadata(0.00, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// InputRotationTime /// public double InputRotationTime { get { return (double)this.GetValue(InputRotationTimeProperty); } set { this.SetValue(InputRotationTimeProperty, value); } } public static readonly DependencyProperty InputRotationSpeedProperty = DependencyProperty.Register( "InputRotationSpeed", typeof(double), typeof(SRDMoveControl), new FrameworkPropertyMetadata(0.00, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// InputRotationSpeed /// public double InputRotationSpeed { get { return (double)this.GetValue(InputRotationSpeedProperty); } set { this.SetValue(InputRotationSpeedProperty, value); } } public static readonly DependencyProperty CommonDataProperty = DependencyProperty.Register( "CommonData", typeof(SrdCommonData), typeof(SRDMoveControl), new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// CommonData /// public SrdCommonData CommonData { get { return (SrdCommonData)this.GetValue(CommonDataProperty); } set { this.SetValue(CommonDataProperty, value); } } #endregion /// /// SRD关门 /// /// /// private void Closed_Click(object sender, RoutedEventArgs e) { InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Common.DoorClose"); } /// /// SRD开门 /// /// /// private void Open_Click(object sender, RoutedEventArgs e) { InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Common.DoorOpen"); } /// /// Arm运动到SRD1/2.Arm.Center位置 /// /// /// private void Out_Click(object sender, RoutedEventArgs e) { InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Arm.GotoSavedPosition", "TargetPosition", $"{ModuleName}.Arm.Center"); } /// /// Arm运动到SRD1/2.Arm.Home位置 /// /// /// private void In_Click(object sender, RoutedEventArgs e) { InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Arm.GotoSavedPosition", "TargetPosition", $"{ModuleName}.Arm.Home"); } /// /// Rotation旋转开始 /// /// /// private void Start_Click(object sender, RoutedEventArgs e) { InvokeClient.Instance.Service.DoOperation($"{ModuleName}.StartRotation", InputRotationTime, InputRotationSpeed); } /// /// Rotation旋转停止 /// /// /// private void Stop_Click(object sender, RoutedEventArgs e) { InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Rotation.Stop"); } } }