SafetyData.cs 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400
  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. #endregion
  219. #region 属性
  220. /// <summary>
  221. /// Twincat状态
  222. /// </summary>
  223. public double TwincatState { get { return _twincatState; } set { _twincatState = value; InvokePropertyChanged(nameof(TwincatState)); } }
  224. /// <summary>
  225. /// Ethercat通信故障
  226. /// </summary>
  227. public bool MainCommErr { get { return _mainCommErr; } set { _mainCommErr = value;InvokePropertyChanged(nameof(MainCommErr)); } }
  228. /// <summary>
  229. /// Main Function Block故障
  230. /// </summary>
  231. public bool MainFbErr { get { return _mainFbErr; } set { _mainFbErr = value;InvokePropertyChanged(nameof (MainFbErr)); } }
  232. /// <summary>
  233. /// 数据是否初始化
  234. /// </summary>
  235. public bool IsDataInitialized { get { return _isDataInitialized; } set { _isDataInitialized = value; InvokePropertyChanged(nameof(IsDataInitialized)); } }
  236. public double VpwHotConnectState { get { return _vpwHotConectState; } set { _vpwHotConectState = value;InvokePropertyChanged(nameof(VpwHotConnectState)); } }
  237. public bool VpwCommErr { get { return _vpwCommErr; }set { _vpwCommErr = value; InvokePropertyChanged(nameof(VpwCommErr)); } }
  238. public bool VpwFbErr { get {return _vpwFbErr; } set {_vpwFbErr = value; InvokePropertyChanged(nameof (VpwFbErr)); } }
  239. public double Res12HotConnectState { get { return _res12HotConectState; } set { _res12HotConectState = value;InvokePropertyChanged(nameof(Res12HotConnectState)); } }
  240. public bool Res12CommErr { get { return _res12CommErr; }set {_res12CommErr = value;InvokePropertyChanged(nameof(Res12CommErr)); } }
  241. public bool Res12FbErr { get { return _res12FbErr; } set { _res12FbErr = value; InvokePropertyChanged(nameof(Res12FbErr)); } }
  242. public double Res34HotConnectState { get { return _res34HotConectState; } set { _res34HotConectState = value;InvokePropertyChanged(nameof( Res34HotConnectState)); } }
  243. public bool Res34CommErr { get { return _res34CommErr; }set{_res34CommErr = value;InvokePropertyChanged(nameof (Res34CommErr)); } }
  244. public bool Res34FbErr { get { return _res34FbErr; } set { _res34FbErr = value; InvokePropertyChanged(nameof(Res34FbErr)); } }
  245. public double FacilityHotConnectState { get { return _facilityHotConectState;}set { _facilityHotConectState = value; InvokePropertyChanged(nameof(FacilityHotConnectState));} }
  246. public bool FacilityCommErr { get { return _facilityCommErr; } set { _facilityCommErr = value; InvokePropertyChanged(nameof(FacilityCommErr)); } }
  247. public bool FacilityFbErr { get { return _facilityFbErr; }set { _facilityFbErr = value;InvokePropertyChanged(nameof(FacilityFbErr)); } }
  248. public double Plating12HotConnectState { get { return _plating12HotConectState; } set { _plating12HotConectState = value; InvokePropertyChanged(nameof(Plating12HotConnectState)); } }
  249. public bool Plating12CommErr { get { return _plating12CommErr; } set { _plating12CommErr = value; InvokePropertyChanged(nameof(Plating12CommErr)); } }
  250. public bool Plating12FbErr { get { return _plating12FbErr;}set { _plating12FbErr = value;InvokePropertyChanged(nameof (Plating12FbErr)); } }
  251. public double Plating34HotConnectState { get { return _plating34HotConectState; } set { _plating34HotConectState = value; InvokePropertyChanged(nameof(Plating34HotConnectState)); } }
  252. public bool Plating34CommErr { get { return _plating34CommErr; } set { _plating34CommErr = value; InvokePropertyChanged(nameof(Plating34CommErr)); } }
  253. public bool Plating34FbErr { get { return _plating34FbErr; } set { _plating34FbErr = value; InvokePropertyChanged(nameof(Plating34FbErr)); } }
  254. public double SrdHotConnectState { get { return _srdHotConnectState; } set { _srdHotConnectState = value; InvokePropertyChanged(nameof(SrdHotConnectState)); } }
  255. public bool SrdCommErr { get { return _srdCommErr; } set { _srdCommErr = value; InvokePropertyChanged(nameof(SrdCommErr)); } }
  256. public bool SrdFbErr { get { return _srdFbErr; } set { _srdFbErr = value; InvokePropertyChanged(nameof(SrdFbErr)); } }
  257. #region Restart
  258. /// <summary>
  259. /// Run stop
  260. /// </summary>
  261. public bool RunStop { get { return _runStop; } set { _runStop = value;InvokePropertyChanged(nameof(RunStop)); } }
  262. /// <summary>
  263. /// Err ack
  264. /// </summary>
  265. public bool ErrAck { get { return _errAck; } set { _errAck = value;InvokePropertyChanged(nameof(ErrAck)); } }
  266. /// <summary>
  267. /// VPW Estop restart
  268. /// </summary>
  269. public bool VpwStoEstopRestart { get { return _vpwStoEstopRestart; } set { _vpwStoEstopRestart = value;InvokePropertyChanged(nameof(VpwStoEstopRestart)); } }
  270. /// <summary>
  271. /// Res12 Estop restart
  272. /// </summary>
  273. public bool Res12StoEstopRestart { get { return _res12StoEstopRestart; } set { _res12StoEstopRestart = value;InvokePropertyChanged(nameof(Res12StoEstopRestart)); } }
  274. /// <summary>
  275. /// Res34 Estop restart
  276. /// </summary>
  277. public bool Res34StoEstopRestart { get { return _res34StoEstopRestart; } set { _res34StoEstopRestart = value;InvokePropertyChanged(nameof(Res34StoEstopRestart)); } }
  278. /// <summary>
  279. /// Plating cell 1_2 sto1 estop restart
  280. /// </summary>
  281. public bool PlatingCell12Sto1EstopRestart { get { return _platingCell12Sto1EstopRestart; } set { _platingCell12Sto1EstopRestart = value;InvokePropertyChanged(nameof(PlatingCell12Sto1EstopRestart)); } }
  282. /// <summary>
  283. /// Plating cell 1_2 sto2 estop restart
  284. /// </summary>
  285. public bool PlatingCell12Sto2EstopRestart { get { return _platingCell12Sto2EstopRestart; } set { _platingCell12Sto2EstopRestart = value;InvokePropertyChanged(nameof(PlatingCell12Sto2EstopRestart)); } }
  286. /// <summary>
  287. /// Plating cell 3_4 sto1 estop restart
  288. /// </summary>
  289. public bool PlatingCell34Sto1EstopRestart { get { return _platingCell34Sto1EstopRestart; } set { _platingCell34Sto1EstopRestart = value;InvokePropertyChanged(nameof(PlatingCell34Sto1EstopRestart)); } }
  290. /// <summary>
  291. /// Plating cell 3_4 sto2 estop restart
  292. /// </summary>
  293. public bool PlatingCell34Sto2EstopRestart { get { return _platingCell34Sto2EstopRestart; } set { _platingCell34Sto2EstopRestart = value;InvokePropertyChanged(nameof(PlatingCell34Sto2EstopRestart)); } }
  294. /// <summary>
  295. /// Facility sto estop restart
  296. /// </summary>
  297. public bool FacilityStoEstopRestart { get { return _facilityStoEstopRestart; } set { _facilityStoEstopRestart = value;InvokePropertyChanged(nameof(FacilityStoEstopRestart)); } }
  298. /// <summary>
  299. /// SRD Sto Estop restart
  300. /// </summary>
  301. public bool SrdStoEstopRestart { get { return _srdStoEstopRestart; } set { _srdStoEstopRestart = value;InvokePropertyChanged(nameof(SrdStoEstopRestart)); } }
  302. #endregion
  303. #region Doors Lock
  304. /// <summary>
  305. /// Req Aligner Door Lock
  306. /// </summary>
  307. public bool ReqAlignerDoorLock { get { return _reqAlignerDoorLock; } set { _reqAlignerDoorLock = value;InvokePropertyChanged(nameof(ReqAlignerDoorLock)); } }
  308. /// <summary>
  309. /// Req cassette doors lock
  310. /// </summary>
  311. public bool ReqCassetteDoorsLock { get { return _reqCassetteDoorsLock; } set { _reqCassetteDoorsLock = value;InvokePropertyChanged(nameof(ReqCassetteDoorsLock)); } }
  312. /// <summary>
  313. /// Req cell 1_2 doors lock
  314. /// </summary>
  315. public bool ReqCell12DoorsLock { get { return _reqCell12DoorsLock; } set { _reqCell12DoorsLock = value;InvokePropertyChanged(nameof(ReqCell12DoorsLock)); } }
  316. /// <summary>
  317. /// Req cell doors lock
  318. /// </summary>
  319. public bool ReqCell34DoorsLock { get { return _reqCell34DoorsLock; } set { _reqCell34DoorsLock = value; InvokePropertyChanged(nameof(ReqCell34DoorsLock)); } }
  320. #endregion
  321. #region locked
  322. /// <summary>
  323. /// Cell1_2 Doors Left Locked
  324. /// </summary>
  325. public bool Cell12DoorsLeftLocked { get { return _cell12DoorsLeftLocked; } set { _cell12DoorsLeftLocked = value;InvokePropertyChanged(nameof(Cell12DoorsLeftLocked)); } }
  326. /// <summary>
  327. /// Cell1_2 Doors Right Locked
  328. /// </summary>
  329. public bool Cell12DoorsRightLocked { get { return _cell12DoorsRightLocked; } set { _cell12DoorsRightLocked = value;InvokePropertyChanged(nameof(Cell12DoorsRightLocked)); } }
  330. /// <summary>
  331. /// Cell3_4 Doors Left Locked
  332. /// </summary>
  333. public bool Cell34DoorsLeftLocked { get { return _cell34DoorsLeftLocked; } set { _cell34DoorsLeftLocked = value;InvokePropertyChanged(nameof(Cell34DoorsLeftLocked)); } }
  334. /// <summary>
  335. /// Cell3_4 Doors Right Locked
  336. /// </summary>
  337. public bool Cell34DoorsRightLocked { get { return _cell34DoorsRightLocked; } set { _cell34DoorsRightLocked = value;InvokePropertyChanged(nameof(Cell34DoorsRightLocked)); } }
  338. /// <summary>
  339. /// Aligner Door closed
  340. /// </summary>
  341. public bool AlignerDoorClosed { get { return _alignerDoorClosed; } set { _alignerDoorClosed = value;InvokePropertyChanged(nameof(AlignerDoorClosed)); } }
  342. /// <summary>
  343. /// Cassette Doors Left locked
  344. /// </summary>
  345. public bool CassetteDoorsLeftLocked { get { return _cassetteDoorsLeftLocked; } set { _cassetteDoorsLeftLocked = value;InvokePropertyChanged(nameof(CassetteDoorsLeftLocked)); } }
  346. /// <summary>
  347. /// Cassette Doors Right locked
  348. /// </summary>
  349. public bool CassetteDoorsRightLocked { get { return _cassetteDoorsRightLocked; } set { _cassetteDoorsRightLocked = value;InvokePropertyChanged(nameof(CassetteDoorsRightLocked)); } }
  350. #endregion
  351. #region Closed
  352. public bool Res12DoorClosed { get { return _res12DoorClosed; } set { _res12DoorClosed = value;InvokePropertyChanged(nameof(Res12DoorClosed)); } }
  353. public bool Res34DoorClosed { get { return _res34DoorClosed; } set { _res34DoorClosed = value;InvokePropertyChanged(nameof(Res34DoorClosed)); } }
  354. public bool VpwDoorClosed { get { return _vpwDoorClosed; } set { _vpwDoorClosed = value;InvokePropertyChanged(nameof(VpwDoorClosed)); } }
  355. public bool PlumblingDoorClosed { get { return _plumblingDoorClosed; } set { _plumblingDoorClosed = value;InvokePropertyChanged(nameof(PlumblingDoorClosed)); } }
  356. public bool SrdPanelClosed { get { return _srdPanelClosed; } set { _srdPanelClosed = value;InvokePropertyChanged(nameof(SrdPanelClosed)); } }
  357. #endregion
  358. #region Halt
  359. public bool HaltButtonLeft { get { return _haltButtonLeft; } set { _haltButtonLeft = value;InvokePropertyChanged(nameof(HaltButtonLeft)); } }
  360. public bool HaltButtonRight { get { return _haltButtonRight; } set { _haltButtonRight = value;InvokePropertyChanged(nameof(HaltButtonRight)); } }
  361. #endregion
  362. #endregion
  363. }
  364. }