版博士V2.0程序
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 
 

330 строки
19 KiB

  1. using Newtonsoft.Json.Linq;
  2. using AssistClient.Utils;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.ComponentModel;
  6. using System.Data;
  7. using System.Drawing;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. using System.Windows.Forms;
  12. using System.Windows.Forms.VisualStyles;
  13. namespace AssistClient
  14. {
  15. public partial class FrmSysSetting : Form
  16. {
  17. public FrmSysSetting()
  18. {
  19. InitializeComponent();
  20. }
  21. private void initData()
  22. {
  23. string configPath = Application.StartupPath + "\\SysConfig.ini";
  24. string lsTmp = "";
  25. var comNameList = Utils.SSerialPort.getPortNames().ToList();
  26. comNameList.ForEach(comName =>
  27. {
  28. this.cobLight_PortNum.Items.Add(comName);
  29. });
  30. //Server
  31. this.txtDBConStr.Text = Util.ReadIniValue(configPath, "Server", "DBConStr");
  32. this.txtServerIp.Text = Util.ReadIniValue(configPath, "Server", "ServerIP");
  33. lsTmp = Util.ReadIniValue(configPath, "Server", "ServerPort");
  34. if (Util.IsNumber(lsTmp))
  35. this.numServerPort.Value = Convert.ToInt32(lsTmp);
  36. //Skip
  37. this.chkSkipAxis0.Checked = Util.ReadIniValue(configPath, "SKIP", "SkipAxis0") == "1";
  38. this.chkSkipAxis1.Checked = Util.ReadIniValue(configPath, "SKIP", "SkipAxis1") == "1";
  39. this.chkSkipAxis2.Checked = Util.ReadIniValue(configPath, "SKIP", "SkipAxis2") == "1";
  40. this.chkSkipAxis3.Checked = Util.ReadIniValue(configPath, "SKIP", "SkipAxis3") == "1";
  41. this.chkSkipLight.Checked = Util.ReadIniValue(configPath, "SKIP", "SkipLight") == "1";
  42. this.chkSkipScannerCC.Checked = Util.ReadIniValue(configPath, "SKIP", "SkipScannerCC") == "1";
  43. //DEV
  44. lsTmp = Util.ReadIniValue(configPath, "DEV", "Axis0_PulseOutMode");
  45. EnumUtil.BindToEnumName<AxisPulseOutMode>(this.cobAxis0PulseOutMode, typeof(AxisPulseOutMode), lsTmp == "" ? AxisPulseOutMode.O_CW_CCW : (AxisPulseOutMode)Convert.ToInt32(lsTmp));
  46. lsTmp = Util.ReadIniValue(configPath, "DEV", "Axis1_PulseOutMode");
  47. EnumUtil.BindToEnumName<AxisPulseOutMode>(this.cobAxis1PulseOutMode, typeof(AxisPulseOutMode), lsTmp == "" ? AxisPulseOutMode.O_CW_CCW : (AxisPulseOutMode)Convert.ToInt32(lsTmp));
  48. lsTmp = Util.ReadIniValue(configPath, "DEV", "Axis2_PulseOutMode");
  49. EnumUtil.BindToEnumName<AxisPulseOutMode>(this.cobAxis2PulseOutMode, typeof(AxisPulseOutMode), lsTmp == "" ? AxisPulseOutMode.O_CW_CCW : (AxisPulseOutMode)Convert.ToInt32(lsTmp));
  50. lsTmp = Util.ReadIniValue(configPath, "DEV", "Axis3_PulseOutMode");
  51. EnumUtil.BindToEnumName<AxisPulseOutMode>(this.cobAxis3PulseOutMode, typeof(AxisPulseOutMode), lsTmp == "" ? AxisPulseOutMode.O_CW_CCW : (AxisPulseOutMode)Convert.ToInt32(lsTmp));
  52. lsTmp = Util.ReadIniValue(configPath, "DEV", "Axis0_HomeMode");
  53. EnumUtil.BindToEnumName<AxitHomeMode>(this.cobAxis0HomeMode, typeof(AxitHomeMode), lsTmp == "" ? AxitHomeMode.MODE11_LmtSearch_Ref : (AxitHomeMode)Convert.ToInt32(lsTmp));
  54. lsTmp = Util.ReadIniValue(configPath, "DEV", "Axis1_HomeMode");
  55. EnumUtil.BindToEnumName<AxitHomeMode>(this.cobAxis1HomeMode, typeof(AxitHomeMode), lsTmp == "" ? AxitHomeMode.MODE11_LmtSearch_Ref : (AxitHomeMode)Convert.ToInt32(lsTmp));
  56. lsTmp = Util.ReadIniValue(configPath, "DEV", "Axis2_HomeMode");
  57. EnumUtil.BindToEnumName<AxitHomeMode>(this.cobAxis2HomeMode, typeof(AxitHomeMode), lsTmp == "" ? AxitHomeMode.MODE11_LmtSearch_Ref : (AxitHomeMode)Convert.ToInt32(lsTmp));
  58. lsTmp = Util.ReadIniValue(configPath, "DEV", "Axis3_HomeMode");
  59. EnumUtil.BindToEnumName<AxitHomeMode>(this.cobAxis3HomeMode, typeof(AxitHomeMode), lsTmp == "" ? AxitHomeMode.MODE11_LmtSearch_Ref : (AxitHomeMode)Convert.ToInt32(lsTmp));
  60. this.cobLight_PortNum.Text = "COM" + Util.ReadIniValue(configPath, "DEV", "Light_PortNum");
  61. this.cobAxis0HomeDir.SelectedIndex = Convert.ToInt32(Util.ReadIniValue(configPath, "DEV", "Axis0_HomeDir"));
  62. this.cobAxis1HomeDir.SelectedIndex = Convert.ToInt32(Util.ReadIniValue(configPath, "DEV", "Axis1_HomeDir"));
  63. this.cobAxis2HomeDir.SelectedIndex = Convert.ToInt32(Util.ReadIniValue(configPath, "DEV", "Axis2_HomeDir"));
  64. this.cobAxis3HomeDir.SelectedIndex = Convert.ToInt32(Util.ReadIniValue(configPath, "DEV", "Axis3_HomeDir"));
  65. #region 回HOME速度
  66. lsTmp = Util.ReadIniValue(configPath, "DEV", "Axis_HomeVelLow");
  67. if (!string.IsNullOrWhiteSpace(lsTmp))
  68. {
  69. JArray Axis_HomeVelLow = JArray.Parse(lsTmp);
  70. this.numAxis0HomeVelLow.Value = Axis_HomeVelLow.Count > 0 ? (decimal)Axis_HomeVelLow[0] : 0;
  71. this.numAxis1HomeVelLow.Value = Axis_HomeVelLow.Count > 1 ? (decimal)Axis_HomeVelLow[1] : 0;
  72. this.numAxis2HomeVelLow.Value = Axis_HomeVelLow.Count > 2 ? (decimal)Axis_HomeVelLow[2] : 0;
  73. this.numAxis3HomeVelLow.Value = Axis_HomeVelLow.Count > 3 ? (decimal)Axis_HomeVelLow[3] : 0;
  74. }
  75. lsTmp = Util.ReadIniValue(configPath, "DEV", "Axis_HomeVelHigh");
  76. if (!string.IsNullOrWhiteSpace(lsTmp))
  77. {
  78. JArray Axis_HomeVelHigh = JArray.Parse(lsTmp);
  79. this.numAxis0HomeVelHigh.Value = Axis_HomeVelHigh.Count > 0 ? (decimal)Axis_HomeVelHigh[0] : 0;
  80. this.numAxis1HomeVelHigh.Value = Axis_HomeVelHigh.Count > 1 ? (decimal)Axis_HomeVelHigh[1] : 0;
  81. this.numAxis2HomeVelHigh.Value = Axis_HomeVelHigh.Count > 2 ? (decimal)Axis_HomeVelHigh[2] : 0;
  82. this.numAxis3HomeVelHigh.Value = Axis_HomeVelHigh.Count > 3 ? (decimal)Axis_HomeVelHigh[3] : 0;
  83. }
  84. lsTmp = Util.ReadIniValue(configPath, "DEV", "Axis_HomeAcc");
  85. if (!string.IsNullOrWhiteSpace(lsTmp))
  86. {
  87. JArray Axis_HomeAcc = JArray.Parse(lsTmp);
  88. this.numAxis0HomeAcc.Value = Axis_HomeAcc.Count > 0 ? (decimal)Axis_HomeAcc[0] : 0;
  89. this.numAxis1HomeAcc.Value = Axis_HomeAcc.Count > 1 ? (decimal)Axis_HomeAcc[1] : 0;
  90. this.numAxis2HomeAcc.Value = Axis_HomeAcc.Count > 2 ? (decimal)Axis_HomeAcc[2] : 0;
  91. this.numAxis3HomeAcc.Value = Axis_HomeAcc.Count > 3 ? (decimal)Axis_HomeAcc[3] : 0;
  92. }
  93. lsTmp = Util.ReadIniValue(configPath, "DEV", "Axis_HomeDec");
  94. if (!string.IsNullOrWhiteSpace(lsTmp))
  95. {
  96. JArray Axis_HomeDec = JArray.Parse(lsTmp);
  97. this.numAxis0HomeDec.Value = Axis_HomeDec.Count > 0 ? (decimal)Axis_HomeDec[0] : 0;
  98. this.numAxis1HomeDec.Value = Axis_HomeDec.Count > 1 ? (decimal)Axis_HomeDec[1] : 0;
  99. this.numAxis2HomeDec.Value = Axis_HomeDec.Count > 2 ? (decimal)Axis_HomeDec[2] : 0;
  100. this.numAxis3HomeDec.Value = Axis_HomeDec.Count > 3 ? (decimal)Axis_HomeDec[3] : 0;
  101. }
  102. #endregion
  103. #region JOG速度
  104. lsTmp = Util.ReadIniValue(configPath, "DEV", "Axis_JogVelLow");
  105. if (!string.IsNullOrWhiteSpace(lsTmp))
  106. {
  107. JArray Axis_JogVelLow = JArray.Parse(lsTmp);
  108. this.numAxis0JogVelLow.Value = Axis_JogVelLow.Count > 0 ? (decimal)Axis_JogVelLow[0] : 0;
  109. this.numAxis1JogVelLow.Value = Axis_JogVelLow.Count > 1 ? (decimal)Axis_JogVelLow[1] : 0;
  110. this.numAxis2JogVelLow.Value = Axis_JogVelLow.Count > 2 ? (decimal)Axis_JogVelLow[2] : 0;
  111. this.numAxis3JogVelLow.Value = Axis_JogVelLow.Count > 3 ? (decimal)Axis_JogVelLow[3] : 0;
  112. }
  113. lsTmp = Util.ReadIniValue(configPath, "DEV", "Axis_JogVelHigh");
  114. if (!string.IsNullOrWhiteSpace(lsTmp))
  115. {
  116. JArray Axis_JogVelHigh = JArray.Parse(lsTmp);
  117. this.numAxis0JogVelHigh.Value = Axis_JogVelHigh.Count > 0 ? (decimal)Axis_JogVelHigh[0] : 0;
  118. this.numAxis1JogVelHigh.Value = Axis_JogVelHigh.Count > 1 ? (decimal)Axis_JogVelHigh[1] : 0;
  119. this.numAxis2JogVelHigh.Value = Axis_JogVelHigh.Count > 2 ? (decimal)Axis_JogVelHigh[2] : 0;
  120. this.numAxis3JogVelHigh.Value = Axis_JogVelHigh.Count > 3 ? (decimal)Axis_JogVelHigh[3] : 0;
  121. }
  122. lsTmp = Util.ReadIniValue(configPath, "DEV", "Axis_JogAcc");
  123. if (!string.IsNullOrWhiteSpace(lsTmp))
  124. {
  125. JArray Axis_JogAcc = JArray.Parse(lsTmp);
  126. this.numAxis0JogAcc.Value = Axis_JogAcc.Count > 0 ? (decimal)Axis_JogAcc[0] : 0;
  127. this.numAxis1JogAcc.Value = Axis_JogAcc.Count > 1 ? (decimal)Axis_JogAcc[1] : 0;
  128. this.numAxis2JogAcc.Value = Axis_JogAcc.Count > 2 ? (decimal)Axis_JogAcc[2] : 0;
  129. this.numAxis3JogAcc.Value = Axis_JogAcc.Count > 3 ? (decimal)Axis_JogAcc[3] : 0;
  130. }
  131. lsTmp = Util.ReadIniValue(configPath, "DEV", "Axis_JogDec");
  132. if (!string.IsNullOrWhiteSpace(lsTmp))
  133. {
  134. JArray Axis_JogDec = JArray.Parse(lsTmp);
  135. this.numAxis0JogDec.Value = Axis_JogDec.Count > 0 ? (decimal)Axis_JogDec[0] : 0;
  136. this.numAxis1JogDec.Value = Axis_JogDec.Count > 1 ? (decimal)Axis_JogDec[1] : 0;
  137. this.numAxis2JogDec.Value = Axis_JogDec.Count > 2 ? (decimal)Axis_JogDec[2] : 0;
  138. this.numAxis3JogDec.Value = Axis_JogDec.Count > 3 ? (decimal)Axis_JogDec[3] : 0;
  139. }
  140. #endregion
  141. this.txtIO_DevNum.Text = Util.ReadIniValue(configPath, "DEV", "IOCard_DeviceNum");
  142. this.txtSizeEnginePath.Text= Util.ReadIniValue(configPath, "DEV", "SizeEnginePath");
  143. this.txtSizeBmp_Path.Text= Util.ReadIniValue(configPath, "DEV", "SizeBmp_Path");
  144. this.ckbSizeBmp_IsSave.Checked = (Util.ReadIniValue(configPath, "DEV", "SizeBmp_IsSave") == "1");
  145. this.txtSizeRepairTable.Text = Util.ReadIniValue(configPath, "DEV", "SizeRepairTablePath");
  146. //LOG
  147. this.txtLogPath.Text = Util.ReadIniValue(configPath, "LOG", "LogPath");
  148. }
  149. private void FrmSetParams_Load(object sender, EventArgs e)
  150. {
  151. initData();
  152. }
  153. private void tsbtnSave_Click(object sender, EventArgs e)
  154. {
  155. try
  156. {
  157. string configPath = Application.StartupPath + "\\SysConfig.ini";
  158. //DEV
  159. string Light_PortNum = this.cobLight_PortNum.Text.Trim();
  160. if (Light_PortNum == "" )
  161. throw new Exception("请设置设备COM端口!");
  162. string IOCard_DeviceNum = this.txtIO_DevNum.Text.Trim();
  163. if (IOCard_DeviceNum == "")
  164. throw new Exception("请设置I/O设备编号 !");
  165. //LOG
  166. string LogPath = this.txtLogPath.Text.Trim();
  167. if (LogPath == "")
  168. throw new Exception("请设置日志保存路径 !");
  169. //最后统一保存
  170. //Skip
  171. Util.WriteIniValue(configPath, "SKIP", "SkipAxis0", this.chkSkipAxis0.Checked ? "1" : "0");
  172. Util.WriteIniValue(configPath, "SKIP", "SkipAxis1", this.chkSkipAxis1.Checked ? "1" : "0");
  173. Util.WriteIniValue(configPath, "SKIP", "SkipAxis2", this.chkSkipAxis2.Checked ? "1" : "0");
  174. Util.WriteIniValue(configPath, "SKIP", "SkipAxis3", this.chkSkipAxis3.Checked ? "1" : "0");
  175. Util.WriteIniValue(configPath, "SKIP", "SkipLight", this.chkSkipLight.Checked ? "1" : "0");
  176. //Util.WriteIniValue(configPath, "SKIP", "SkipScannerGL", this.chkSkipScannerGL.Checked ? "1" : "0");
  177. Util.WriteIniValue(configPath, "SKIP", "SkipScannerCC", this.chkSkipScannerCC.Checked ? "1" : "0");
  178. Utils.Util.WriteIniValue(configPath, "DEV", "Light_PortNum", Light_PortNum.Substring(3));
  179. //DEV
  180. Utils.Util.WriteIniValue(configPath, "DEV", "Axis0_PulseOutMode", ((int)EnumUtil.GetSelectedItemToEnum<AxisPulseOutMode>(this.cobAxis0PulseOutMode)).ToString());
  181. Utils.Util.WriteIniValue(configPath, "DEV", "Axis1_PulseOutMode", ((int)EnumUtil.GetSelectedItemToEnum<AxisPulseOutMode>(this.cobAxis1PulseOutMode)).ToString());
  182. Utils.Util.WriteIniValue(configPath, "DEV", "Axis2_PulseOutMode", ((int)EnumUtil.GetSelectedItemToEnum<AxisPulseOutMode>(this.cobAxis2PulseOutMode)).ToString());
  183. Utils.Util.WriteIniValue(configPath, "DEV", "Axis3_PulseOutMode", ((int)EnumUtil.GetSelectedItemToEnum<AxisPulseOutMode>(this.cobAxis3PulseOutMode)).ToString());
  184. Utils.Util.WriteIniValue(configPath, "DEV", "Axis0_HomeMode", ((int)EnumUtil.GetSelectedItemToEnum<AxitHomeMode>(this.cobAxis0HomeMode)).ToString());
  185. Utils.Util.WriteIniValue(configPath, "DEV", "Axis1_HomeMode", ((int)EnumUtil.GetSelectedItemToEnum<AxitHomeMode>(this.cobAxis1HomeMode)).ToString());
  186. Utils.Util.WriteIniValue(configPath, "DEV", "Axis2_HomeMode", ((int)EnumUtil.GetSelectedItemToEnum<AxitHomeMode>(this.cobAxis2HomeMode)).ToString());
  187. Utils.Util.WriteIniValue(configPath, "DEV", "Axis3_HomeMode", ((int)EnumUtil.GetSelectedItemToEnum<AxitHomeMode>(this.cobAxis3HomeMode)).ToString());
  188. Utils.Util.WriteIniValue(configPath, "DEV", "Axis0_HomeDir", this.cobAxis0HomeDir.SelectedIndex.ToString());
  189. Utils.Util.WriteIniValue(configPath, "DEV", "Axis1_HomeDir", this.cobAxis1HomeDir.SelectedIndex.ToString());
  190. Utils.Util.WriteIniValue(configPath, "DEV", "Axis2_HomeDir", this.cobAxis2HomeDir.SelectedIndex.ToString());
  191. Utils.Util.WriteIniValue(configPath, "DEV", "Axis3_HomeDir", this.cobAxis3HomeDir.SelectedIndex.ToString());
  192. #region 回HOME速度
  193. JArray Axis_HomeVelLow = new JArray()
  194. {
  195. numAxis0HomeVelLow.Value,numAxis1HomeVelLow.Value,numAxis2HomeVelLow.Value,numAxis3HomeVelLow.Value
  196. };
  197. Utils.Util.WriteIniValue(configPath, "DEV", "Axis_HomeVelLow", Axis_HomeVelLow.ToString().Replace("\r\n",""));
  198. JArray Axis_HomeVelHigh = new JArray()
  199. {
  200. numAxis0HomeVelHigh.Value,numAxis1HomeVelHigh.Value,numAxis2HomeVelHigh.Value,numAxis3HomeVelHigh.Value
  201. };
  202. Utils.Util.WriteIniValue(configPath, "DEV", "Axis_HomeVelHigh", Axis_HomeVelHigh.ToString().Replace("\r\n", ""));
  203. JArray Axis_HomeAcc = new JArray()
  204. {
  205. numAxis0HomeAcc.Value,numAxis1HomeAcc.Value,numAxis2HomeAcc.Value,numAxis3HomeAcc.Value
  206. };
  207. Utils.Util.WriteIniValue(configPath, "DEV", "Axis_HomeAcc", Axis_HomeAcc.ToString().Replace("\r\n", ""));
  208. JArray Axis_HomeDec = new JArray()
  209. {
  210. numAxis0HomeDec.Value,numAxis1HomeDec.Value,numAxis2HomeDec.Value,numAxis3HomeDec.Value
  211. };
  212. Utils.Util.WriteIniValue(configPath, "DEV", "Axis_HomeDec", Axis_HomeDec.ToString().Replace("\r\n", ""));
  213. #endregion
  214. #region 回Jog速度
  215. JArray Axis_JogVelLow = new JArray()
  216. {
  217. numAxis0JogVelLow.Value,numAxis1JogVelLow.Value,numAxis2JogVelLow.Value,numAxis3JogVelLow.Value
  218. };
  219. Utils.Util.WriteIniValue(configPath, "DEV", "Axis_JogVelLow", Axis_JogVelLow.ToString().Replace("\r\n", ""));
  220. JArray Axis_JogVelHigh = new JArray()
  221. {
  222. numAxis0JogVelHigh.Value,numAxis1JogVelHigh.Value,numAxis2JogVelHigh.Value,numAxis3JogVelHigh.Value
  223. };
  224. Utils.Util.WriteIniValue(configPath, "DEV", "Axis_JogVelHigh", Axis_JogVelHigh.ToString().Replace("\r\n", ""));
  225. JArray Axis_JogAcc = new JArray()
  226. {
  227. numAxis0JogAcc.Value,numAxis1JogAcc.Value,numAxis2JogAcc.Value,numAxis3JogAcc.Value
  228. };
  229. Utils.Util.WriteIniValue(configPath, "DEV", "Axis_JogAcc", Axis_JogAcc.ToString().Replace("\r\n", ""));
  230. JArray Axis_JogDec = new JArray()
  231. {
  232. numAxis0JogDec.Value,numAxis1JogDec.Value,numAxis2JogDec.Value,numAxis3JogDec.Value
  233. };
  234. Utils.Util.WriteIniValue(configPath, "DEV", "Axis_JogDec", Axis_JogDec.ToString().Replace("\r\n", ""));
  235. #endregion
  236. Utils.Util.WriteIniValue(configPath, "DEV", "IOCard_DeviceNum", IOCard_DeviceNum);
  237. Utils.Util.WriteIniValue(configPath, "DEV", "SizeEnginePath", this.txtSizeEnginePath.Text.Trim());
  238. Utils.Util.WriteIniValue(configPath, "DEV", "SizeBmp_Path", this.txtSizeBmp_Path.Text.Trim());
  239. Utils.Util.WriteIniValue(configPath, "DEV", "SizeBmp_IsSave", this.ckbSizeBmp_IsSave.Checked?"1":"0");
  240. Utils.Util.WriteIniValue(configPath, "DEV", "SizeRepairTablePath", this.txtSizeRepairTable.Text.Trim());
  241. //
  242. Utils.Util.WriteIniValue(configPath, "Server", "DBConStr", this.txtDBConStr.Text.Trim());
  243. Utils.Util.WriteIniValue(configPath, "Server", "ServerIP", this.txtServerIp.Text.Trim());
  244. Utils.Util.WriteIniValue(configPath, "Server", "ServerPort", ((int)this.numServerPort.Value).ToString());
  245. //LOG
  246. Utils.Util.WriteIniValue(configPath, "LOG", "LogPath", LogPath);
  247. //
  248. this.Hide();
  249. MessageBox.Show("保存成功,生效需重启程序!");
  250. this.Close();
  251. }
  252. catch (Exception ex)
  253. {
  254. MessageBox.Show(ex.Message, "失败", MessageBoxButtons.OK, MessageBoxIcon.Error);
  255. }
  256. }
  257. private void tsbtnClose_Click(object sender, EventArgs e)
  258. {
  259. this.Close();
  260. }
  261. private void txtLogPath_Click(object sender, EventArgs e)
  262. {
  263. this.txtLogPath.Text = FileUtil.selectFolder(Application.StartupPath);
  264. }
  265. private void txtSizeEnginePath_Click(object sender, EventArgs e)
  266. {
  267. this.txtSizeEnginePath.Text = FileUtil.selectFolder(Application.StartupPath);
  268. }
  269. private void txtSizeRepairTable_Click(object sender, EventArgs e)
  270. {
  271. this.txtSizeRepairTable.Text = FileUtil.openFile();
  272. }
  273. private void txtSizeBmp_Path_Click(object sender, EventArgs e)
  274. {
  275. this.txtSizeBmp_Path.Text = FileUtil.selectFolder(Application.StartupPath);
  276. }
  277. private void btnInitDB_Click(object sender, EventArgs e)
  278. {
  279. try
  280. {
  281. Service.InitDB.initDB( false);
  282. MessageBox.Show("成功!");
  283. }
  284. catch (Exception ex)
  285. {
  286. MessageBox.Show(ex.Message, "失败", MessageBoxButtons.OK, MessageBoxIcon.Error);
  287. }
  288. }
  289. }
  290. }