XmlSerializerConfig.cs 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. using System;
  2. using System.IO;
  3. using System.Xml.Serialization;
  4. using System.Collections.Generic;
  5. using SHJX.Service.Common.ReadXML.CustomXmlSerializer.Model;
  6. namespace SHJX.Service.Common.ReadXML.CustomXmlSerializer
  7. {
  8. public class XmlSerializerConfig
  9. {
  10. private static string _opKey;
  11. private static string ConfigFileName => string.Concat(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, "conf/", _opKey, ".config.xml");
  12. public static void CreateConfigUtil(string opKey)
  13. {
  14. _opKey = opKey;
  15. if (File.Exists(ConfigFileName)) return;
  16. var equipment = new Equipment
  17. {
  18. Name = "Test",
  19. DataSources = GetDataSource(),
  20. ClientSettings = GetSettings(),
  21. Responsibilitys = GetResponsibility(),
  22. Nodes = GetNodes(),
  23. Speeds = GetSpeeds(),
  24. DefaultValues = GetDefaults(),
  25. TemplatePaths = GetFieldPaths(),
  26. Positions = GetPositions()
  27. };
  28. var xml = new XmlSerializer(typeof(Equipment));
  29. var ns = new XmlSerializerNamespaces();
  30. ns.Add(string.Empty, string.Empty);//不要命名空间
  31. using var writer = new StreamWriter(ConfigFileName);
  32. xml.Serialize(writer, equipment, ns);
  33. }
  34. public static void GetReadConfig()
  35. {
  36. var fileStream = new FileStream(ConfigFileName, FileMode.Open);
  37. var xml = new XmlSerializer(typeof(Equipment));
  38. Equipment myObject = xml.Deserialize(fileStream) as Equipment;
  39. }
  40. private static List<Position> GetPositions()
  41. {
  42. return new List<Position>
  43. {
  44. new Position{ Name ="Dissolve", Value=362.5,Convert=4000}
  45. };
  46. }
  47. private static List<TemplatePath> GetFieldPaths()
  48. {
  49. return new List<TemplatePath>
  50. {
  51. new TemplatePath(){ Name ="TemplateFile",Value=""},
  52. new TemplatePath(){ Name ="ResultWordFile",Value=""}
  53. };
  54. }
  55. private static List<DefaultValue> GetDefaults()
  56. {
  57. return new List<DefaultValue>
  58. {
  59. new DefaultValue{Name="TaskRunning",Value=true},
  60. new DefaultValue{Name="WhenSystemStartBeginHeating",Value=false}
  61. };
  62. }
  63. private static List<MotorSpeed> GetSpeeds()
  64. {
  65. return new List<MotorSpeed>
  66. {
  67. new MotorSpeed{ Node ="1",Speed=1,AC=10,DE=300},
  68. new MotorSpeed{ Node ="2",Speed=1,AC=10,DE=300},
  69. new MotorSpeed{ Node ="3",Speed=1,AC=10,DE=300},
  70. new MotorSpeed{ Node ="4",Speed=1,AC=10,DE=300},
  71. new MotorSpeed{ Node ="5",Speed=1,AC=10,DE=300},
  72. };
  73. }
  74. private static List<Node> GetNodes()
  75. {
  76. return new List<Node>
  77. {
  78. new Node("MotorX", 1),
  79. new Node("MotorY",2),
  80. new Node("MotorZ",3),
  81. new Node("MotorT",4),
  82. new Node("Mani",3),
  83. new Node("Cage",4),
  84. new Node("Dissolve",5),
  85. new Node("Titration",6),
  86. new Node("Titration2",6),
  87. new Node("AgSO_Pump",7),
  88. new Node("TitrationStir",8),
  89. new Node("TitrationStir2",8),
  90. new Node("FAS",8),
  91. new Node("DripNozzle",8),
  92. new Node("DripNozzle2",8),
  93. new Node("Heat",11)
  94. };
  95. }
  96. private static List<Responsibility> GetResponsibility()
  97. {
  98. return new List<Responsibility>
  99. {
  100. new Responsibility
  101. {
  102. Name = "CC",
  103. Type = "SHJX.Service.Control.RouteFlow.CalibrationCoolingFlow",
  104. TypeProxy = "SHJX.Service.Control.RouteController.CalibrationCoolingOperate"
  105. },
  106. new Responsibility
  107. {
  108. Name = "Ca",
  109. Type = "SHJX.Service.Control.RouteFlow.CaFlow",
  110. TypeProxy = "SHJX.Service.Control.RouteController.CageOperate"
  111. },
  112. new Responsibility
  113. {
  114. Name = "DAL",
  115. Type = "SHJX.Service.Control.RouteFlow.DissolveAddLiquidFlow",
  116. TypeProxy = "SHJX.Service.Control.RouteController.DissolveAddLiquidOperate"
  117. },
  118. new Responsibility
  119. {
  120. Name = "DAW",
  121. Type = "SHJX.Service.Control.RouteFlow.DissolveAddWaterFlow",
  122. TypeProxy = "SHJX.Service.Control.RouteController.DissolveAddWaterOperate"
  123. },
  124. new Responsibility
  125. {
  126. Name = "DM",
  127. Type = "SHJX.Service.Control.RouteFlow.DissolveMoveFlow",
  128. TypeProxy = "SHJX.Service.Control.RouteController.DissolveMoveOperate"
  129. },
  130. new Responsibility
  131. {
  132. Name = "DC",
  133. Type = "SHJX.Service.Control.RouteFlow.DissolveCoolingFlow",
  134. TypeProxy = "SHJX.Service.Control.RouteController.DissolveCoolingOperate"
  135. },
  136. new Responsibility
  137. {
  138. Name = "LH",
  139. Type = "SHJX.Service.Control.RouteFlow.LiquidHeatingFlow",
  140. TypeProxy = "SHJX.Service.Control.RouteController.LiquidHeatingOperate"
  141. },
  142. new Responsibility
  143. {
  144. Name = "LS",
  145. Type = "SHJX.Service.Control.RouteFlow.LiquidStirFlow",
  146. TypeProxy = "SHJX.Service.Control.RouteController.LiquidStirOperate"
  147. },
  148. new Responsibility
  149. {
  150. Name = "Mani",
  151. Type = "SHJX.Service.Control.RouteFlow.ManiFlow",
  152. TypeProxy = "SHJX.Service.Control.RouteController.ManiOperate"
  153. },
  154. new Responsibility
  155. {
  156. Name = "MTM",
  157. Type = "SHJX.Service.Control.RouteFlow.MotorTMoveFlow",
  158. TypeProxy = "SHJX.Service.Control.RouteController.MotorTOperate"
  159. },
  160. new Responsibility
  161. {
  162. Name = "MXM",
  163. Type = "SHJX.Service.Control.RouteFlow.MotorXMoveFlow",
  164. TypeProxy = "SHJX.Service.Control.RouteController.MotorXOperate"
  165. },
  166. new Responsibility
  167. {
  168. Name = "MYM",
  169. Type = "SHJX.Service.Control.RouteFlow.MotorYMoveFlow",
  170. TypeProxy = "SHJX.Service.Control.RouteController.MotorYOperate"
  171. },
  172. new Responsibility
  173. {
  174. Name = "MZM",
  175. Type = "SHJX.Service.Control.RouteFlow.MotorZMoveFlow",
  176. TypeProxy = "SHJX.Service.Control.RouteController.MotorZOperate"
  177. },
  178. new Responsibility
  179. {
  180. Name = "SAL1",
  181. Type = "SHJX.Service.Control.RouteFlow.SampleAL1Flow",
  182. TypeProxy = "SHJX.Service.Control.RouteController.SampleAL1Operate"
  183. },
  184. new Responsibility
  185. {
  186. Name = "SAL2",
  187. Type = "SHJX.Service.Control.RouteFlow.SampleAL2Flow",
  188. TypeProxy = "SHJX.Service.Control.RouteController.SampleAL2Operate"
  189. },
  190. new Responsibility
  191. {
  192. Name = "SC",
  193. Type = "SHJX.Service.Control.RouteFlow.SampleCoolingFlow",
  194. TypeProxy = "SHJX.Service.Control.RouteController.SampleCoolingOperate"
  195. },
  196. new Responsibility
  197. {
  198. Name = "TAL1",
  199. Type = "SHJX.Service.Control.RouteFlow.TitrationAL1Flow",
  200. TypeProxy = "SHJX.Service.Control.RouteController.TitrationAddIndicatorOperate"
  201. },
  202. new Responsibility
  203. {
  204. Name = "TAL2",
  205. Type = "SHJX.Service.Control.RouteFlow.TitrationAL2Flow",
  206. TypeProxy = "SHJX.Service.Control.RouteController.TitrationOperate"
  207. }
  208. };
  209. }
  210. private static List<ClientSetting> GetSettings()
  211. {
  212. return new List<ClientSetting>()
  213. {
  214. new ClientSetting()
  215. {
  216. Port = "COM7",
  217. AutoClient = true,
  218. BaudRate = 9600
  219. }
  220. };
  221. }
  222. private static List<DataSource> GetDataSource()
  223. {
  224. return new List<DataSource>
  225. {
  226. new DataSource()
  227. {
  228. dbtype = "MySQL",
  229. connstr = "Database=jx_equipment;Data Source=localhost;User Id=root;Password=root123456;CharSet=utf8;port=3306;SslMode=none;"
  230. }
  231. };
  232. }
  233. }
  234. }