HeaterView.xaml.cs 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. using Aitex.Core.Common.DeviceData;
  2. using MECF.Framework.Common.DataCenter;
  3. using MECF.Framework.Common.Equipment;
  4. using MECF.Framework.Common.OperationCenter;
  5. using System;
  6. using System.Windows;
  7. using System.Windows.Threading;
  8. namespace CyberX8_MainPages.Views
  9. {
  10. /// <summary>
  11. /// HeaterView.xaml 的交互逻辑
  12. /// </summary>
  13. public partial class HeaterView : Window
  14. {
  15. private string ModuleName = "PMA";
  16. public HeaterView(AITHeaterData heaterData)
  17. {
  18. DataContext = this;
  19. HeaterData = heaterData;
  20. InitializeComponent();
  21. DispatcherTimer timer = new DispatcherTimer();
  22. timer.Interval = TimeSpan.FromSeconds(0.5);
  23. timer.Tick += timer_Tick;
  24. timer.Start();
  25. }
  26. public HeaterView(AITHeaterData heaterData,string moduleName)
  27. {
  28. DataContext = this;
  29. HeaterData = heaterData;
  30. InitializeComponent();
  31. ModuleName= moduleName;
  32. DispatcherTimer timer = new DispatcherTimer();
  33. timer.Interval = TimeSpan.FromSeconds(0.5);
  34. timer.Tick += timer_Tick;
  35. timer.Start();
  36. }
  37. void timer_Tick(object sender, EventArgs e)
  38. {
  39. HeaterData = (AITHeaterData)QueryDataClient.Instance.Service.GetData($"{ModuleName}.{HeaterData.DeviceName}.DeviceData");
  40. }
  41. public static readonly DependencyProperty HeaterDataProperty = DependencyProperty.Register(
  42. "HeaterData", typeof(AITHeaterData), typeof(HeaterView));
  43. public AITHeaterData HeaterData
  44. {
  45. get
  46. {
  47. return (AITHeaterData)this.GetValue(HeaterDataProperty);
  48. }
  49. set
  50. {
  51. this.SetValue(HeaterDataProperty, value);
  52. }
  53. }
  54. private void ButtonSet_Click(object sender, RoutedEventArgs e)
  55. {
  56. //float setpoint = (float)Convert.ToDouble(inputBox.Text);
  57. InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{HeaterData.DeviceName}.{AITHeaterOperation.Ramp}", inputBox.Text);
  58. }
  59. private void ButtonCancel_Click(object sender, RoutedEventArgs e)
  60. {
  61. this.Close();
  62. }
  63. private void ButtonHeaterOn_Click(object sender, RoutedEventArgs e)
  64. {
  65. InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{HeaterData.DeviceName}.{AITHeaterOperation.SetPowerOnOff}", true);
  66. }
  67. private void ButtonHeaterOff_Click(object sender, RoutedEventArgs e)
  68. {
  69. InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{HeaterData.DeviceName}.{AITHeaterOperation.SetPowerOnOff}", false);
  70. }
  71. private void Window_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
  72. {
  73. this.DragMove();
  74. }
  75. }
  76. }