MetalSHUIControl.xaml.cs 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257
  1. using MECF.Framework.Common.CommonData.Metal;
  2. using MECF.Framework.Common.OperationCenter;
  3. using System.Windows;
  4. using System.Windows.Controls;
  5. namespace CyberX8_Themes.UserControls
  6. {
  7. /// <summary>
  8. /// MetalSHUIControl.xaml 的交互逻辑
  9. /// </summary>
  10. public partial class MetalSHUIControl : UserControl
  11. {
  12. public MetalSHUIControl()
  13. {
  14. InitializeComponent();
  15. }
  16. public static readonly DependencyProperty ModuleNameProperty = DependencyProperty.Register(
  17. "ModuleName", typeof(string), typeof(MetalSHUIControl),
  18. new FrameworkPropertyMetadata("", FrameworkPropertyMetadataOptions.AffectsRender));
  19. /// <summary>
  20. /// 模块名称
  21. /// </summary>
  22. public string ModuleName
  23. {
  24. get
  25. {
  26. return (string)this.GetValue(ModuleNameProperty);
  27. }
  28. set
  29. {
  30. this.SetValue(ModuleNameProperty, value);
  31. }
  32. }
  33. public static readonly DependencyProperty MetalDataProperty = DependencyProperty.Register(
  34. "MetalData", typeof(StandardHotMetalDeviceData), typeof(MetalSHUIControl), new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.AffectsRender));
  35. /// <summary>
  36. /// MetalDeviceData
  37. /// </summary>
  38. public StandardHotMetalDeviceData MetalData
  39. {
  40. get
  41. {
  42. return (StandardHotMetalDeviceData)this.GetValue(MetalDataProperty);
  43. }
  44. set
  45. {
  46. this.SetValue(MetalDataProperty, value);
  47. }
  48. }
  49. public static readonly DependencyProperty IsErrorProerty = DependencyProperty.Register(
  50. "IsError", typeof(bool), typeof(MetalSHUIControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
  51. /// <summary>
  52. /// 工艺腔体是否error
  53. /// </summary>
  54. public bool IsError
  55. {
  56. get
  57. {
  58. return (bool)this.GetValue(IsErrorProerty);
  59. }
  60. set
  61. {
  62. this.SetValue(IsErrorProerty, value);
  63. }
  64. }
  65. public static readonly DependencyProperty TankColorLevelProperty = DependencyProperty.Register(
  66. "TankColorLevel", typeof(int), typeof(MetalSHUIControl), new FrameworkPropertyMetadata(2, FrameworkPropertyMetadataOptions.AffectsRender));
  67. /// <summary>
  68. /// TankColorLevel 用于储水罐变色
  69. /// </summary>
  70. public int TankColorLevel
  71. {
  72. get
  73. {
  74. return (int)this.GetValue(TankColorLevelProperty);
  75. }
  76. set
  77. {
  78. this.SetValue(TankColorLevelProperty, value);
  79. }
  80. }
  81. public static readonly DependencyProperty IsClampValveOpenProperty = DependencyProperty.Register(
  82. "IsClampValveOpen", typeof(bool), typeof(MetalSHUIControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
  83. /// <summary>
  84. /// ClampValve状态
  85. /// </summary>
  86. public bool IsClampValveOpen
  87. {
  88. get
  89. {
  90. return (bool)this.GetValue(IsClampValveOpenProperty);
  91. }
  92. set
  93. {
  94. this.SetValue(IsClampValveOpenProperty, value);
  95. }
  96. }
  97. public static readonly DependencyProperty IsSingalPumpProperty = DependencyProperty.Register(
  98. "IsSingalPump", typeof(bool), typeof(MetalSHUIControl), new FrameworkPropertyMetadata(true, FrameworkPropertyMetadataOptions.AffectsRender));
  99. /// <summary>
  100. /// ClampValve状态
  101. /// </summary>
  102. public bool IsSingalPump
  103. {
  104. get
  105. {
  106. return (bool)this.GetValue(IsSingalPumpProperty);
  107. }
  108. set
  109. {
  110. this.SetValue(IsSingalPumpProperty, value);
  111. }
  112. }
  113. public static readonly DependencyProperty IsCellCirculationValveOnProperty = DependencyProperty.Register(
  114. "IsCellCirculationValveOn", typeof(bool), typeof(MetalSHUIControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
  115. /// <summary>
  116. /// CellCirculationValve状态(true:cell flow,false:cell bypass)
  117. /// </summary>
  118. public bool IsCellCirculationValveOn
  119. {
  120. get
  121. {
  122. return (bool)this.GetValue(IsCellCirculationValveOnProperty);
  123. }
  124. set
  125. {
  126. this.SetValue(IsCellCirculationValveOnProperty, value);
  127. }
  128. }
  129. public static readonly DependencyProperty IsCellPumpOnProperty = DependencyProperty.Register(
  130. "IsCellPumpOn", typeof(bool), typeof(MetalSHUIControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
  131. /// <summary>
  132. /// CellPump状态
  133. /// </summary>
  134. public bool IsCellPumpOn
  135. {
  136. get
  137. {
  138. return (bool)this.GetValue(IsCellPumpOnProperty);
  139. }
  140. set
  141. {
  142. this.SetValue(IsCellPumpOnProperty, value);
  143. }
  144. }
  145. public static readonly DependencyProperty YaxleDataProperty = DependencyProperty.Register(
  146. "YaxleData", typeof(double), typeof(MetalSHUIControl), new FrameworkPropertyMetadata(170.00, FrameworkPropertyMetadataOptions.AffectsRender));
  147. /// <summary>
  148. /// YaxleData Linmot Y轴位置
  149. /// </summary>
  150. public double YaxleData
  151. {
  152. get
  153. {
  154. return (double)this.GetValue(YaxleDataProperty);
  155. }
  156. set
  157. {
  158. this.SetValue(YaxleDataProperty, value);
  159. }
  160. }
  161. public static readonly DependencyProperty CellFlowProperty = DependencyProperty.Register(
  162. "CellFlow", typeof(double), typeof(MetalSHUIControl),
  163. new FrameworkPropertyMetadata((double)0, FrameworkPropertyMetadataOptions.AffectsRender));
  164. /// <summary>
  165. /// Cell Flow
  166. /// </summary>
  167. public double CellFlow
  168. {
  169. get
  170. {
  171. return (double)this.GetValue(CellFlowProperty);
  172. }
  173. set
  174. {
  175. this.SetValue(CellFlowProperty, value);
  176. }
  177. }
  178. public static readonly DependencyProperty IsWaferHolderProerty = DependencyProperty.Register(
  179. "IsWaferHolder", typeof(bool), typeof(MetalSHUIControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
  180. /// <summary>
  181. /// 工艺腔体是否存在WaferHolder
  182. /// </summary>
  183. public bool IsWaferHolder
  184. {
  185. get
  186. {
  187. return (bool)this.GetValue(IsWaferHolderProerty);
  188. }
  189. set
  190. {
  191. this.SetValue(IsWaferHolderProerty, value);
  192. }
  193. }
  194. public static readonly DependencyProperty IsRunLinmotProerty = DependencyProperty.Register(
  195. "IsRunLinmot", typeof(bool), typeof(MetalSHUIControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
  196. /// <summary>
  197. /// Linmot是否Running
  198. /// </summary>
  199. public bool IsRunLinmot
  200. {
  201. get
  202. {
  203. return (bool)this.GetValue(IsRunLinmotProerty);
  204. }
  205. set
  206. {
  207. this.SetValue(IsRunLinmotProerty, value);
  208. }
  209. }
  210. /// <summary>
  211. /// Clamp Valve
  212. /// </summary>
  213. /// <param name="sender"></param>
  214. /// <param name="e"></param>
  215. private void OpenClampValve_Click(object sender, RoutedEventArgs e)
  216. {
  217. InvokeClient.Instance.Service.DoOperation($"{ModuleName}.ClampOn");
  218. }
  219. private void CloseClampValve_Click(object sender, RoutedEventArgs e)
  220. {
  221. InvokeClient.Instance.Service.DoOperation($"{ModuleName}.ClampOff");
  222. }
  223. /// <summary>
  224. /// Cell Circulation Valve(三向阀)
  225. /// </summary>
  226. /// <param name="sender"></param>
  227. /// <param name="e"></param>
  228. /// 打开Cell Flow(关闭Cell Bypass)
  229. private void OpenCellFlow_Click(object sender, RoutedEventArgs e)
  230. {
  231. InvokeClient.Instance.Service.DoOperation($"{ModuleName}.CellSwitchToFlow");
  232. }
  233. /// <summary>
  234. /// 打开CellBypass(关闭Cell Flow)
  235. /// </summary>
  236. /// <param name="sender"></param>
  237. /// <param name="e"></param>
  238. private void OpenCellBypass_Click(object sender, RoutedEventArgs e)
  239. {
  240. InvokeClient.Instance.Service.DoOperation($"{ModuleName}.CellSwitchToBypass");
  241. }
  242. }
  243. }