SafetyData.cs 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480
  1. using MECF.Framework.Common.CommonData;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using System.Windows.Media;
  8. namespace MECF.Framework.Common.Device.Safety
  9. {
  10. public class SafetyData : NotifiableItem
  11. {
  12. # region 内部变量
  13. /// <summary>
  14. /// Twincat状态
  15. /// </summary>
  16. private double _twincatState;
  17. /// <summary>
  18. /// Main通信故障
  19. /// </summary>
  20. private bool _mainCommErr;
  21. /// <summary>
  22. /// Main Function Block故障
  23. /// </summary>
  24. private bool _mainFbErr;
  25. /// <summary>
  26. /// VPW状态
  27. /// </summary>
  28. private double _vpwHotConectState;
  29. /// <summary>
  30. /// VPW通信故障
  31. /// </summary>
  32. private bool _vpwCommErr;
  33. /// <summary>
  34. /// VPW function block故障
  35. /// </summary>
  36. private bool _vpwFbErr;
  37. /// <summary>
  38. /// RES1_2状态
  39. /// </summary>
  40. private double _res12HotConectState;
  41. /// <summary>
  42. /// RES1_2通信故障
  43. /// </summary>
  44. private bool _res12CommErr;
  45. /// <summary>
  46. /// RES1_2 Function Block故障
  47. /// </summary>
  48. private bool _res12FbErr;
  49. /// <summary>
  50. /// RES3_4状态
  51. /// </summary>
  52. private double _res34HotConectState;
  53. /// <summary>
  54. /// RES3_4通信故障
  55. /// </summary>
  56. private bool _res34CommErr;
  57. /// <summary>
  58. /// RES3_4Function Block故障
  59. /// </summary>
  60. private bool _res34FbErr;
  61. /// <summary>
  62. /// Facility状态
  63. /// </summary>
  64. private double _facilityHotConectState;
  65. /// <summary>
  66. /// Facility通信故障
  67. /// </summary>
  68. private bool _facilityCommErr;
  69. /// <summary>
  70. /// Facility Function Block故障
  71. /// </summary>
  72. private bool _facilityFbErr;
  73. /// <summary>
  74. /// PlatingCell1_2状态
  75. /// </summary>
  76. private double _plating12HotConectState;
  77. /// <summary>
  78. /// Plating1_2通信故障
  79. /// </summary>
  80. private bool _plating12CommErr;
  81. /// <summary>
  82. /// Plating1_2 Function Block故障
  83. /// </summary>
  84. private bool _plating12FbErr;
  85. /// <summary>
  86. /// Plating3_4状态
  87. /// </summary>
  88. private double _plating34HotConectState;
  89. /// <summary>
  90. /// Plating3_4通信故障
  91. /// </summary>
  92. private bool _plating34CommErr;
  93. /// <summary>
  94. /// Plating34 Function Block故障
  95. /// </summary>
  96. private bool _plating34FbErr;
  97. /// <summary>
  98. /// SRD状态
  99. /// </summary>
  100. private double _srdHotConnectState;
  101. /// <summary>
  102. /// SRD通信故障
  103. /// </summary>
  104. private bool _srdCommErr;
  105. /// <summary>
  106. /// SRD Function Block故障
  107. /// </summary>
  108. private bool _srdFbErr;
  109. /// <summary>
  110. /// 数据是否初始化
  111. /// </summary>
  112. private bool _isDataInitialized;
  113. #region Restart
  114. /// <summary>
  115. /// Run stop
  116. /// </summary>
  117. private bool _runStop;
  118. /// <summary>
  119. /// Err ack
  120. /// </summary>
  121. private bool _errAck;
  122. /// <summary>
  123. /// VPW Estop restart
  124. /// </summary>
  125. private bool _vpwStoEstopRestart;
  126. /// <summary>
  127. /// Res12 Estop restart
  128. /// </summary>
  129. private bool _res12StoEstopRestart;
  130. /// <summary>
  131. /// Res34 Estop restart
  132. /// </summary>
  133. private bool _res34StoEstopRestart;
  134. /// <summary>
  135. /// Plating cell 1_2 sto1 estop restart
  136. /// </summary>
  137. private bool _platingCell12Sto1EstopRestart;
  138. /// <summary>
  139. /// Plating cell 1_2 sto2 estop restart
  140. /// </summary>
  141. private bool _platingCell12Sto2EstopRestart;
  142. /// <summary>
  143. /// Plating cell 3_4 sto1 estop restart
  144. /// </summary>
  145. private bool _platingCell34Sto1EstopRestart;
  146. /// <summary>
  147. /// Plating cell 3_4 sto2 estop restart
  148. /// </summary>
  149. private bool _platingCell34Sto2EstopRestart;
  150. /// <summary>
  151. /// Facility sto estop restart
  152. /// </summary>
  153. private bool _facilityStoEstopRestart;
  154. /// <summary>
  155. /// SRD Sto Estop restart
  156. /// </summary>
  157. private bool _srdStoEstopRestart;
  158. #endregion
  159. #region Doors Lock
  160. /// <summary>
  161. /// Req Aligner Door Lock
  162. /// </summary>
  163. private bool _reqAlignerDoorLock;
  164. /// <summary>
  165. /// Req cassette doors lock
  166. /// </summary>
  167. private bool _reqCassetteDoorsLock;
  168. /// <summary>
  169. /// Req cell 1_2 doors lock
  170. /// </summary>
  171. private bool _reqCell12DoorsLock;
  172. /// <summary>
  173. /// Req cell doors lock
  174. /// </summary>
  175. private bool _reqCell34DoorsLock;
  176. #endregion
  177. #region locked
  178. /// <summary>
  179. /// Cell1_2 Doors Left Locked
  180. /// </summary>
  181. private bool _cell12DoorsLeftLocked;
  182. /// <summary>
  183. /// Cell1_2 Doors Right Locked
  184. /// </summary>
  185. private bool _cell12DoorsRightLocked;
  186. /// <summary>
  187. /// Cell3_4 Doors Left Locked
  188. /// </summary>
  189. private bool _cell34DoorsLeftLocked;
  190. /// <summary>
  191. /// Cell3_4 Doors Right Locked
  192. /// </summary>
  193. private bool _cell34DoorsRightLocked;
  194. /// <summary>
  195. /// Aligner Door closed
  196. /// </summary>
  197. private bool _alignerDoorClosed;
  198. /// <summary>
  199. /// Cassette Doors Left locked
  200. /// </summary>
  201. private bool _cassetteDoorsLeftLocked;
  202. /// <summary>
  203. /// Cassette Doors Right locked
  204. /// </summary>
  205. private bool _cassetteDoorsRightLocked;
  206. #endregion
  207. #region Closed
  208. private bool _res12DoorClosed;
  209. private bool _res34DoorClosed;
  210. private bool _vpwDoorClosed;
  211. private bool _plumblingDoorClosed;
  212. private bool _srdPanelClosed;
  213. #endregion
  214. #region Halt
  215. private bool _haltButtonLeft;
  216. private bool _haltButtonRight;
  217. #endregion
  218. #region Leak Detected
  219. private bool _platingCell12LeakDetected;
  220. private bool _platingCell34LeakDetected;
  221. private bool _vacuumPrewetLeakDetected;
  222. private bool _sampleStation1LeakDetected;
  223. private bool _sampleStation2LeakDetected;
  224. private bool _frameContainmentLeakDetected;
  225. #endregion
  226. #region EDM
  227. private bool _reservoir12CAPumpEdm;
  228. private bool _reservoir34CAPumpEdm;
  229. private bool _resDegas1PumpEdm;
  230. private bool _resDegas2PumpEdm;
  231. private bool _vpwVacuumPumpEdm;
  232. private bool _vpwBoosterPumpEdm;
  233. private bool _extFluidEnableEdm;
  234. #endregion
  235. #region Level High
  236. private bool _reservoir1CALevelHigh;
  237. private bool _reservoir2CALevelHigh;
  238. private bool _reservoir3CALevelHigh;
  239. private bool _reservoir4CALevelHigh;
  240. #endregion
  241. #region Axis STO
  242. private bool _vpwCell1RotationStoEdm;
  243. private bool _vpwCell2RotationStoEdm;
  244. private bool _platingCell1RotationStoEdm;
  245. private bool _platingCell2RotationStoEdm;
  246. private bool _platingCell3RotationStoEdm;
  247. private bool _platingCell4RotationStoEdm;
  248. private bool _platingCell12VerticalStoEdm;
  249. private bool _platingCell34VerticalStoEdm;
  250. private bool _srd1RotationStoEdm;
  251. private bool _srd2RotationStoEdm;
  252. #endregion
  253. #endregion
  254. #region 属性
  255. /// <summary>
  256. /// Twincat状态
  257. /// </summary>
  258. public double TwincatState { get { return _twincatState; } set { _twincatState = value; InvokePropertyChanged(nameof(TwincatState)); } }
  259. /// <summary>
  260. /// Ethercat通信故障
  261. /// </summary>
  262. public bool MainCommErr { get { return _mainCommErr; } set { _mainCommErr = value;InvokePropertyChanged(nameof(MainCommErr)); } }
  263. /// <summary>
  264. /// Main Function Block故障
  265. /// </summary>
  266. public bool MainFbErr { get { return _mainFbErr; } set { _mainFbErr = value;InvokePropertyChanged(nameof (MainFbErr)); } }
  267. /// <summary>
  268. /// 数据是否初始化
  269. /// </summary>
  270. public bool IsDataInitialized { get { return _isDataInitialized; } set { _isDataInitialized = value; InvokePropertyChanged(nameof(IsDataInitialized)); } }
  271. public double VpwHotConnectState { get { return _vpwHotConectState; } set { _vpwHotConectState = value;InvokePropertyChanged(nameof(VpwHotConnectState)); } }
  272. public bool VpwCommErr { get { return _vpwCommErr; }set { _vpwCommErr = value; InvokePropertyChanged(nameof(VpwCommErr)); } }
  273. public bool VpwFbErr { get {return _vpwFbErr; } set {_vpwFbErr = value; InvokePropertyChanged(nameof (VpwFbErr)); } }
  274. public double Res12HotConnectState { get { return _res12HotConectState; } set { _res12HotConectState = value;InvokePropertyChanged(nameof(Res12HotConnectState)); } }
  275. public bool Res12CommErr { get { return _res12CommErr; }set {_res12CommErr = value;InvokePropertyChanged(nameof(Res12CommErr)); } }
  276. public bool Res12FbErr { get { return _res12FbErr; } set { _res12FbErr = value; InvokePropertyChanged(nameof(Res12FbErr)); } }
  277. public double Res34HotConnectState { get { return _res34HotConectState; } set { _res34HotConectState = value;InvokePropertyChanged(nameof( Res34HotConnectState)); } }
  278. public bool Res34CommErr { get { return _res34CommErr; }set{_res34CommErr = value;InvokePropertyChanged(nameof (Res34CommErr)); } }
  279. public bool Res34FbErr { get { return _res34FbErr; } set { _res34FbErr = value; InvokePropertyChanged(nameof(Res34FbErr)); } }
  280. public double FacilityHotConnectState { get { return _facilityHotConectState;}set { _facilityHotConectState = value; InvokePropertyChanged(nameof(FacilityHotConnectState));} }
  281. public bool FacilityCommErr { get { return _facilityCommErr; } set { _facilityCommErr = value; InvokePropertyChanged(nameof(FacilityCommErr)); } }
  282. public bool FacilityFbErr { get { return _facilityFbErr; }set { _facilityFbErr = value;InvokePropertyChanged(nameof(FacilityFbErr)); } }
  283. public double Plating12HotConnectState { get { return _plating12HotConectState; } set { _plating12HotConectState = value; InvokePropertyChanged(nameof(Plating12HotConnectState)); } }
  284. public bool Plating12CommErr { get { return _plating12CommErr; } set { _plating12CommErr = value; InvokePropertyChanged(nameof(Plating12CommErr)); } }
  285. public bool Plating12FbErr { get { return _plating12FbErr;}set { _plating12FbErr = value;InvokePropertyChanged(nameof (Plating12FbErr)); } }
  286. public double Plating34HotConnectState { get { return _plating34HotConectState; } set { _plating34HotConectState = value; InvokePropertyChanged(nameof(Plating34HotConnectState)); } }
  287. public bool Plating34CommErr { get { return _plating34CommErr; } set { _plating34CommErr = value; InvokePropertyChanged(nameof(Plating34CommErr)); } }
  288. public bool Plating34FbErr { get { return _plating34FbErr; } set { _plating34FbErr = value; InvokePropertyChanged(nameof(Plating34FbErr)); } }
  289. public double SrdHotConnectState { get { return _srdHotConnectState; } set { _srdHotConnectState = value; InvokePropertyChanged(nameof(SrdHotConnectState)); } }
  290. public bool SrdCommErr { get { return _srdCommErr; } set { _srdCommErr = value; InvokePropertyChanged(nameof(SrdCommErr)); } }
  291. public bool SrdFbErr { get { return _srdFbErr; } set { _srdFbErr = value; InvokePropertyChanged(nameof(SrdFbErr)); } }
  292. #region Restart
  293. /// <summary>
  294. /// Run stop
  295. /// </summary>
  296. public bool RunStop { get { return _runStop; } set { _runStop = value;InvokePropertyChanged(nameof(RunStop)); } }
  297. /// <summary>
  298. /// Err ack
  299. /// </summary>
  300. public bool ErrAck { get { return _errAck; } set { _errAck = value;InvokePropertyChanged(nameof(ErrAck)); } }
  301. /// <summary>
  302. /// VPW Estop restart
  303. /// </summary>
  304. public bool VpwStoEstopRestart { get { return _vpwStoEstopRestart; } set { _vpwStoEstopRestart = value;InvokePropertyChanged(nameof(VpwStoEstopRestart)); } }
  305. /// <summary>
  306. /// Res12 Estop restart
  307. /// </summary>
  308. public bool Res12StoEstopRestart { get { return _res12StoEstopRestart; } set { _res12StoEstopRestart = value;InvokePropertyChanged(nameof(Res12StoEstopRestart)); } }
  309. /// <summary>
  310. /// Res34 Estop restart
  311. /// </summary>
  312. public bool Res34StoEstopRestart { get { return _res34StoEstopRestart; } set { _res34StoEstopRestart = value;InvokePropertyChanged(nameof(Res34StoEstopRestart)); } }
  313. /// <summary>
  314. /// Plating cell 1_2 sto1 estop restart
  315. /// </summary>
  316. public bool PlatingCell12Sto1EstopRestart { get { return _platingCell12Sto1EstopRestart; } set { _platingCell12Sto1EstopRestart = value;InvokePropertyChanged(nameof(PlatingCell12Sto1EstopRestart)); } }
  317. /// <summary>
  318. /// Plating cell 1_2 sto2 estop restart
  319. /// </summary>
  320. public bool PlatingCell12Sto2EstopRestart { get { return _platingCell12Sto2EstopRestart; } set { _platingCell12Sto2EstopRestart = value;InvokePropertyChanged(nameof(PlatingCell12Sto2EstopRestart)); } }
  321. /// <summary>
  322. /// Plating cell 3_4 sto1 estop restart
  323. /// </summary>
  324. public bool PlatingCell34Sto1EstopRestart { get { return _platingCell34Sto1EstopRestart; } set { _platingCell34Sto1EstopRestart = value;InvokePropertyChanged(nameof(PlatingCell34Sto1EstopRestart)); } }
  325. /// <summary>
  326. /// Plating cell 3_4 sto2 estop restart
  327. /// </summary>
  328. public bool PlatingCell34Sto2EstopRestart { get { return _platingCell34Sto2EstopRestart; } set { _platingCell34Sto2EstopRestart = value;InvokePropertyChanged(nameof(PlatingCell34Sto2EstopRestart)); } }
  329. /// <summary>
  330. /// Facility sto estop restart
  331. /// </summary>
  332. public bool FacilityStoEstopRestart { get { return _facilityStoEstopRestart; } set { _facilityStoEstopRestart = value;InvokePropertyChanged(nameof(FacilityStoEstopRestart)); } }
  333. /// <summary>
  334. /// SRD Sto Estop restart
  335. /// </summary>
  336. public bool SrdStoEstopRestart { get { return _srdStoEstopRestart; } set { _srdStoEstopRestart = value;InvokePropertyChanged(nameof(SrdStoEstopRestart)); } }
  337. #endregion
  338. #region Doors Lock
  339. /// <summary>
  340. /// Req Aligner Door Lock
  341. /// </summary>
  342. public bool ReqAlignerDoorLock { get { return _reqAlignerDoorLock; } set { _reqAlignerDoorLock = value;InvokePropertyChanged(nameof(ReqAlignerDoorLock)); } }
  343. /// <summary>
  344. /// Req cassette doors lock
  345. /// </summary>
  346. public bool ReqCassetteDoorsLock { get { return _reqCassetteDoorsLock; } set { _reqCassetteDoorsLock = value;InvokePropertyChanged(nameof(ReqCassetteDoorsLock)); } }
  347. /// <summary>
  348. /// Req cell 1_2 doors lock
  349. /// </summary>
  350. public bool ReqCell12DoorsLock { get { return _reqCell12DoorsLock; } set { _reqCell12DoorsLock = value;InvokePropertyChanged(nameof(ReqCell12DoorsLock)); } }
  351. /// <summary>
  352. /// Req cell doors lock
  353. /// </summary>
  354. public bool ReqCell34DoorsLock { get { return _reqCell34DoorsLock; } set { _reqCell34DoorsLock = value; InvokePropertyChanged(nameof(ReqCell34DoorsLock)); } }
  355. #endregion
  356. #region locked
  357. /// <summary>
  358. /// Cell1_2 Doors Left Locked
  359. /// </summary>
  360. public bool Cell12DoorsLeftLocked { get { return _cell12DoorsLeftLocked; } set { _cell12DoorsLeftLocked = value;InvokePropertyChanged(nameof(Cell12DoorsLeftLocked)); } }
  361. /// <summary>
  362. /// Cell1_2 Doors Right Locked
  363. /// </summary>
  364. public bool Cell12DoorsRightLocked { get { return _cell12DoorsRightLocked; } set { _cell12DoorsRightLocked = value;InvokePropertyChanged(nameof(Cell12DoorsRightLocked)); } }
  365. /// <summary>
  366. /// Cell3_4 Doors Left Locked
  367. /// </summary>
  368. public bool Cell34DoorsLeftLocked { get { return _cell34DoorsLeftLocked; } set { _cell34DoorsLeftLocked = value;InvokePropertyChanged(nameof(Cell34DoorsLeftLocked)); } }
  369. /// <summary>
  370. /// Cell3_4 Doors Right Locked
  371. /// </summary>
  372. public bool Cell34DoorsRightLocked { get { return _cell34DoorsRightLocked; } set { _cell34DoorsRightLocked = value;InvokePropertyChanged(nameof(Cell34DoorsRightLocked)); } }
  373. /// <summary>
  374. /// Aligner Door closed
  375. /// </summary>
  376. public bool AlignerDoorClosed { get { return _alignerDoorClosed; } set { _alignerDoorClosed = value;InvokePropertyChanged(nameof(AlignerDoorClosed)); } }
  377. /// <summary>
  378. /// Cassette Doors Left locked
  379. /// </summary>
  380. public bool CassetteDoorsLeftLocked { get { return _cassetteDoorsLeftLocked; } set { _cassetteDoorsLeftLocked = value;InvokePropertyChanged(nameof(CassetteDoorsLeftLocked)); } }
  381. /// <summary>
  382. /// Cassette Doors Right locked
  383. /// </summary>
  384. public bool CassetteDoorsRightLocked { get { return _cassetteDoorsRightLocked; } set { _cassetteDoorsRightLocked = value;InvokePropertyChanged(nameof(CassetteDoorsRightLocked)); } }
  385. #endregion
  386. #region Closed
  387. public bool Res12DoorClosed { get { return _res12DoorClosed; } set { _res12DoorClosed = value;InvokePropertyChanged(nameof(Res12DoorClosed)); } }
  388. public bool Res34DoorClosed { get { return _res34DoorClosed; } set { _res34DoorClosed = value;InvokePropertyChanged(nameof(Res34DoorClosed)); } }
  389. public bool VpwDoorClosed { get { return _vpwDoorClosed; } set { _vpwDoorClosed = value;InvokePropertyChanged(nameof(VpwDoorClosed)); } }
  390. public bool PlumblingDoorClosed { get { return _plumblingDoorClosed; } set { _plumblingDoorClosed = value;InvokePropertyChanged(nameof(PlumblingDoorClosed)); } }
  391. public bool SrdPanelClosed { get { return _srdPanelClosed; } set { _srdPanelClosed = value;InvokePropertyChanged(nameof(SrdPanelClosed)); } }
  392. #endregion
  393. #region Halt
  394. public bool HaltButtonLeft { get { return _haltButtonLeft; } set { _haltButtonLeft = value;InvokePropertyChanged(nameof(HaltButtonLeft)); } }
  395. public bool HaltButtonRight { get { return _haltButtonRight; } set { _haltButtonRight = value;InvokePropertyChanged(nameof(HaltButtonRight)); } }
  396. #endregion
  397. #region Leak Detected
  398. public bool PlatingCell12LeakDetected { get { return _platingCell12LeakDetected; } set { _platingCell12LeakDetected = value;InvokePropertyChanged(nameof(PlatingCell12LeakDetected)); } }
  399. public bool PlatingCell34LeakDetected { get { return _platingCell34LeakDetected; } set { _platingCell34LeakDetected = value;InvokePropertyChanged(nameof(PlatingCell34LeakDetected)); } }
  400. public bool VacuumPrewetLeakDetected { get { return _vacuumPrewetLeakDetected;} set { _vacuumPrewetLeakDetected = value;InvokePropertyChanged(nameof(VacuumPrewetLeakDetected)); } }
  401. public bool SampleStation1LeakDetected { get { return _sampleStation1LeakDetected;} set { _sampleStation1LeakDetected = value;InvokePropertyChanged(nameof(SampleStation1LeakDetected)); } }
  402. public bool SampleStation2LeakDetected { get { return _sampleStation2LeakDetected; } set { _sampleStation2LeakDetected = value; InvokePropertyChanged(nameof(SampleStation2LeakDetected)); } }
  403. public bool FrameContainmentLeakDetected { get { return _frameContainmentLeakDetected; } set { _frameContainmentLeakDetected = value;InvokePropertyChanged(nameof(FrameContainmentLeakDetected)); } }
  404. #endregion
  405. #region EDM
  406. public bool Reservoir12CAPumpEdm { get { return _reservoir12CAPumpEdm; } set { _reservoir12CAPumpEdm = value;InvokePropertyChanged(nameof(Reservoir12CAPumpEdm)); } }
  407. public bool Reservoir34CAPumpEdm { get { return _reservoir34CAPumpEdm; } set { _reservoir34CAPumpEdm = value;InvokePropertyChanged(nameof(Reservoir34CAPumpEdm)); } }
  408. public bool ResDegas1PumpEdm { get { return _resDegas1PumpEdm; } set { _resDegas1PumpEdm = value;InvokePropertyChanged(nameof(ResDegas1PumpEdm)); } }
  409. public bool ResDegas2PumpEdm { get { return _resDegas2PumpEdm; } set { _resDegas2PumpEdm = value;InvokePropertyChanged(nameof(ResDegas2PumpEdm)); } }
  410. public bool VpwVacuumPumpEdm { get { return _vpwVacuumPumpEdm; } set { _vpwVacuumPumpEdm = value;InvokePropertyChanged(nameof(VpwVacuumPumpEdm)); } }
  411. public bool VpwBoosterPumpEdm { get { return _vpwBoosterPumpEdm; } set { _vpwBoosterPumpEdm = value;InvokePropertyChanged(nameof(VpwBoosterPumpEdm)); } }
  412. public bool ExtFluidEnableEdm { get { return _extFluidEnableEdm; } set { _extFluidEnableEdm = value;InvokePropertyChanged(nameof(ExtFluidEnableEdm)); } }
  413. #endregion
  414. #region Level High
  415. public bool Reservoir1CALevelHigh { get { return _reservoir1CALevelHigh; } set { _reservoir1CALevelHigh = value; InvokePropertyChanged(nameof(Reservoir1CALevelHigh)); } }
  416. public bool Reservoir2CALevelHigh { get { return _reservoir2CALevelHigh; } set { _reservoir2CALevelHigh = value; InvokePropertyChanged(nameof(Reservoir2CALevelHigh)); } }
  417. public bool Reservoir3CALevelHigh { get { return _reservoir3CALevelHigh; } set { _reservoir3CALevelHigh = value; InvokePropertyChanged(nameof(Reservoir3CALevelHigh)); } }
  418. public bool Reservoir4CALevelHigh { get { return _reservoir4CALevelHigh; } set { _reservoir4CALevelHigh = value; InvokePropertyChanged(nameof(Reservoir4CALevelHigh)); } }
  419. #endregion
  420. #region Axis STO
  421. public bool VpwCell1RotationStoEdm { get { return _vpwCell1RotationStoEdm; } set { _vpwCell1RotationStoEdm = value;InvokePropertyChanged(nameof(VpwCell1RotationStoEdm)); } }
  422. public bool VpwCell2RotationStoEdm { get { return _vpwCell2RotationStoEdm; } set { _vpwCell2RotationStoEdm = value;InvokePropertyChanged(nameof(VpwCell2RotationStoEdm)); } }
  423. public bool PlatingCell1RotationStoEdm { get { return _platingCell1RotationStoEdm; } set { _platingCell1RotationStoEdm = value;InvokePropertyChanged(nameof(PlatingCell1RotationStoEdm)); } }
  424. public bool PlatingCell2RotationStoEdm { get { return _platingCell2RotationStoEdm; } set { _platingCell2RotationStoEdm = value; InvokePropertyChanged(nameof(PlatingCell2RotationStoEdm)); } }
  425. public bool PlatingCell3RotationStoEdm { get { return _platingCell3RotationStoEdm; } set { _platingCell3RotationStoEdm = value; InvokePropertyChanged(nameof(PlatingCell3RotationStoEdm)); } }
  426. public bool PlatingCell4RotationStoEdm { get { return _platingCell1RotationStoEdm; } set { _platingCell4RotationStoEdm = value; InvokePropertyChanged(nameof(PlatingCell4RotationStoEdm)); } }
  427. private bool PlatingCell12VerticalStoEdm { get { return _platingCell12VerticalStoEdm; } set { _platingCell12VerticalStoEdm = value;InvokePropertyChanged(nameof(PlatingCell12VerticalStoEdm)); } }
  428. private bool PlatingCell34VerticalStoEdm { get { return _platingCell34VerticalStoEdm; } set { _platingCell34VerticalStoEdm = value; InvokePropertyChanged(nameof(PlatingCell34VerticalStoEdm)); } }
  429. private bool Srd1RotationStoEdm { get { return _srd1RotationStoEdm; } set { _srd1RotationStoEdm = value;InvokePropertyChanged(nameof(Srd1RotationStoEdm)); } }
  430. private bool Srd2RotationStoEdm { get { return _srd2RotationStoEdm; } set { _srd2RotationStoEdm = value;InvokePropertyChanged(nameof(Srd2RotationStoEdm)); } }
  431. #endregion
  432. #endregion
  433. }
  434. }