SRDMoveControl.xaml.cs 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. using MECF.Framework.Common.CommonData.PUF;
  2. using MECF.Framework.Common.CommonData.SRD;
  3. using MECF.Framework.Common.OperationCenter;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Reflection;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. using System.Windows;
  11. using System.Windows.Controls;
  12. using System.Windows.Data;
  13. using System.Windows.Documents;
  14. using System.Windows.Input;
  15. using System.Windows.Media;
  16. using System.Windows.Media.Imaging;
  17. using System.Windows.Navigation;
  18. using System.Windows.Shapes;
  19. namespace CyberX8_Themes.UserControls
  20. {
  21. /// <summary>
  22. /// SRDMoveControl.xaml 的交互逻辑
  23. /// </summary>
  24. public partial class SRDMoveControl : UserControl
  25. {
  26. public SRDMoveControl()
  27. {
  28. InitializeComponent();
  29. }
  30. #region 属性
  31. public static readonly DependencyProperty ModuleNameProperty = DependencyProperty.Register(
  32. "ModuleName", typeof(string), typeof(SRDMoveControl),
  33. new FrameworkPropertyMetadata("", FrameworkPropertyMetadataOptions.AffectsRender));
  34. /// <summary>
  35. /// 模块名称
  36. /// </summary>
  37. public string ModuleName
  38. {
  39. get
  40. {
  41. return (string)this.GetValue(ModuleNameProperty);
  42. }
  43. set
  44. {
  45. this.SetValue(ModuleNameProperty, value);
  46. }
  47. }
  48. public static readonly DependencyProperty InputRotationTimeProperty = DependencyProperty.Register(
  49. "InputRotationTime", typeof(double), typeof(SRDMoveControl), new FrameworkPropertyMetadata(0.00, FrameworkPropertyMetadataOptions.AffectsRender));
  50. /// <summary>
  51. /// InputRotationTime
  52. /// </summary>
  53. public double InputRotationTime
  54. {
  55. get
  56. {
  57. return (double)this.GetValue(InputRotationTimeProperty);
  58. }
  59. set
  60. {
  61. this.SetValue(InputRotationTimeProperty, value);
  62. }
  63. }
  64. public static readonly DependencyProperty InputRotationSpeedProperty = DependencyProperty.Register(
  65. "InputRotationSpeed", typeof(double), typeof(SRDMoveControl), new FrameworkPropertyMetadata(0.00, FrameworkPropertyMetadataOptions.AffectsRender));
  66. /// <summary>
  67. /// InputRotationSpeed
  68. /// </summary>
  69. public double InputRotationSpeed
  70. {
  71. get
  72. {
  73. return (double)this.GetValue(InputRotationSpeedProperty);
  74. }
  75. set
  76. {
  77. this.SetValue(InputRotationSpeedProperty, value);
  78. }
  79. }
  80. public static readonly DependencyProperty CommonDataProperty = DependencyProperty.Register(
  81. "CommonData", typeof(SrdCommonData), typeof(SRDMoveControl), new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.AffectsRender));
  82. /// <summary>
  83. /// CommonData
  84. /// </summary>
  85. public SrdCommonData CommonData
  86. {
  87. get
  88. {
  89. return (SrdCommonData)this.GetValue(CommonDataProperty);
  90. }
  91. set
  92. {
  93. this.SetValue(CommonDataProperty, value);
  94. }
  95. }
  96. #endregion
  97. /// <summary>
  98. /// SRD关门
  99. /// </summary>
  100. /// <param name="sender"></param>
  101. /// <param name="e"></param>
  102. private void Closed_Click(object sender, RoutedEventArgs e)
  103. {
  104. InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Common.DoorClose");
  105. }
  106. /// <summary>
  107. /// SRD开门
  108. /// </summary>
  109. /// <param name="sender"></param>
  110. /// <param name="e"></param>
  111. private void Open_Click(object sender, RoutedEventArgs e)
  112. {
  113. InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Common.DoorOpen");
  114. }
  115. /// <summary>
  116. /// Arm运动到SRD1/2.Arm.Center位置
  117. /// </summary>
  118. /// <param name="sender"></param>
  119. /// <param name="e"></param>
  120. private void Out_Click(object sender, RoutedEventArgs e)
  121. {
  122. InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Arm.GotoSavedPosition", "TargetPosition", $"{ModuleName}.Arm.Center");
  123. }
  124. /// <summary>
  125. /// Arm运动到SRD1/2.Arm.Home位置
  126. /// </summary>
  127. /// <param name="sender"></param>
  128. /// <param name="e"></param>
  129. private void In_Click(object sender, RoutedEventArgs e)
  130. {
  131. InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Arm.GotoSavedPosition", "TargetPosition", $"{ModuleName}.Arm.Home");
  132. }
  133. /// <summary>
  134. /// Rotation旋转开始
  135. /// </summary>
  136. /// <param name="sender"></param>
  137. /// <param name="e"></param>
  138. private void Start_Click(object sender, RoutedEventArgs e)
  139. {
  140. InvokeClient.Instance.Service.DoOperation($"{ModuleName}.StartRotation", InputRotationTime, InputRotationSpeed);
  141. }
  142. /// <summary>
  143. /// Rotation旋转停止
  144. /// </summary>
  145. /// <param name="sender"></param>
  146. /// <param name="e"></param>
  147. private void Stop_Click(object sender, RoutedEventArgs e)
  148. {
  149. InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Rotation.Stop");
  150. }
  151. }
  152. }