FrmPLC_M03.cs 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. using Sunny.UI;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. using System.Windows.Forms;
  11. namespace HRT_Measure
  12. {
  13. public partial class FrmPLC_M03 : Sunny.UI.UIForm
  14. {
  15. public FrmPLC_M03()
  16. {
  17. InitializeComponent();
  18. }
  19. public List<UCCylinder> listCylinder = new List<UCCylinder>();
  20. public List<UCAxisPos> listAxisPos = new List<UCAxisPos>();
  21. public List<UCAxis> listAxis = new List<UCAxis>();
  22. private void FrmPLC_Load(object sender, EventArgs e)
  23. {
  24. uiSplitContainer1.SplitterDistance = this.Width / 2;
  25. LoadPLCValue();
  26. //LoadAxisPos();
  27. LoadAxis();
  28. tabControlAxis.SelectedIndex = 0;
  29. }
  30. private void LoadPLCValue()
  31. {
  32. listCylinder.Clear();
  33. for (int i = 0; i < PLCCylinder.listM03_整平工位.Count; i++)
  34. {
  35. UCCylinder uCCylinder = new UCCylinder("M03", PLCCylinder.listM03_整平工位[i], PLCCylinder.dictM03_整平工位);
  36. if(i < 11) uiTableLayoutPanel整平工位.Controls.Add(uCCylinder, 0, i);
  37. else uiTableLayoutPanel整平工位.Controls.Add(uCCylinder, 1, i - 11);
  38. listCylinder.Add(uCCylinder);
  39. //uCCylinder.timer1.Enabled = true;
  40. uCCylinder.thMonitor.Start();
  41. }
  42. for (int i = 0; i < PLCCylinder.listM03_装冲工位.Count; i++)
  43. {
  44. UCCylinder uCCylinder = new UCCylinder("M03", PLCCylinder.listM03_装冲工位[i], PLCCylinder.dictM03_装冲工位);
  45. if (i < 11) uiTableLayoutPanel装冲工位.Controls.Add(uCCylinder, 0, i);
  46. else uiTableLayoutPanel装冲工位.Controls.Add(uCCylinder, 1, i - 11);
  47. listCylinder.Add(uCCylinder);
  48. uCCylinder.thMonitor.Start();
  49. }
  50. for (int i = 0; i < PLCCylinder.listM03_压合工位.Count; i++)
  51. {
  52. UCCylinder uCCylinder = new UCCylinder("M03", PLCCylinder.listM03_压合工位[i], PLCCylinder.dictM03_压合工位);
  53. if (i < 11) uiTableLayoutPanel压合工位.Controls.Add(uCCylinder, 0, i);
  54. else uiTableLayoutPanel压合工位.Controls.Add(uCCylinder, 1, i - 11);
  55. listCylinder.Add(uCCylinder);
  56. uCCylinder.thMonitor.Start();
  57. }
  58. for (int i = 0; i < PLCCylinder.listM03_清洗工位.Count; i++)
  59. {
  60. UCCylinder uCCylinder = new UCCylinder("M03", PLCCylinder.listM03_清洗工位[i], PLCCylinder.dictM03_清洗工位);
  61. if (i < 11) uiTableLayoutPanel清洗工位.Controls.Add(uCCylinder, 0, i);
  62. else uiTableLayoutPanel清洗工位.Controls.Add(uCCylinder, 1, i - 11);
  63. listCylinder.Add(uCCylinder);
  64. uCCylinder.thMonitor.Start();
  65. }
  66. for (int i = 0; i < PLCCylinder.listM03_下流线工位.Count; i++)
  67. {
  68. UCCylinder uCCylinder = new UCCylinder("M03", PLCCylinder.listM03_下流线工位[i], PLCCylinder.dictM03_下流线工位);
  69. if (i < 11) uiTableLayoutPanel下流线工位.Controls.Add(uCCylinder, 0, i);
  70. else uiTableLayoutPanel下流线工位.Controls.Add(uCCylinder, 1, i - 11);
  71. listCylinder.Add(uCCylinder);
  72. uCCylinder.thMonitor.Start();
  73. }
  74. for (int i = 0; i < PLCCylinder.listM03_出料口工位.Count; i++)
  75. {
  76. UCCylinder uCCylinder = new UCCylinder("M03", PLCCylinder.listM03_出料口工位[i], PLCCylinder.dictM03_出料口工位);
  77. if (i < 11) uiTableLayoutPanel出料口工位.Controls.Add(uCCylinder, 0, i);
  78. else uiTableLayoutPanel出料口工位.Controls.Add(uCCylinder, 1, i - 11);
  79. listCylinder.Add(uCCylinder);
  80. uCCylinder.thMonitor.Start();
  81. }
  82. }
  83. private void LoadAxis()
  84. {
  85. listAxis.Clear();
  86. UCAxis uCAxis压机流线伺服 = new UCAxis("M03", "压机流线伺服", PLCAxis.listM03_轴[0], PLCAxis.dictM03_轴);
  87. panel取料X轴.Controls.Clear();
  88. panel取料X轴.Controls.Add(uCAxis压机流线伺服);
  89. //uCAxis压机流线伺服.timer1.Enabled = true;
  90. uCAxis压机流线伺服.thMonitor.Start();
  91. listAxis.Add(uCAxis压机流线伺服);
  92. UCAxis uCAxis压机前流线伺服 = new UCAxis("M03", "压机前流线伺服", PLCAxis.listM03_轴[1], PLCAxis.dictM03_轴);
  93. panel取料Y轴.Controls.Clear();
  94. panel取料Y轴.Controls.Add(uCAxis压机前流线伺服);
  95. //uCAxis压机前流线伺服.timer1.Enabled = true;
  96. uCAxis压机前流线伺服.thMonitor.Start();
  97. listAxis.Add(uCAxis压机前流线伺服);
  98. //UCAxis uCAxis取料X轴 = new UCAxis("M03", "取料X轴", PLCAxis.listM03_轴[0], PLCAxis.dictM03_轴);
  99. //panel取料X轴.Controls.Clear();
  100. //panel取料X轴.Controls.Add(uCAxis取料X轴);
  101. //uCAxis取料X轴.timer1.Enabled = true;
  102. //listAxis.Add(uCAxis取料X轴);
  103. //UCAxis uCAxis取料Y轴 = new UCAxis("M03", "取料Y轴", PLCAxis.listM03_轴[1], PLCAxis.dictM03_轴);
  104. //panel取料Y轴.Controls.Clear();
  105. //panel取料Y轴.Controls.Add(uCAxis取料Y轴);
  106. //uCAxis取料Y轴.timer1.Enabled = true;
  107. //listAxis.Add(uCAxis取料Y轴);
  108. //UCAxis uCAxis取料Z轴 = new UCAxis("M03", "取料Z轴", PLCAxis.listM03_轴[2], PLCAxis.dictM03_轴);
  109. //panel取料Z轴.Controls.Clear();
  110. //panel取料Z轴.Controls.Add(uCAxis取料Z轴);
  111. //uCAxis取料Z轴.timer1.Enabled = true;
  112. //listAxis.Add(uCAxis取料Z轴);
  113. //UCAxis uCAxis取料R轴 = new UCAxis("M03", "取料R轴", PLCAxis.listM03_轴[3], PLCAxis.dictM03_轴);
  114. //panel取料R轴.Controls.Clear();
  115. //panel取料R轴.Controls.Add(uCAxis取料R轴);
  116. //uCAxis取料R轴.timer1.Enabled = true;
  117. //listAxis.Add(uCAxis取料R轴);
  118. }
  119. private void Timer1_Tick(object sender, EventArgs e)
  120. {
  121. }
  122. private void FrmPLC_FormClosing(object sender, FormClosingEventArgs e)
  123. {
  124. timer1.Enabled = false;
  125. foreach (var item in listCylinder)
  126. {
  127. try
  128. {
  129. item.timer1.Enabled = false;
  130. item.thMonitor.Abort();
  131. }
  132. catch (Exception)
  133. {
  134. }
  135. }
  136. foreach (var item in listAxisPos)
  137. {
  138. try
  139. {
  140. item.timer1.Enabled = false;
  141. item.thMonitor.Abort();
  142. }
  143. catch (Exception)
  144. {
  145. }
  146. }
  147. foreach (var item in listAxis)
  148. {
  149. try
  150. {
  151. item.timer1.Enabled = false;
  152. item.thMonitor.Abort();
  153. }
  154. catch (Exception)
  155. {
  156. }
  157. }
  158. }
  159. private void tabControlM03_SelectedIndexChanged(object sender, EventArgs e)
  160. {
  161. ReadPLCHelp.iM03IOStation = tabControlM03.SelectedIndex;
  162. }
  163. private void tabControlAxis_SelectedIndexChanged(object sender, EventArgs e)
  164. {
  165. ReadPLCHelp.iM03AxisStation = tabControlAxis.SelectedIndex;
  166. //for (int i = 0; i < listAxis.Count; i++)
  167. //{
  168. // if (i == tabControlAxis.SelectedIndex) listAxis[tabControlAxis.SelectedIndex].Enabled = true;
  169. // else listAxis[tabControlAxis.SelectedIndex].Enabled = false;
  170. //}
  171. }
  172. private void LoadAxisPos()
  173. {
  174. //listAxisPos.Clear();
  175. //for (int i = 0; i < PLCAxisPos.dictM03_取料X轴.Count; i++)
  176. //{
  177. // UCAxisPos uCAxisPos = new UCAxisPos(PLCAxisPos.listM03_取料X轴[i], PLCAxisPos.dictM03_取料X轴);
  178. // if (i < 9) uiTableLayoutPanel取料X轴Pos.Controls.Add(uCAxisPos, 0, i);
  179. // else uiTableLayoutPanel取料X轴Pos.Controls.Add(uCAxisPos, 1, i - 9);
  180. // listAxisPos.Add(uCAxisPos);
  181. // uCAxisPos.timer1.Enabled = true;
  182. //}
  183. //for (int i = 0; i < PLCAxisPos.dictM03_取料Y轴.Count; i++)
  184. //{
  185. // UCAxisPos uCAxisPos = new UCAxisPos(PLCAxisPos.listM03_取料Y轴[i], PLCAxisPos.dictM03_取料Y轴);
  186. // if (i < 9) uiTableLayoutPanel1取料Y轴Pos.Controls.Add(uCAxisPos, 0, i);
  187. // else uiTableLayoutPanel1取料Y轴Pos.Controls.Add(uCAxisPos, 1, i - 9);
  188. // listAxisPos.Add(uCAxisPos);
  189. // uCAxisPos.timer1.Enabled = true;
  190. //}
  191. //for (int i = 0; i < PLCAxisPos.dictM03_取料Z轴.Count; i++)
  192. //{
  193. // UCAxisPos uCAxisPos = new UCAxisPos(PLCAxisPos.listM03_取料Z轴[i], PLCAxisPos.dictM03_取料Z轴);
  194. // if (i < 9) uiTableLayoutPanel取料Z轴Pos.Controls.Add(uCAxisPos, 0, i);
  195. // else uiTableLayoutPanel取料Z轴Pos.Controls.Add(uCAxisPos, 1, i - 9);
  196. // listAxisPos.Add(uCAxisPos);
  197. // uCAxisPos.timer1.Enabled = true;
  198. //}
  199. //for (int i = 0; i < PLCAxisPos.dictM03_取料R轴.Count; i++)
  200. //{
  201. // UCAxisPos uCAxisPos = new UCAxisPos(PLCAxisPos.listM03_取料R轴[i], PLCAxisPos.dictM03_取料R轴);
  202. // if (i < 9) uiTableLayoutPanel取料R轴Pos.Controls.Add(uCAxisPos, 0, i);
  203. // else uiTableLayoutPanel取料R轴Pos.Controls.Add(uCAxisPos, 1, i - 9);
  204. // listAxisPos.Add(uCAxisPos);
  205. // uCAxisPos.timer1.Enabled = true;
  206. //}
  207. }
  208. }
  209. }