UIMessageData.cs 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Collections.Concurrent;
  7. namespace monitor_main_windows
  8. {
  9. class UIMessageData
  10. {
  11. public enum NodeStatu
  12. {
  13. Normal=0,
  14. Error
  15. }
  16. private TimedData<NodeStatu> m_lidar_statu_A1 = new TimedData<NodeStatu>(NodeStatu.Normal);
  17. private TimedData<NodeStatu> m_lidar_statu_A2 = new TimedData<NodeStatu>(NodeStatu.Normal);
  18. private TimedData<NodeStatu> m_lidar_statu_B1 = new TimedData<NodeStatu>(NodeStatu.Normal);
  19. private TimedData<NodeStatu> m_lidar_statu_B2 = new TimedData<NodeStatu>(NodeStatu.Normal);
  20. private TimedData<NodeStatu> m_lidar_statu_C1 = new TimedData<NodeStatu>(NodeStatu.Normal);
  21. private TimedData<NodeStatu> m_lidar_statu_C2 = new TimedData<NodeStatu>(NodeStatu.Normal);
  22. private TimedData<NodeStatu> m_terminal_statu_A1 = new TimedData<NodeStatu>(NodeStatu.Normal);
  23. private TimedData<NodeStatu> m_terminal_statu_A2 = new TimedData<NodeStatu>(NodeStatu.Normal);
  24. private TimedData<NodeStatu> m_terminal_statu_B1 = new TimedData<NodeStatu>(NodeStatu.Normal);
  25. private TimedData<NodeStatu> m_terminal_statu_B2 = new TimedData<NodeStatu>(NodeStatu.Normal);
  26. private TimedData<NodeStatu> m_terminal_statu_C1 = new TimedData<NodeStatu>(NodeStatu.Normal);
  27. private TimedData<NodeStatu> m_terminal_statu_C2 = new TimedData<NodeStatu>(NodeStatu.Normal);
  28. private TimedData<NodeStatu> m_PLC_statu_A = new TimedData<NodeStatu>(NodeStatu.Normal);
  29. private TimedData<NodeStatu> m_PLC_statu_B = new TimedData<NodeStatu>(NodeStatu.Normal);
  30. private TimedData<NodeStatu> m_PLC_statu_C = new TimedData<NodeStatu>(NodeStatu.Normal);
  31. private TimedData<NodeStatu> m_main_node_statu = new TimedData<NodeStatu>(NodeStatu.Normal);
  32. private TimedData<NodeStatu> m_database_node_statu = new TimedData<NodeStatu>(NodeStatu.Normal);
  33. private TimedData<NodeStatu> m_output_terminal_node1_statu = new TimedData<NodeStatu>(NodeStatu.Normal);
  34. private TimedData<NodeStatu> m_output_terminal_node2_statu = new TimedData<NodeStatu>(NodeStatu.Normal);
  35. private TimedData<NodeStatu> m_output_unnormilized_statu = new TimedData<NodeStatu>(NodeStatu.Normal);
  36. public class CommandInfo
  37. {
  38. public CommandInfo() { }
  39. public CommandInfo(string[] steps,string[] backsteps,int index)
  40. {
  41. Steps = steps;
  42. BackSteps = backsteps;
  43. StepIndex = index;
  44. }
  45. public string[] Steps;
  46. public string[] BackSteps;
  47. public int StepIndex = 0;
  48. }
  49. //控件label为string内容
  50. private ConcurrentDictionary<string, TimedData<CommandInfo>> m_command_map =
  51. new ConcurrentDictionary<string, TimedData<CommandInfo>>();
  52. class Nested
  53. {
  54. // 创建模板类实例,参数2设为true表示支持私有构造函数
  55. internal static readonly UIMessageData instance = Activator.CreateInstance(typeof(UIMessageData), true) as UIMessageData;
  56. }
  57. private static UIMessageData instance = null;
  58. public static UIMessageData Instance
  59. {
  60. get
  61. {
  62. return Nested.instance;
  63. }
  64. }
  65. private UIMessageData()
  66. {
  67. }
  68. #region 雷达节点状态
  69. public TimedData<NodeStatu> LidarStatuA1
  70. {
  71. get { return m_lidar_statu_A1; }
  72. set { m_lidar_statu_A1 = value; }
  73. }
  74. public TimedData<NodeStatu> LidarStatuA2
  75. {
  76. get { return m_lidar_statu_A2; }
  77. set { m_lidar_statu_A2 = value; }
  78. }
  79. public TimedData<NodeStatu> LidarStatuB1
  80. {
  81. get { return m_lidar_statu_B1; }
  82. set { m_lidar_statu_B1 = value; }
  83. }
  84. public TimedData<NodeStatu> LidarStatuB2
  85. {
  86. get { return m_lidar_statu_B2; }
  87. set { m_lidar_statu_B2 = value; }
  88. }
  89. public TimedData<NodeStatu> LidarStatuC1
  90. {
  91. get { return m_lidar_statu_C1; }
  92. set { m_lidar_statu_C1 = value; }
  93. }
  94. public TimedData<NodeStatu> LidarStatuC2
  95. {
  96. get { return m_lidar_statu_C2; }
  97. set { m_lidar_statu_C2 = value; }
  98. }
  99. #endregion
  100. #region 终端节点状态
  101. public TimedData<NodeStatu> TerminalStatuA1
  102. {
  103. get { return m_terminal_statu_A1; }
  104. set { m_terminal_statu_A1 = value; }
  105. }
  106. public TimedData<NodeStatu> TerminalStatuA2
  107. {
  108. get { return m_terminal_statu_A2; }
  109. set { m_terminal_statu_A2 = value; }
  110. }
  111. public TimedData<NodeStatu> TerminalStatuB1
  112. {
  113. get { return m_terminal_statu_B1; }
  114. set { m_terminal_statu_B1 = value; }
  115. }
  116. public TimedData<NodeStatu> TerminalStatuB2
  117. {
  118. get { return m_terminal_statu_B2; }
  119. set { m_terminal_statu_B2 = value; }
  120. }
  121. public TimedData<NodeStatu> TerminalStatuC1
  122. {
  123. get { return m_terminal_statu_C1; }
  124. set { m_terminal_statu_C1 = value; }
  125. }
  126. public TimedData<NodeStatu> TerminalStatuC2
  127. {
  128. get { return m_terminal_statu_C2; }
  129. set { m_terminal_statu_C2 = value; }
  130. }
  131. #endregion
  132. #region PLC状态
  133. public TimedData<NodeStatu> PLCStatuA
  134. {
  135. get { return m_PLC_statu_A; }
  136. set { m_PLC_statu_A = value; }
  137. }
  138. public TimedData<NodeStatu> PLCStatuB
  139. {
  140. get { return m_PLC_statu_B; }
  141. set { m_PLC_statu_B = value; }
  142. }
  143. public TimedData<NodeStatu> PLCStatuC
  144. {
  145. get { return m_PLC_statu_C; }
  146. set { m_PLC_statu_C = value; }
  147. }
  148. #endregion
  149. public TimedData<NodeStatu> MainNodeStatu
  150. {
  151. get { return m_main_node_statu; }
  152. set { m_main_node_statu = value; }
  153. }
  154. public TimedData<NodeStatu> DatabaseNodeStatu
  155. {
  156. get { return m_database_node_statu; }
  157. set { m_database_node_statu = value; }
  158. }
  159. public TimedData<NodeStatu> OutputTerminal1Statu
  160. {
  161. get { return m_output_terminal_node1_statu; }
  162. set { m_output_terminal_node1_statu = value; }
  163. }
  164. public TimedData<NodeStatu> OutputTerminal2Statu
  165. {
  166. get { return m_output_terminal_node2_statu; }
  167. set { m_output_terminal_node2_statu = value; }
  168. }
  169. public TimedData<NodeStatu> OutputUnnormalNodeStatu
  170. {
  171. get { return m_output_unnormilized_statu; }
  172. set { m_output_unnormilized_statu = value; }
  173. }
  174. public ConcurrentDictionary<string, TimedData<CommandInfo>> CommandMap
  175. {
  176. get { return m_command_map; }
  177. }
  178. }
  179. }