123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371 |
- using Sunny.UI;
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- namespace HRT_Measure
- {
- public partial class FrmPLC_M04M05 : Sunny.UI.UIForm
- {
- public FrmPLC_M04M05()
- {
- InitializeComponent();
- }
- public List<UCCylinder> listCylinder = new List<UCCylinder>();
- public List<UCAxisPos> listAxisPos = new List<UCAxisPos>();
- public List<UCAxis> listAxis = new List<UCAxis>();
- private void FrmPLC_Load(object sender, EventArgs e)
- {
- uiSplitContainer1.SplitterDistance = this.Width / 2;
- LoadPLCValue();
- LoadAxisPos();
- LoadAxis();
- tabControlAxis.SelectedIndex = 0;
- }
- private void LoadPLCValue()
- {
- listCylinder.Clear();
-
- for (int i = 0; i < PLCCylinder.listM04M05_ST0进口门工位.Count; i++)
- {
- UCCylinder uCCylinder = new UCCylinder("M04M05", PLCCylinder.listM04M05_ST0进口门工位[i], PLCCylinder.dictM04M05_ST0进口门工位);
- if(i < 11) uiTableLayoutPanelST0进口门工位.Controls.Add(uCCylinder, 0, i);
- else uiTableLayoutPanelST0进口门工位.Controls.Add(uCCylinder, 1, i - 11);
- listCylinder.Add(uCCylinder);
- uCCylinder.thMonitor.Start();
-
- }
- for (int i = 0; i < PLCCylinder.listM04M05_取出工位.Count; i++)
- {
- UCCylinder uCCylinder = new UCCylinder("M04M05", PLCCylinder.listM04M05_取出工位[i], PLCCylinder.dictM04M05_取出工位);
- if (i < 11) uiTableLayoutPanel取出工位.Controls.Add(uCCylinder, 0, i);
- else uiTableLayoutPanel取出工位.Controls.Add(uCCylinder, 1, i - 11);
- listCylinder.Add(uCCylinder);
- uCCylinder.thMonitor.Start();
- }
- for (int i = 0; i < PLCCylinder.listM04M05_清洗工位.Count; i++)
- {
- UCCylinder uCCylinder = new UCCylinder("M04M05", PLCCylinder.listM04M05_清洗工位[i], PLCCylinder.dictM04M05_清洗工位);
- if (i < 11) uiTableLayoutPanel清洗工位.Controls.Add(uCCylinder, 0, i);
- else uiTableLayoutPanel清洗工位.Controls.Add(uCCylinder, 1, i - 11);
- listCylinder.Add(uCCylinder);
- uCCylinder.thMonitor.Start();
- }
- for (int i = 0; i < PLCCylinder.listM04M05_提升机工位.Count; i++)
- {
- UCCylinder uCCylinder = new UCCylinder("M04M05", PLCCylinder.listM04M05_提升机工位[i], PLCCylinder.dictM04M05_提升机工位);
- if (i < 11) uiTableLayoutPanel提升机工位.Controls.Add(uCCylinder, 0, i);
- else uiTableLayoutPanel提升机工位.Controls.Add(uCCylinder, 1, i - 11);
- listCylinder.Add(uCCylinder);
- uCCylinder.thMonitor.Start();
- }
- for (int i = 0; i < PLCCylinder.listM04M05_测量工位.Count; i++)
- {
- UCCylinder uCCylinder = new UCCylinder("M04M05", PLCCylinder.listM04M05_测量工位[i], PLCCylinder.dictM04M05_测量工位);
- if (i < 11) uiTableLayoutPanel测量工位.Controls.Add(uCCylinder, 0, i);
- else uiTableLayoutPanel测量工位.Controls.Add(uCCylinder, 1, i - 11);
- listCylinder.Add(uCCylinder);
- uCCylinder.thMonitor.Start();
- }
- for (int i = 0; i < PLCCylinder.listM04M05_装盘工位.Count; i++)
- {
- UCCylinder uCCylinder = new UCCylinder("M04M05", PLCCylinder.listM04M05_装盘工位[i], PLCCylinder.dictM04M05_装盘工位);
- if (i < 11) uiTableLayoutPanel装盘工位.Controls.Add(uCCylinder, 0, i);
- else uiTableLayoutPanel装盘工位.Controls.Add(uCCylinder, 1, i - 11);
- listCylinder.Add(uCCylinder);
- uCCylinder.thMonitor.Start();
- }
- for (int i = 0; i < PLCCylinder.listM04M05_出盘工位.Count; i++)
- {
- UCCylinder uCCylinder = new UCCylinder("M04M05", PLCCylinder.listM04M05_出盘工位[i], PLCCylinder.dictM04M05_出盘工位);
- if (i < 11) uiTableLayoutPanel出盘工位.Controls.Add(uCCylinder, 0, i);
- else uiTableLayoutPanel出盘工位.Controls.Add(uCCylinder, 1, i - 11);
- listCylinder.Add(uCCylinder);
- uCCylinder.thMonitor.Start();
- }
- for (int i = 0; i < PLCCylinder.listM04M05_下流线工位.Count; i++)
- {
- UCCylinder uCCylinder = new UCCylinder("M04M05", PLCCylinder.listM04M05_下流线工位[i], PLCCylinder.dictM04M05_下流线工位);
- if (i < 11) uiTableLayoutPanel下流线工位.Controls.Add(uCCylinder, 0, i);
- else uiTableLayoutPanel下流线工位.Controls.Add(uCCylinder, 1, i - 11);
- listCylinder.Add(uCCylinder);
- uCCylinder.thMonitor.Start();
- }
- for (int i = 0; i < PLCCylinder.listM04M05_下料站工位.Count; i++)
- {
- UCCylinder uCCylinder = new UCCylinder("M04M05", PLCCylinder.listM04M05_下料站工位[i], PLCCylinder.dictM04M05_下料站工位);
- if (i < 11) uiTableLayoutPanel下料站工位.Controls.Add(uCCylinder, 0, i);
- else uiTableLayoutPanel装盘工位.Controls.Add(uCCylinder, 1, i - 11);
- listCylinder.Add(uCCylinder);
- uCCylinder.thMonitor.Start();
- }
- }
- private void LoadAxisPos()
- {
- listAxisPos.Clear();
- for (int i = 0; i < PLCAxisPos.dictM04M05_取料X轴.Count; i++)
- {
- UCAxisPos uCAxisPos = new UCAxisPos(PLCAxisPos.listM04M05_取料X轴[i], PLCAxisPos.dictM04M05_取料X轴);
- if (i < 9) uiTableLayoutPanel取料X轴Pos.Controls.Add(uCAxisPos, 0, i);
- else uiTableLayoutPanel取料X轴Pos.Controls.Add(uCAxisPos, 1, i - 9);
- listAxisPos.Add(uCAxisPos);
- //uCAxisPos.timer1.Enabled = true;
- uCAxisPos.thMonitor.Start();
- }
- for (int i = 0; i < PLCAxisPos.dictM04M05_取料Y轴.Count; i++)
- {
- UCAxisPos uCAxisPos = new UCAxisPos(PLCAxisPos.listM04M05_取料Y轴[i], PLCAxisPos.dictM04M05_取料Y轴);
- if (i < 9) uiTableLayoutPanel1取料Y轴Pos.Controls.Add(uCAxisPos, 0, i);
- else uiTableLayoutPanel1取料Y轴Pos.Controls.Add(uCAxisPos, 1, i - 9);
- listAxisPos.Add(uCAxisPos);
- //uCAxisPos.timer1.Enabled = true;
- uCAxisPos.thMonitor.Start();
- }
- for (int i = 0; i < PLCAxisPos.dictM04M05_装盘X轴.Count; i++)
- {
- UCAxisPos uCAxisPos = new UCAxisPos(PLCAxisPos.listM04M05_装盘X轴[i], PLCAxisPos.dictM04M05_装盘X轴);
- if (i < 9) uiTableLayoutPanel装盘X轴Pos.Controls.Add(uCAxisPos, 0, i);
- else uiTableLayoutPanel装盘X轴Pos.Controls.Add(uCAxisPos, 1, i - 9);
- listAxisPos.Add(uCAxisPos);
- //uCAxisPos.timer1.Enabled = true;
- uCAxisPos.thMonitor.Start();
- }
- for (int i = 0; i < PLCAxisPos.dictM04M05_装盘Y轴.Count; i++)
- {
- UCAxisPos uCAxisPos = new UCAxisPos(PLCAxisPos.listM04M05_装盘Y轴[i], PLCAxisPos.dictM04M05_装盘Y轴);
- if (i < 9) uiTableLayoutPanel装盘Y轴Pos.Controls.Add(uCAxisPos, 0, i);
- else uiTableLayoutPanel装盘Y轴Pos.Controls.Add(uCAxisPos, 1, i - 9);
- listAxisPos.Add(uCAxisPos);
- //uCAxisPos.timer1.Enabled = true;
- uCAxisPos.thMonitor.Start();
- }
- for (int i = 0; i < PLCAxisPos.dictM04M05_装盘Z轴.Count; i++)
- {
- UCAxisPos uCAxisPos = new UCAxisPos(PLCAxisPos.listM04M05_装盘Z轴[i], PLCAxisPos.dictM04M05_装盘Z轴);
- if (i < 9) uiTableLayoutPanel装盘Z轴Pos.Controls.Add(uCAxisPos, 0, i);
- else uiTableLayoutPanel装盘Z轴Pos.Controls.Add(uCAxisPos, 1, i - 9);
- listAxisPos.Add(uCAxisPos);
- uCAxisPos.thMonitor.Start();
- }
- for (int i = 0; i < PLCAxisPos.dictM04M05_下料站X轴.Count; i++)
- {
- UCAxisPos uCAxisPos = new UCAxisPos(PLCAxisPos.listM04M05_下料站X轴[i], PLCAxisPos.dictM04M05_下料站X轴);
- if(PLCAxisPos.listM04M05_下料站X轴[i].Contains("放盘位"))
- {
- string str = PLCAxisPos.listM04M05_下料站X轴[i].Split(',')[0];
- int index = Convert.ToInt32(str.Remove(0, 3));
- if(index < 11) uiTableLayoutPanel下料站X轴放盘Pos.Controls.Add(uCAxisPos, 0, index - 1);
- else uiTableLayoutPanel下料站X轴放盘Pos.Controls.Add(uCAxisPos, 1, index - 11);
- }
- else if(PLCAxisPos.listM04M05_下料站X轴[i].Contains("取箱位"))
- {
- string str = PLCAxisPos.listM04M05_下料站X轴[i].Split(',')[0];
- int index = Convert.ToInt32(str.Remove(0, 3));
- if (index < 11) uiTableLayoutPanel下料站X轴取箱Pos.Controls.Add(uCAxisPos, 0, index - 1);
- else uiTableLayoutPanel下料站X轴取箱Pos.Controls.Add(uCAxisPos, 1, index - 11);
- }
- else
- {
- uiTableLayoutPanel下料站X轴Pos.Controls.Add(uCAxisPos, 0, i);
- }
- //if (i < 9) uiTableLayoutPanel下料站X轴Pos.Controls.Add(uCAxisPos, 0, i);
- //else uiTableLayoutPanel下料站X轴Pos.Controls.Add(uCAxisPos, 1, i - 9);
- listAxisPos.Add(uCAxisPos);
- uCAxisPos.thMonitor.Start();
- }
- for (int i = 0; i < PLCAxisPos.dictM04M05_下料站Y轴.Count; i++)
- {
- UCAxisPos uCAxisPos = new UCAxisPos(PLCAxisPos.listM04M05_下料站Y轴[i], PLCAxisPos.dictM04M05_下料站Y轴);
- if (PLCAxisPos.listM04M05_下料站Y轴[i].Contains("放盘位"))
- {
- string str = PLCAxisPos.listM04M05_下料站Y轴[i].Split(',')[0];
- int index = Convert.ToInt32(str.Remove(0, 3));
- if (index < 11) uiTableLayoutPanel下料站Y轴放盘Pos.Controls.Add(uCAxisPos, 0, index - 1);
- else uiTableLayoutPanel下料站Y轴放盘Pos.Controls.Add(uCAxisPos, 1, index - 11);
- }
- else if (PLCAxisPos.listM04M05_下料站Y轴[i].Contains("取箱位"))
- {
- string str = PLCAxisPos.listM04M05_下料站Y轴[i].Split(',')[0];
- int index = Convert.ToInt32(str.Remove(0, 3));
- if (index < 11) uiTableLayoutPanel下料站Y轴取箱Pos.Controls.Add(uCAxisPos, 0, index - 1);
- else uiTableLayoutPanel下料站Y轴取箱Pos.Controls.Add(uCAxisPos, 1, index - 11);
- }
- else
- {
- uiTableLayoutPanel下料站Y轴Pos.Controls.Add(uCAxisPos, 0, i);
- }
- //if (i < 9) uiTableLayoutPanel下料站Y轴Pos.Controls.Add(uCAxisPos, 0, i);
- //else uiTableLayoutPanel下料站Y轴Pos.Controls.Add(uCAxisPos, 1, i - 9);
- listAxisPos.Add(uCAxisPos);
- uCAxisPos.thMonitor.Start();
- }
- for (int i = 0; i < PLCAxisPos.dictM04M05_下料站Z轴.Count; i++)
- {
- UCAxisPos uCAxisPos = new UCAxisPos(PLCAxisPos.listM04M05_下料站Z轴[i], PLCAxisPos.dictM04M05_下料站Z轴);
- if (i < 9) uiTableLayoutPanel下料站Z轴Pos.Controls.Add(uCAxisPos, 0, i);
- else uiTableLayoutPanel下料站Z轴Pos.Controls.Add(uCAxisPos, 1, i - 9);
- listAxisPos.Add(uCAxisPos);
- uCAxisPos.thMonitor.Start();
- }
- }
- private void LoadAxis()
- {
- listAxis.Clear();
- UCAxis uCAxis取料X轴 = new UCAxis("M04M05", "取料X轴", PLCAxis.listM04M05_轴[0], PLCAxis.dictM04M05_轴);
- panel取料X轴.Controls.Clear();
- panel取料X轴.Controls.Add(uCAxis取料X轴);
- //uCAxis取料X轴.timer1.Enabled = true;
- uCAxis取料X轴.thMonitor.Start();
- listAxis.Add(uCAxis取料X轴);
- UCAxis uCAxis取料Y轴 = new UCAxis("M04M05", "取料Y轴", PLCAxis.listM04M05_轴[1], PLCAxis.dictM04M05_轴);
- panel取料Y轴.Controls.Clear();
- panel取料Y轴.Controls.Add(uCAxis取料Y轴);
- uCAxis取料Y轴.thMonitor.Start();
- listAxis.Add(uCAxis取料Y轴);
- UCAxis uCAxis装盘X轴 = new UCAxis("M04M05", "装盘X轴", PLCAxis.listM04M05_轴[2], PLCAxis.dictM04M05_轴);
- panel装盘X轴.Controls.Clear();
- panel装盘X轴.Controls.Add(uCAxis装盘X轴);
- uCAxis装盘X轴.thMonitor.Start();
- listAxis.Add(uCAxis装盘X轴);
- UCAxis uCAxis装盘Y轴 = new UCAxis("M04M05", "装盘Y轴", PLCAxis.listM04M05_轴[3], PLCAxis.dictM04M05_轴);
- panel装盘Y轴.Controls.Clear();
- panel装盘Y轴.Controls.Add(uCAxis装盘Y轴);
- uCAxis装盘Y轴.thMonitor.Start();
- listAxis.Add(uCAxis装盘Y轴);
- UCAxis uCAxis装盘Z轴 = new UCAxis("M04M05", "装盘Z轴", PLCAxis.listM04M05_轴[4], PLCAxis.dictM04M05_轴);
- panel装盘Z轴.Controls.Clear();
- panel装盘Z轴.Controls.Add(uCAxis装盘Z轴);
- uCAxis装盘Z轴.thMonitor.Start();
- listAxis.Add(uCAxis装盘Z轴);
- UCAxis uCAxis下料站X轴 = new UCAxis("M04M05", "下料站X轴", PLCAxis.listM04M05_轴[5], PLCAxis.dictM04M05_轴);
- panel下料站X轴.Controls.Clear();
- panel下料站X轴.Controls.Add(uCAxis下料站X轴);
- uCAxis下料站X轴.thMonitor.Start();
- listAxis.Add(uCAxis下料站X轴);
- UCAxis uCAxis下料站Y轴 = new UCAxis("M04M05", "下料站Y轴", PLCAxis.listM04M05_轴[6], PLCAxis.dictM04M05_轴);
- panel下料站Y轴.Controls.Clear();
- panel下料站Y轴.Controls.Add(uCAxis下料站Y轴);
- uCAxis下料站Y轴.thMonitor.Start();
- listAxis.Add(uCAxis下料站Y轴);
- UCAxis uCAxis下料站Z轴 = new UCAxis("M04M05", "下料站Z轴", PLCAxis.listM04M05_轴[7], PLCAxis.dictM04M05_轴);
- panel下料站Z轴.Controls.Clear();
- panel下料站Z轴.Controls.Add(uCAxis下料站Z轴);
- uCAxis下料站Z轴.thMonitor.Start();
- listAxis.Add(uCAxis下料站Z轴);
- }
- private void Timer1_Tick(object sender, EventArgs e)
- {
-
- }
- private void FrmPLC_FormClosing(object sender, FormClosingEventArgs e)
- {
- timer1.Enabled = false;
- foreach (var item in listCylinder)
- {
- try
- {
- item.timer1.Enabled = false;
- item.thMonitor.Abort();
- }
- catch (Exception)
- {
- }
- }
- foreach (var item in listAxisPos)
- {
- try
- {
- item.timer1.Enabled = false;
- item.thMonitor.Abort();
- }
- catch (Exception)
- {
- }
- }
- foreach (var item in listAxis)
- {
- try
- {
- item.timer1.Enabled = false;
- item.thMonitor.Abort();
- }
- catch (Exception)
- {
- }
- }
- }
- private void tabControlM04M05_SelectedIndexChanged(object sender, EventArgs e)
- {
- ReadPLCHelp.iM04M05IOStation = tabControlM04M05.SelectedIndex;
- }
- private void tabControlAxis_SelectedIndexChanged(object sender, EventArgs e)
- {
- ReadPLCHelp.iM04M05AxisStation = tabControlAxis.SelectedIndex;
- //for (int i = 0; i < listAxis.Count; i++)
- //{
- // if (i == tabControlAxis.SelectedIndex) listAxis[tabControlAxis.SelectedIndex].Enabled = true;
- // else listAxis[tabControlAxis.SelectedIndex].Enabled = false;
- //}
- }
- private void tabControl下料X轴_SelectedIndexChanged(object sender, EventArgs e)
- {
- switch(tabControl下料X轴.SelectedIndex)
- {
- case 0:
- ProgramHelp.Instance.commPLC_M04M05.WriteUShort("DB10.32", 1, out string str);
- break;
- case 1:
- ProgramHelp.Instance.commPLC_M04M05.WriteUShort("DB10.32", 4, out str);
- break;
- case 2:
- ProgramHelp.Instance.commPLC_M04M05.WriteUShort("DB10.32", 8, out str);
- break;
- }
- }
- private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
- {
- switch (tabControl1.SelectedIndex)
- {
- case 0:
- ProgramHelp.Instance.commPLC_M04M05.WriteUShort("DB10.38", 1, out string str);
- break;
- case 1:
- ProgramHelp.Instance.commPLC_M04M05.WriteUShort("DB10.38", 3, out str);
- break;
- case 2:
- ProgramHelp.Instance.commPLC_M04M05.WriteUShort("DB10.38", 8, out str);
- break;
- }
- }
- }
- }
|