SafetyData.cs 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676
  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. /// Loader/Puf通信故障
  23. /// </summary>
  24. private bool _loaderPufCommErr;
  25. /// <summary>
  26. /// srd通信故障
  27. /// </summary>
  28. private bool _srdCommErr;
  29. /// <summary>
  30. /// transporter通信故障
  31. /// </summary>
  32. private bool _transportCommErr;
  33. /// <summary>
  34. /// Twincat Function Block故障
  35. /// </summary>
  36. private bool _mainFunctionBlockErr;
  37. /// <summary>
  38. /// loader/puf function block故障
  39. /// </summary>
  40. private bool _loaderPufFunctionBlockErr;
  41. /// <summary>
  42. /// srd function block故障
  43. /// </summary>
  44. private bool _srdFunctionBlockErr;
  45. /// <summary>
  46. /// Transporter function block故障
  47. /// </summary>
  48. private bool _transporterFunctionBlockErr;
  49. /// <summary>
  50. /// 数据是否初始化
  51. /// </summary>
  52. private bool _isDataInitialized;
  53. #region HotConnect
  54. /// <summary>
  55. /// loader Hot Connect状态
  56. /// </summary>
  57. private double _loaderHotConnectState;
  58. /// <summary>
  59. /// ldr hot connect状态
  60. /// </summary>
  61. private double _ldrHotConnectState;
  62. /// <summary>
  63. /// prc hot connect状态
  64. /// </summary>
  65. private double _prcHotConnectState;
  66. /// <summary>
  67. /// transporter hot connect状态
  68. /// </summary>
  69. private double _transporterHotConnectState;
  70. /// <summary>
  71. /// puf hot connect状态
  72. /// </summary>
  73. private double _pufHotConnectState;
  74. /// <summary>
  75. /// srd hot connect状态
  76. /// </summary>
  77. private double _srdHotConnectState;
  78. /// <summary>
  79. /// reservoir1 hot connect状态
  80. /// </summary>
  81. private double _reservoir1HotConnectState;
  82. /// <summary>
  83. /// reservoir2 hot connect状态
  84. /// </summary>
  85. private double _reservoir2HotConnectState;
  86. /// <summary>
  87. /// FFU hot connect状态
  88. /// </summary>
  89. private double _ffuHotConnectState;
  90. #endregion
  91. #region Restart
  92. /// <summary>
  93. /// Run stop
  94. /// </summary>
  95. private bool _runStop;
  96. /// <summary>
  97. /// Err ack
  98. /// </summary>
  99. private bool _errAck;
  100. /// <summary>
  101. /// sls restart
  102. /// </summary>
  103. private bool _slsRestart;
  104. /// <summary>
  105. /// tx sto mon Restart
  106. /// </summary>
  107. private bool _txStoMonRestart;
  108. /// <summary>
  109. /// tx sto1 estop restart
  110. /// </summary>
  111. private bool _txSto1EstopRestart;
  112. /// <summary>
  113. /// tx sto2 estop restart
  114. /// </summary>
  115. private bool _txSto2EstopRestart;
  116. /// <summary>
  117. /// ldr/puf sto mon restart
  118. /// </summary>
  119. private bool _ldrPufStoMonRestart;
  120. /// <summary>
  121. /// ldr/puf Sto1 Estop Restart
  122. /// </summary>
  123. private bool _ldrPufSto1EstopRestart;
  124. /// <summary>
  125. /// ldr/puf sto2 estop restart
  126. /// </summary>
  127. private bool _ldrPufSto2EstopRestart;
  128. /// <summary>
  129. /// srd sto estop restart
  130. /// </summary>
  131. private bool _srdStoEstopRestart;
  132. /// <summary>
  133. /// pump sto estop restart
  134. /// </summary>
  135. private bool _pumpStoEstopRestart;
  136. /// <summary>
  137. /// fluid estop restart
  138. /// </summary>
  139. private bool _fluidEstopRestart;
  140. #endregion
  141. #region door lock
  142. /// <summary>
  143. /// loader door lock
  144. /// </summary>
  145. private bool _loaderDoorLock;
  146. /// <summary>
  147. /// Loader Door Locked
  148. /// </summary>
  149. private bool _loaderDoorLocked;
  150. /// <summary>
  151. /// Lower Loader Panel Removed
  152. /// </summary>
  153. private bool _lowerLoaderPanelRemoved;
  154. /// <summary>
  155. /// Loader Panel Removed
  156. /// </summary>
  157. private bool _loaderPanelRemoved;
  158. /// <summary>
  159. /// Buffer door lock
  160. /// </summary>
  161. private bool _bufferDoorLock;
  162. /// <summary>
  163. /// Buffer door locked
  164. /// </summary>
  165. private bool _bufferDoorLocked;
  166. /// <summary>
  167. /// Buffer Panel Removed
  168. /// </summary>
  169. private bool _bufferPanelRemoved;
  170. /// <summary>
  171. /// Process door lock
  172. /// </summary>
  173. private bool _processDoorLock;
  174. /// <summary>
  175. /// Process door1 locked
  176. /// </summary>
  177. private bool _processDoor1Locked;
  178. /// <summary>
  179. /// Process door2 locked
  180. /// </summary>
  181. private bool _processDoor2Locked;
  182. /// <summary>
  183. /// Process door3 locked
  184. /// </summary>
  185. private bool _processDoor3Locked;
  186. /// <summary>
  187. /// Process door4 locked
  188. /// </summary>
  189. private bool _processDoor4Locked;
  190. /// <summary>
  191. /// Process Upper Panels On
  192. /// </summary>
  193. private bool _processUpperPanelsOn;
  194. #endregion
  195. /// <summary>
  196. /// SRD Top Panel Removed
  197. /// </summary>
  198. private bool _srdTopPanelRemoved;
  199. //SRD Lower Panel Removed
  200. private bool _srdLowerPanelRemoved;
  201. /// <summary>
  202. /// Plumbing Door Closed
  203. /// </summary>
  204. private bool _plumbingDoorClosed;
  205. /// <summary>
  206. /// Process Halt Button1
  207. /// </summary>
  208. private bool _processHaltButton1;
  209. /// <summary>
  210. /// Process Halt Button2
  211. /// </summary>
  212. private bool _processHaltButton2;
  213. /// <summary>
  214. /// Loader Halt Button
  215. /// </summary>
  216. private bool _loaderHaltButton;
  217. /// <summary>
  218. /// Mode Selector Switch
  219. /// </summary>
  220. private bool _modeSelectorSwitch;
  221. /// <summary>
  222. /// Mode Siren
  223. /// </summary>
  224. private bool _modeSiren;
  225. #region SLS
  226. private bool _loaderRotationSls;
  227. private bool _loaderSwingASls;
  228. private bool _loaderSwingBSls;
  229. private bool _loaderTiltASls;
  230. private bool _loaderTiltBSls;
  231. private bool _puf1VerticalSls;
  232. private bool _puf2VerticalSls;
  233. private bool _loaderGantrySls;
  234. private bool _loaderElevatorSls;
  235. private bool _processGantrySls;
  236. private bool _processElevatorSls;
  237. #endregion
  238. #region Disable
  239. /// <summary>
  240. /// Puf vertical disable
  241. /// </summary>
  242. private bool _pufVerticalDisable;
  243. /// <summary>
  244. /// Puf1 flip/Rotation Disable
  245. /// </summary>
  246. private bool _puf1FlipRotationDisable;
  247. /// <summary>
  248. /// Puf2 flip/rotation disable
  249. /// </summary>
  250. private bool _puf2FlipRotationDisable;
  251. /// <summary>
  252. /// loader disable
  253. /// </summary>
  254. private bool _loaderDisable;
  255. /// <summary>
  256. /// transporter disable
  257. /// </summary>
  258. private bool _transporterDisable;
  259. /// <summary>
  260. /// srd arm disable
  261. /// </summary>
  262. private bool _srdArmDisable;
  263. /// <summary>
  264. /// srd rotation disable
  265. /// </summary>
  266. private bool _srdRotationDisable;
  267. #endregion
  268. #region safety
  269. /// <summary>
  270. /// Transporter safe SLS
  271. /// </summary>
  272. private bool _transporterSafeSls;
  273. /// <summary>
  274. /// Loader Safe Sls
  275. /// </summary>
  276. private bool _loaderSafeSls;
  277. /// <summary>
  278. /// Puf Vertical Safe Sls
  279. /// </summary>
  280. private bool _pufVerticalSafeSls;
  281. /// <summary>
  282. /// Loader Safe Sto
  283. /// </summary>
  284. private bool _loaderSafeSto;
  285. /// <summary>
  286. /// Puf Vertical Safe Sto
  287. /// </summary>
  288. private bool _pufVerticalSafeSto;
  289. /// <summary>
  290. /// Puf1 Flip/Rotation Safe Sto
  291. /// </summary>
  292. private bool _puf1FlipRotationSafeSto;
  293. /// <summary>
  294. /// Puf2 Flip/Rotation Safe Sto
  295. /// </summary>
  296. private bool _puf2FlipRotationSafeSto;
  297. /// <summary>
  298. /// Transporter Safe Sto
  299. /// </summary>
  300. private bool _transporterSafeSto;
  301. /// <summary>
  302. /// SRD Arm Safe Sto
  303. /// </summary>
  304. private bool _srdArmSafeSto;
  305. /// <summary>
  306. /// SRD Rotation Safe Sto
  307. /// </summary>
  308. private bool _srdRotationSafeSto;
  309. #endregion
  310. #region Plumbing
  311. /// <summary>
  312. /// Pump EDM
  313. /// </summary>
  314. private bool _pumpEdm;
  315. /// <summary>
  316. /// Reservoir High Level
  317. /// </summary>
  318. private bool _reservoirHighLevel;
  319. /// <summary>
  320. /// Fluid Enable EDM
  321. /// </summary>
  322. private bool _fluidEnableEdm;
  323. #endregion
  324. private double _srdArmReset;
  325. #endregion
  326. #region 属性
  327. /// <summary>
  328. /// Twincat状态
  329. /// </summary>
  330. public double TwincatState { get { return _twincatState; } set { _twincatState = value; InvokePropertyChanged(nameof(TwincatState)); } }
  331. /// <summary>
  332. /// Ethercat通信故障
  333. /// </summary>
  334. public bool MainCommErr { get { return _mainCommErr; } set { _mainCommErr = value;InvokePropertyChanged(nameof(MainCommErr)); } }
  335. /// <summary>
  336. /// Loader/puf通信故障
  337. /// </summary>
  338. public bool LoaderPufCommErr { get { return _loaderPufCommErr; } set { _loaderPufCommErr = value;InvokePropertyChanged(nameof(LoaderPufCommErr)); } }
  339. /// <summary>
  340. /// SRD通信故障
  341. /// </summary>
  342. public bool SrdCommErr { get { return _srdCommErr; } set { _srdCommErr = value;InvokePropertyChanged(nameof(SrdCommErr)); } }
  343. /// <summary>
  344. /// Transport 通信故障
  345. /// </summary>
  346. public bool TransportCommErr { get { return _transportCommErr; } set { _transportCommErr = value;InvokePropertyChanged(nameof(TransportCommErr)); } }
  347. /// <summary>
  348. /// Twincat function block错误
  349. /// </summary>
  350. public bool MainFunctionBlockErr { get { return _mainFunctionBlockErr; } set { _mainFunctionBlockErr = value; InvokePropertyChanged(nameof(MainFunctionBlockErr)); } }
  351. /// <summary>
  352. /// Loader/Puf function block错误
  353. /// </summary>
  354. public bool LoaderPufFunctionBlockErr { get { return _loaderPufFunctionBlockErr; } set { _loaderPufFunctionBlockErr = value;InvokePropertyChanged(nameof(LoaderPufFunctionBlockErr)); } }
  355. /// <summary>
  356. /// srd function block错误
  357. /// </summary>
  358. public bool SrdFunctionBlockErr { get { return _srdFunctionBlockErr; } set { _srdFunctionBlockErr = value;InvokePropertyChanged(nameof(SrdFunctionBlockErr)); } }
  359. /// <summary>
  360. /// Transporter Function Block 错误
  361. /// </summary>
  362. public bool TransporterFunctionBlockErr { get { return _transporterFunctionBlockErr; } set { _transporterFunctionBlockErr = value;InvokePropertyChanged(nameof(TransporterFunctionBlockErr)); } }
  363. #region Hot connect状态
  364. /// <summary>
  365. /// Loader Hot connect状态
  366. /// </summary>
  367. public double LoaderHotConnectState { get { return _loaderHotConnectState; } set { _loaderHotConnectState = value; InvokePropertyChanged(nameof(LoaderHotConnectState)); } }
  368. /// <summary>
  369. /// Puf Hot connect状态
  370. /// </summary>
  371. public double PufHotConnectState { get { return _pufHotConnectState; } set { _pufHotConnectState = value;InvokePropertyChanged(nameof(PufHotConnectState)); } }
  372. /// <summary>
  373. /// Srd Hot connect状态
  374. /// </summary>
  375. public double SrdHotConnectState { get { return _srdHotConnectState; } set { _srdHotConnectState = value;InvokePropertyChanged(nameof(SrdHotConnectState)); } }
  376. /// <summary>
  377. /// ldr Hot connect 状态
  378. /// </summary>
  379. public double LdrHotConnectState { get { return _ldrHotConnectState; } set { _ldrHotConnectState = value;InvokePropertyChanged(nameof(LdrHotConnectState)); } }
  380. /// <summary>
  381. /// Prc Hot Connect状态
  382. /// </summary>
  383. public double PrcHotConnectState { get { return _prcHotConnectState; } set { _prcHotConnectState = value;InvokePropertyChanged(nameof(PrcHotConnectState)); } }
  384. /// <summary>
  385. /// Reservoir1 Hot connect状态
  386. /// </summary>
  387. public double Reservoir1HotConnectState { get { return _reservoir1HotConnectState; } set { _reservoir1HotConnectState = value; InvokePropertyChanged(nameof(Reservoir1HotConnectState)); } }
  388. /// <summary>
  389. /// Reservoir2 Hot connect状态
  390. /// </summary>
  391. public double Reservoir2HotConnectState { get { return _reservoir2HotConnectState; } set { _reservoir2HotConnectState = value;InvokePropertyChanged(nameof(Reservoir2HotConnectState)); } }
  392. /// <summary>
  393. /// FFU Hot Connect 状态
  394. /// </summary>
  395. public double FFUHotConnectState { get { return _ffuHotConnectState; } set { _ffuHotConnectState = value; InvokePropertyChanged(nameof(FFUHotConnectState)); } }
  396. /// <summary>
  397. /// transporter hot connect state
  398. /// </summary>
  399. public double TransporterHotConnectState { get { return _transporterHotConnectState; } set { _transporterHotConnectState = value;InvokePropertyChanged(nameof(TransporterHotConnectState)); } }
  400. #endregion
  401. #region Restart
  402. /// <summary>
  403. /// RunStop
  404. /// </summary>
  405. public bool RunStop { get { return _runStop; } set { _runStop = value; InvokePropertyChanged(nameof(RunStop)); } }
  406. /// <summary>
  407. /// err ack
  408. /// </summary>
  409. public bool ErrAck { get { return _errAck; } set { _errAck = value;InvokePropertyChanged(nameof(ErrAck)); } }
  410. /// <summary>
  411. /// sls restart
  412. /// </summary>
  413. public bool SlsRestart { get { return _slsRestart; } set { _slsRestart = value;InvokePropertyChanged(nameof(SlsRestart)); } }
  414. /// <summary>
  415. /// tx sto mon restart
  416. /// </summary>
  417. public bool TxStoMonRestart { get { return _txStoMonRestart; } set { _txStoMonRestart = value;InvokePropertyChanged(nameof(TxStoMonRestart)); } }
  418. /// <summary>
  419. /// tx sto1 estop restart
  420. /// </summary>
  421. public bool TxSto1EstopRestart { get { return _txSto1EstopRestart; } set { _txSto1EstopRestart = value;InvokePropertyChanged(nameof(TxSto1EstopRestart)); } }
  422. /// <summary>
  423. /// tx sto2 estop restart
  424. /// </summary>
  425. public bool TxSto2EstopRestart { get { return _txSto2EstopRestart; } set { _txSto2EstopRestart = value;InvokePropertyChanged(nameof(TxSto2EstopRestart)); } }
  426. /// <summary>
  427. /// Loader/Puf sto Mon restart
  428. /// </summary>
  429. public bool LdrPufStoMonRestart { get { return _ldrPufStoMonRestart; } set { _ldrPufStoMonRestart = value;InvokePropertyChanged(nameof(LdrPufStoMonRestart)); } }
  430. /// <summary>
  431. /// Loader/Puf sto1 estop restart
  432. /// </summary>
  433. public bool LdrPufSto1EstopRestart { get { return _ldrPufSto1EstopRestart; } set { _ldrPufSto1EstopRestart = value;InvokePropertyChanged(nameof(LdrPufSto1EstopRestart)); } }
  434. /// <summary>
  435. /// Loader/Puf sto2 estop restart
  436. /// </summary>
  437. public bool LdrPufSto2EstopRestart { get { return _ldrPufSto2EstopRestart; } set { _ldrPufSto2EstopRestart = value;InvokePropertyChanged(nameof(LdrPufSto2EstopRestart)); } }
  438. /// <summary>
  439. /// SRD sto estop restart
  440. /// </summary>
  441. public bool SrdStoEstopRestart { get { return _srdStoEstopRestart; } set { _srdStoEstopRestart = value;InvokePropertyChanged(nameof(SrdStoEstopRestart)); } }
  442. /// <summary>
  443. /// Pump sto estop restart
  444. /// </summary>
  445. public bool PumpStoEstopRestart { get { return _pumpStoEstopRestart; } set { _pumpStoEstopRestart = value;InvokePropertyChanged(nameof(PumpStoEstopRestart)); } }
  446. /// <summary>
  447. /// Fluid Estop restart
  448. /// </summary>
  449. public bool FluidEstopRestart { get { return _fluidEstopRestart; } set { _fluidEstopRestart = value;InvokePropertyChanged(nameof(FluidEstopRestart)); } }
  450. #endregion
  451. #region door lock
  452. /// <summary>
  453. /// Load Door Lock
  454. /// </summary>
  455. public bool LoaderDoorLock { get { return _loaderDoorLock; } set { _loaderDoorLock = value;InvokePropertyChanged(nameof(LoaderDoorLock)); } }
  456. /// <summary>
  457. /// Load Door Locked
  458. /// </summary>
  459. public bool LoaderDoorLocked { get { return _loaderDoorLocked; } set { _loaderDoorLocked = value;InvokePropertyChanged(nameof(LoaderDoorLocked)); } }
  460. /// <summary>
  461. /// Loader Panel removed
  462. /// </summary>
  463. public bool LoaderPanelRemoved { get { return _loaderPanelRemoved; } set { _loaderPanelRemoved = value;InvokePropertyChanged(nameof(LoaderPanelRemoved)); } }
  464. /// <summary>
  465. /// Lower Loader Panel Removed
  466. /// </summary>
  467. public bool LowerLoaderPanelRemoved { get { return _lowerLoaderPanelRemoved; } set { _lowerLoaderPanelRemoved = value; InvokePropertyChanged(nameof(LowerLoaderPanelRemoved)); } }
  468. /// <summary>
  469. /// Buffer Door Lock
  470. /// </summary>
  471. public bool BufferDoorLock { get { return _bufferDoorLock; } set { _bufferDoorLock = value;InvokePropertyChanged(nameof(BufferDoorLock)); } }
  472. /// <summary>
  473. /// Buffer Door Locked
  474. /// </summary>
  475. public bool BufferDoorLocked { get { return _bufferDoorLocked; } set { _bufferDoorLocked = value;InvokePropertyChanged(nameof(BufferDoorLocked)); } }
  476. /// <summary>
  477. /// Buffer Panel Removed
  478. /// </summary>
  479. public bool BufferPanelRemoved { get { return _bufferPanelRemoved; } set { _bufferPanelRemoved = value;InvokePropertyChanged(nameof(BufferPanelRemoved)); } }
  480. /// <summary>
  481. /// Process Door Lock
  482. /// </summary>
  483. public bool ProcessDoorLock { get { return _processDoorLock; } set { _processDoorLock = value;InvokePropertyChanged(nameof(ProcessDoorLock)); } }
  484. /// <summary>
  485. /// Process Door1 Locked
  486. /// </summary>
  487. public bool ProcessDoor1Locked { get { return _processDoor1Locked; } set { _processDoor1Locked = value;InvokePropertyChanged(nameof(ProcessDoor1Locked)); } }
  488. /// <summary>
  489. /// Process Door2 Locked
  490. /// </summary>
  491. public bool ProcessDoor2Locked { get { return _processDoor2Locked; } set { _processDoor2Locked = value;InvokePropertyChanged(nameof(ProcessDoor2Locked)); } }
  492. /// <summary>
  493. /// Process Door3 Locked
  494. /// </summary>
  495. public bool ProcessDoor3Locked { get { return _processDoor3Locked; } set { _processDoor3Locked = value;InvokePropertyChanged(nameof(ProcessDoor3Locked)); } }
  496. /// <summary>
  497. /// Process Door4 Locked
  498. /// </summary>
  499. public bool ProcessDoor4Locked { get { return _processDoor4Locked; } set { _processDoor4Locked = value;InvokePropertyChanged(nameof(ProcessDoor4Locked)); } }
  500. /// <summary>
  501. /// Process Upper Panels On
  502. /// </summary>
  503. public bool ProcessUpperPanelsOn { get { return _processUpperPanelsOn; } set { _processUpperPanelsOn = value;InvokePropertyChanged(nameof(ProcessUpperPanelsOn)); } }
  504. #endregion
  505. /// <summary>
  506. /// Srd top panel removed
  507. /// </summary>
  508. public bool SrdTopPanelRemoved { get { return _srdTopPanelRemoved; } set { _srdTopPanelRemoved = value;InvokePropertyChanged(nameof(SrdTopPanelRemoved)); } }
  509. /// <summary>
  510. /// SRD Lower Panel Removed
  511. /// </summary>
  512. public bool SrdLowerPanelRemoved { get { return _srdLowerPanelRemoved; } set { _srdLowerPanelRemoved = value;InvokePropertyChanged(nameof(SrdLowerPanelRemoved)); } }
  513. /// <summary>
  514. /// Plumbing Door Closed
  515. /// </summary>
  516. public bool PlumbingDoorClosed { get { return _plumbingDoorClosed; } set { _plumbingDoorClosed = value;InvokePropertyChanged(nameof(PlumbingDoorClosed)); } }
  517. /// <summary>
  518. /// Process Halt Button1
  519. /// </summary>
  520. public bool ProcessHaltButton1 { get { return _processHaltButton1; } set { _processHaltButton1 = value;InvokePropertyChanged(nameof(ProcessHaltButton1)); } }
  521. /// <summary>
  522. /// Process Halt Button2
  523. /// </summary>
  524. public bool ProcessHaltButton2 { get { return _processHaltButton2; } set { _processHaltButton2 = value; InvokePropertyChanged(nameof(ProcessHaltButton2)); } }
  525. /// <summary>
  526. /// Loader Halt Button
  527. /// </summary>
  528. public bool LoaderHaltButton { get { return _loaderHaltButton; } set { _loaderHaltButton = value;InvokePropertyChanged(nameof(LoaderHaltButton)); } }
  529. /// <summary>
  530. /// Mode Selector Switch
  531. /// </summary>
  532. public bool ModeSelectorSwitch { get { return _modeSelectorSwitch; } set { _modeSelectorSwitch = value;InvokePropertyChanged(nameof(ModeSelectorSwitch)); } }
  533. /// <summary>
  534. /// ModeSiren
  535. /// </summary>
  536. public bool ModeSiren { get { return _modeSiren; } set { _modeSiren = value;InvokePropertyChanged(nameof(ModeSiren)); } }
  537. #region SLS
  538. public bool LoaderRotationSls { get { return _loaderRotationSls; } set { _loaderRotationSls = value;InvokePropertyChanged(nameof(LoaderRotationSls)); } }
  539. public bool LoaderSwingASls { get { return _loaderSwingASls; } set { _loaderSwingASls = value;InvokePropertyChanged(nameof(LoaderSwingASls)); } }
  540. public bool LoaderSwingBSls { get { return _loaderSwingBSls; } set { _loaderSwingBSls = value;InvokePropertyChanged(nameof(LoaderSwingBSls)); } }
  541. public bool LoaderTiltASls { get { return _loaderTiltASls; } set { _loaderTiltASls = value;InvokePropertyChanged(nameof(LoaderTiltASls)); } }
  542. public bool LoaderTiltBSls { get { return _loaderTiltBSls; } set { _loaderTiltBSls = value;InvokePropertyChanged(nameof(LoaderTiltBSls)); } }
  543. public bool Puf1VerticalSls { get { return _puf1VerticalSls; } set { _puf1VerticalSls = value;InvokePropertyChanged(nameof(Puf1VerticalSls)); } }
  544. public bool Puf2VerticalSls { get { return _puf2VerticalSls; } set { _puf2VerticalSls = value;InvokePropertyChanged(nameof(Puf2VerticalSls)); } }
  545. public bool LoaderGantrySls { get { return _loaderGantrySls; } set { _loaderGantrySls = value; InvokePropertyChanged(nameof(LoaderGantrySls)); } }
  546. public bool LoaderElevatorSls { get { return _loaderElevatorSls; } set { _loaderElevatorSls = value;InvokePropertyChanged(nameof(LoaderElevatorSls)); } }
  547. public bool ProcessGantrySls { get { return _processGantrySls; } set { _processGantrySls = value;InvokePropertyChanged(nameof(ProcessGantrySls)); } }
  548. public bool ProcessElevatorSls { get { return _processElevatorSls; } set { _processElevatorSls = value;InvokePropertyChanged(nameof(ProcessElevatorSls)); } }
  549. #endregion
  550. #region Disable
  551. /// <summary>
  552. /// Puf Vertical Disable
  553. /// </summary>
  554. public bool PufVerticalDisable { get { return _pufVerticalDisable; } set { _pufVerticalDisable = value;InvokePropertyChanged(nameof(PufVerticalDisable)); } }
  555. /// <summary>
  556. /// Puf1 Flip Rotation Disable
  557. /// </summary>
  558. public bool Puf1FlipRotationDisable { get { return _puf1FlipRotationDisable; } set { _puf1FlipRotationDisable = value;InvokePropertyChanged(nameof(Puf1FlipRotationDisable)); } }
  559. /// <summary>
  560. /// Puf2 Flip Rotation Disable
  561. /// </summary>
  562. public bool Puf2FlipRotationDisable { get { return _puf2FlipRotationDisable; } set { _puf2FlipRotationDisable = value; InvokePropertyChanged(nameof(Puf2FlipRotationDisable)); } }
  563. /// <summary>
  564. /// Loader Disable
  565. /// </summary>
  566. public bool LoaderDisable { get { return _loaderDisable; } set { _loaderDisable = value;InvokePropertyChanged(nameof(LoaderDisable)); } }
  567. /// <summary>
  568. /// Transporter Disable
  569. /// </summary>
  570. public bool TransporterDisable { get { return _transporterDisable; } set { _transporterDisable = value;InvokePropertyChanged(nameof(TransporterDisable)); } }
  571. /// <summary>
  572. /// Srd Arm Disable
  573. /// </summary>
  574. public bool SrdArmDisable { get { return _srdArmDisable; } set { _srdArmDisable = value;InvokePropertyChanged(nameof(SrdArmDisable)); } }
  575. /// <summary>
  576. /// Srd Rotation disable
  577. /// </summary>
  578. public bool SrdRotationDisable { get { return _srdRotationDisable; } set { _srdRotationDisable = value;InvokePropertyChanged(nameof(SrdRotationDisable)); } }
  579. #endregion
  580. #region Safety
  581. /// <summary>
  582. /// Transporter Safe Sls
  583. /// </summary>
  584. public bool TransporterSafeSls { get { return _transporterSafeSls; } set { _transporterSafeSls = value;InvokePropertyChanged(nameof(TransporterSafeSls)); } }
  585. /// <summary>
  586. /// Loader Safe Sls
  587. /// </summary>
  588. public bool LoaderSafeSls { get { return _loaderSafeSls; } set { _loaderSafeSls = value;InvokePropertyChanged(nameof (LoaderSafeSls)); } }
  589. /// <summary>
  590. /// Puf vertical safe sls
  591. /// </summary>
  592. public bool PufVerticalSafeSls { get { return _pufVerticalSafeSls; } set { _pufVerticalSafeSls = value;InvokePropertyChanged(nameof(PufVerticalSafeSls)); } }
  593. /// <summary>
  594. /// Loader Safe sto
  595. /// </summary>
  596. public bool LoaderSafeSto { get { return _loaderSafeSto; } set { _loaderSafeSto = value;InvokePropertyChanged(nameof(LoaderSafeSto)); } }
  597. /// <summary>
  598. /// Puf vertical safe sto
  599. /// </summary>
  600. public bool PufVerticalSafeSto { get { return _pufVerticalSafeSto; } set { _pufVerticalSafeSto = value;InvokePropertyChanged(nameof(PufVerticalSafeSto)); } }
  601. /// <summary>
  602. /// Puf1 Flip rotation safe sto
  603. /// </summary>
  604. public bool Puf1FlipRotationSafeSto { get { return _puf1FlipRotationSafeSto; } set { _puf1FlipRotationSafeSto = value; InvokePropertyChanged(nameof(Puf1FlipRotationSafeSto)); } }
  605. /// <summary>
  606. /// Puf2 Flip rotation safe sto
  607. /// </summary>
  608. public bool Puf2FlipRotationSafeSto { get { return _puf2FlipRotationSafeSto; } set { _puf2FlipRotationSafeSto = value;InvokePropertyChanged(nameof(Puf2FlipRotationSafeSto)); } }
  609. /// <summary>
  610. /// Transporter Safe Sto
  611. /// </summary>
  612. public bool TransporterSafeSto { get { return _transporterSafeSto; } set { _transporterSafeSto = value;InvokePropertyChanged(nameof(TransporterSafeSto)); } }
  613. /// <summary>
  614. /// Srd Arm safe sto
  615. /// </summary>
  616. public bool SrdArmSafeSto { get { return _srdArmSafeSto; } set { _srdArmSafeSto = value;InvokePropertyChanged(nameof(SrdArmSafeSto)); } }
  617. /// <summary>
  618. /// Srd Rotation Safe Sto
  619. /// </summary>
  620. public bool SrdRotationSafeSto { get { return _srdRotationSafeSto; } set { _srdRotationSafeSto = value;InvokePropertyChanged(nameof(SrdRotationSafeSto)); } }
  621. #endregion
  622. #region Plumbling
  623. /// <summary>
  624. /// Pump EDM
  625. /// </summary>
  626. public bool PumpEdm { get { return _pumpEdm; } set { _pumpEdm = value; InvokePropertyChanged(nameof(PumpEdm)); } }
  627. /// <summary>
  628. /// Reservoir High Level
  629. /// </summary>
  630. public bool ReservoirHighLevel { get { return _reservoirHighLevel; } set { _reservoirHighLevel = value;InvokePropertyChanged(nameof(ReservoirHighLevel)); } }
  631. /// <summary>
  632. /// Fluid EDM
  633. /// </summary>
  634. public bool FluidEnableEdm { get { return _fluidEnableEdm; } set { _fluidEnableEdm = value;InvokePropertyChanged(nameof(FluidEnableEdm)); } }
  635. #endregion
  636. public double SRDArmReset { get { return _srdArmReset; } set { _srdArmReset = value; InvokePropertyChanged(nameof(SRDArmReset)); } }
  637. /// <summary>
  638. /// 数据是否初始化
  639. /// </summary>
  640. public bool IsDataInitialized { get { return _isDataInitialized; } set { _isDataInitialized = value; InvokePropertyChanged(nameof(IsDataInitialized)); } }
  641. #endregion
  642. }
  643. }