123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390 |
- 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_M01M02 : Sunny.UI.UIForm
- {
- public FrmPLC_M01M02()
- {
- InitializeComponent();
- }
- private void FrmPLC_Load(object sender, EventArgs e)
- {
- uiSplitContainer1.SplitterDistance = this.Width / 2;
- LoadPLCValue();
- LoadAxisPos();
- LoadAxis();
- tabControlAxis.SelectedIndex = 0;
- }
- public List<UCCylinder> listCylinder = new List<UCCylinder>();
- public List<UCAxisPos> listAxisPos_取料X轴Pos = new List<UCAxisPos>();
- public List<UCAxisPos> listAxisPos_取料Y轴Pos = new List<UCAxisPos>();
- public List<UCAxisPos> listAxisPos_取料Z轴Pos = new List<UCAxisPos>();
- public List<UCAxisPos> listAxisPos_取料R轴Pos = new List<UCAxisPos>();
- public List<UCAxisPos> listAxisPos_上料站X轴Pos = new List<UCAxisPos>();
- public List<UCAxisPos> listAxisPos_上料站Y轴Pos = new List<UCAxisPos>();
- public List<UCAxisPos> listAxisPos_上料站Z轴Pos = new List<UCAxisPos>();
- public List<UCAxis> listAxis = new List<UCAxis>();
- private void LoadPLCValue()
- {
- listCylinder.Clear();
- for (int i = 0; i < PLCCylinder.listM01M02_上料工位.Count; i++)
- {
- UCCylinder uCCylinder = new UCCylinder("M01M02", PLCCylinder.listM01M02_上料工位[i],PLCCylinder.dictM01M02_上料工位);
- if(i < 11) uiTableLayoutPanel上料工位.Controls.Add(uCCylinder, 0, i);
- else uiTableLayoutPanel上料工位.Controls.Add(uCCylinder, 1, i - 11);
- listCylinder.Add(uCCylinder);
- //uCCylinder.timer1.Enabled = true;
- uCCylinder.thMonitor.Start();
- }
- for (int i = 0; i < PLCCylinder.listM01M02_取出工位.Count; i++)
- {
- UCCylinder uCCylinder = new UCCylinder("M01M02", PLCCylinder.listM01M02_取出工位[i], PLCCylinder.dictM01M02_取出工位);
- if (i < 11) uiTableLayoutPanel取出工位.Controls.Add(uCCylinder, 0, i);
- else uiTableLayoutPanel取出工位.Controls.Add(uCCylinder, 1, i - 11);
- listCylinder.Add(uCCylinder);
- //uCCylinder.timer1.Enabled = true;
- uCCylinder.thMonitor.Start();
- }
- for (int i = 0; i < PLCCylinder.listM01M02_提升机工位.Count; i++)
- {
- UCCylinder uCCylinder = new UCCylinder("M01M02", PLCCylinder.listM01M02_提升机工位[i], PLCCylinder.dictM01M02_提升机工位);
- if (i < 11) uiTableLayoutPanel提升机工位.Controls.Add(uCCylinder, 0, i);
- else uiTableLayoutPanel提升机工位.Controls.Add(uCCylinder, 1, i - 11);
- listCylinder.Add(uCCylinder);
- //uCCylinder.timer1.Enabled = true;
- uCCylinder.thMonitor.Start();
- }
- for (int i = 0; i < PLCCylinder.listM01M02_称重工位.Count; i++)
- {
- UCCylinder uCCylinder = new UCCylinder("M01M02", PLCCylinder.listM01M02_称重工位[i], PLCCylinder.dictM01M02_称重工位);
- if (i < 11) uiTableLayoutPanel称重工位.Controls.Add(uCCylinder, 0, i);
- else uiTableLayoutPanel称重工位.Controls.Add(uCCylinder, 1, i - 11);
- listCylinder.Add(uCCylinder);
- //uCCylinder.timer1.Enabled = true;
- uCCylinder.thMonitor.Start();
- }
- for (int i = 0; i < PLCCylinder.listM01M02_出口工位.Count; i++)
- {
- UCCylinder uCCylinder = new UCCylinder("M01M02", PLCCylinder.listM01M02_出口工位[i], PLCCylinder.dictM01M02_出口工位);
- if (i < 11) uiTableLayoutPanel出口工位.Controls.Add(uCCylinder, 0, i);
- else uiTableLayoutPanel出口工位.Controls.Add(uCCylinder, 1, i - 11);
- listCylinder.Add(uCCylinder);
- //uCCylinder.timer1.Enabled = true;
- uCCylinder.thMonitor.Start();
- }
- }
-
- private void LoadAxisPos()
- {
- listAxisPos_取料X轴Pos.Clear(); listAxisPos_取料Y轴Pos.Clear(); listAxisPos_取料Z轴Pos.Clear(); listAxisPos_取料R轴Pos.Clear();
- listAxisPos_上料站X轴Pos.Clear(); listAxisPos_上料站Y轴Pos.Clear(); listAxisPos_上料站Z轴Pos.Clear();
- uiTableLayoutPanel取料X轴Pos.Controls.Clear();
- uiTableLayoutPanel1取料Y轴Pos.Controls.Clear(); uiTableLayoutPanel取料Z轴Pos.Controls.Clear(); uiTableLayoutPanel取料R轴Pos.Controls.Clear();
- uiTableLayoutPanel上料站X轴Pos.Controls.Clear(); uiTableLayoutPanel上料站Y轴Pos.Controls.Clear(); uiTableLayoutPanel上料站Z轴Pos.Controls.Clear();
- for (int i = 0; i < PLCAxisPos.dictM01M02_取料X轴.Count; i++)
- {
- UCAxisPos uCAxisPos = new UCAxisPos( PLCAxisPos.listM01M02_取料X轴[i], PLCAxisPos.dictM01M02_取料X轴);
- if (i < 9) uiTableLayoutPanel取料X轴Pos.Controls.Add(uCAxisPos, 0, i);
- else uiTableLayoutPanel取料X轴Pos.Controls.Add(uCAxisPos, 1, i - 9);
- listAxisPos_取料X轴Pos.Add(uCAxisPos);
- //uCAxisPos.timer1.Enabled = true;
- uCAxisPos.thMonitor.Start();
- }
- for (int i = 0; i < PLCAxisPos.dictM01M02_取料Y轴.Count; i++)
- {
- UCAxisPos uCAxisPos = new UCAxisPos(PLCAxisPos.listM01M02_取料Y轴[i], PLCAxisPos.dictM01M02_取料Y轴);
- if (i < 9) uiTableLayoutPanel1取料Y轴Pos.Controls.Add(uCAxisPos, 0, i);
- else uiTableLayoutPanel1取料Y轴Pos.Controls.Add(uCAxisPos, 1, i - 9);
- listAxisPos_取料Y轴Pos.Add(uCAxisPos);
- //uCAxisPos.timer1.Enabled = true;
- uCAxisPos.thMonitor.Start();
- }
- for (int i = 0; i < PLCAxisPos.dictM01M02_取料Z轴.Count; i++)
- {
- UCAxisPos uCAxisPos = new UCAxisPos(PLCAxisPos.listM01M02_取料Z轴[i], PLCAxisPos.dictM01M02_取料Z轴);
- if (i < 9) uiTableLayoutPanel取料Z轴Pos.Controls.Add(uCAxisPos, 0, i);
- else uiTableLayoutPanel取料Z轴Pos.Controls.Add(uCAxisPos, 1, i - 9);
- listAxisPos_取料Z轴Pos.Add(uCAxisPos);
- //uCAxisPos.timer1.Enabled = true;
- uCAxisPos.thMonitor.Start();
- }
- for (int i = 0; i < PLCAxisPos.dictM01M02_取料R轴.Count; i++)
- {
- UCAxisPos uCAxisPos = new UCAxisPos(PLCAxisPos.listM01M02_取料R轴[i], PLCAxisPos.dictM01M02_取料R轴);
- if (i < 9) uiTableLayoutPanel取料R轴Pos.Controls.Add(uCAxisPos, 0, i);
- else uiTableLayoutPanel取料R轴Pos.Controls.Add(uCAxisPos, 1, i - 9);
- listAxisPos_取料R轴Pos.Add(uCAxisPos);
- //uCAxisPos.timer1.Enabled = true;
- uCAxisPos.thMonitor.Start();
- }
- for (int i = 0; i < PLCAxisPos.dictM01M02_上料站X轴.Count; i++)
- {
- UCAxisPos uCAxisPos = new UCAxisPos(PLCAxisPos.listM01M02_上料站X轴[i], PLCAxisPos.dictM01M02_上料站X轴);
- if (i < 9) uiTableLayoutPanel上料站X轴Pos.Controls.Add(uCAxisPos, 0, i);
- else uiTableLayoutPanel上料站X轴Pos.Controls.Add(uCAxisPos, 1, i - 9);
- listAxisPos_上料站X轴Pos.Add(uCAxisPos);
- //uCAxisPos.timer1.Enabled = true;
- uCAxisPos.thMonitor.Start();
- }
- for (int i = 0; i < PLCAxisPos.dictM01M02_上料站Y轴.Count; i++)
- {
- UCAxisPos uCAxisPos = new UCAxisPos(PLCAxisPos.listM01M02_上料站Y轴[i], PLCAxisPos.dictM01M02_上料站Y轴);
- if (i < 9) uiTableLayoutPanel上料站Y轴Pos.Controls.Add(uCAxisPos, 0, i);
- else uiTableLayoutPanel上料站Y轴Pos.Controls.Add(uCAxisPos, 1, i - 9);
- listAxisPos_上料站Y轴Pos.Add(uCAxisPos);
- //uCAxisPos.timer1.Enabled = true;
- uCAxisPos.thMonitor.Start();
- }
- for (int i = 0; i < PLCAxisPos.dictM01M02_上料站Z轴.Count; i++)
- {
- UCAxisPos uCAxisPos = new UCAxisPos(PLCAxisPos.listM01M02_上料站Z轴[i], PLCAxisPos.dictM01M02_上料站Z轴);
- if (i < 9) uiTableLayoutPanel上料站Z轴Pos.Controls.Add(uCAxisPos, 0, i);
- else uiTableLayoutPanel上料站Z轴Pos.Controls.Add(uCAxisPos, 1, i - 9);
- listAxisPos_上料站Z轴Pos.Add(uCAxisPos);
- //uCAxisPos.timer1.Enabled = true;
- uCAxisPos.thMonitor.Start();
- }
- }
- private void LoadAxis()
- {
- listAxis.Clear();
- UCAxis uCAxis取料X轴 = new UCAxis("M01M02", "取料X轴", PLCAxis.listM01M02_轴[0], PLCAxis.dictM01M02_轴);
- panel取料X轴.Controls.Clear();
- panel取料X轴.Controls.Add(uCAxis取料X轴);
- //uCAxisPos.timer1.Enabled = true;
- uCAxis取料X轴.thMonitor.Start();
- listAxis.Add(uCAxis取料X轴);
- UCAxis uCAxis取料Y轴 = new UCAxis("M01M02", "取料Y轴", PLCAxis.listM01M02_轴[1], PLCAxis.dictM01M02_轴);
- panel取料Y轴.Controls.Clear();
- panel取料Y轴.Controls.Add(uCAxis取料Y轴);
- //uCAxis取料Y轴.timer1.Enabled = true;
- uCAxis取料Y轴.thMonitor.Start();
- listAxis.Add(uCAxis取料Y轴);
- UCAxis uCAxis取料Z轴 = new UCAxis("M01M02", "取料Z轴", PLCAxis.listM01M02_轴[2], PLCAxis.dictM01M02_轴);
- panel取料Z轴.Controls.Clear();
- panel取料Z轴.Controls.Add(uCAxis取料Z轴);
- //uCAxis取料Z轴.timer1.Enabled = true;
- uCAxis取料Z轴.thMonitor.Start();
- listAxis.Add(uCAxis取料Z轴);
- UCAxis uCAxis取料R轴 = new UCAxis("M01M02", "取料R轴", PLCAxis.listM01M02_轴[3], PLCAxis.dictM01M02_轴);
- panel取料R轴.Controls.Clear();
- panel取料R轴.Controls.Add(uCAxis取料R轴);
- //uCAxis取料R轴.timer1.Enabled = true;
- uCAxis取料R轴.thMonitor.Start();
- listAxis.Add(uCAxis取料R轴);
- UCAxis uCAxis上料站X轴 = new UCAxis("M01M02", "上料站X轴", PLCAxis.listM01M02_轴[4], PLCAxis.dictM01M02_轴);
- 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("M01M02", "上料站Y轴", PLCAxis.listM01M02_轴[5], PLCAxis.dictM01M02_轴);
- panel上料站Y轴.Controls.Clear();
- panel上料站Y轴.Controls.Add(uCAxis上料站Y轴);
- uCAxis上料站Y轴.thMonitor.Start();
- listAxis.Add(uCAxis上料站Y轴);
- UCAxis uCAxis上料站Z轴 = new UCAxis("M01M02", "上料站Z轴", PLCAxis.listM01M02_轴[6], PLCAxis.dictM01M02_轴);
- panel上料站Z轴.Controls.Clear();
- panel上料站Z轴.Controls.Add(uCAxis上料站Z轴);
- uCAxis上料站Z轴.thMonitor.Start();
- listAxis.Add(uCAxis上料站Z轴);
- }
- int count = 0;
- private void Timer1_Tick(object sender, EventArgs e)
- {
- count = listAxis.Count;
- count = PLCAxis.dictM01M02_轴.Count;
- }
- 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 listAxis)
- {
- try
- {
- item.timer1.Enabled = false;
- item.thMonitor.Abort();
- }
- catch (Exception)
- {
- }
- }
- foreach (var item in listAxisPos_取料X轴Pos)
- {
- try
- {
- item.timer1.Enabled = false;
- item.thMonitor.Abort();
- }
- catch (Exception)
- {
- }
- }
- foreach (var item in listAxisPos_取料Y轴Pos)
- {
- try
- {
- item.timer1.Enabled = false;
- item.thMonitor.Abort();
- }
- catch (Exception)
- {
- }
- }
- foreach (var item in listAxisPos_取料Z轴Pos)
- {
- try
- {
- item.timer1.Enabled = false;
- item.thMonitor.Abort();
- }
- catch (Exception)
- {
- }
- }
- foreach (var item in listAxisPos_取料R轴Pos)
- {
- try
- {
- item.timer1.Enabled = false;
- item.thMonitor.Abort();
- }
- catch (Exception)
- {
- }
- }
- foreach (var item in listAxisPos_上料站X轴Pos)
- {
- try
- {
- item.timer1.Enabled = false;
- item.thMonitor.Abort();
- }
- catch (Exception)
- {
- }
- }
- foreach (var item in listAxisPos_上料站Y轴Pos)
- {
- try
- {
- item.timer1.Enabled = false;
- item.thMonitor.Abort();
- }
- catch (Exception)
- {
- }
- }
- foreach (var item in listAxisPos_上料站Z轴Pos)
- {
- try
- {
- item.timer1.Enabled = false;
- item.thMonitor.Abort();
- }
- catch (Exception)
- {
- }
- }
- }
- private void tabControlM01M02_SelectedIndexChanged(object sender, EventArgs e)
- {
- ReadPLCHelp.iM01M02IOStation = tabControlM01M02.SelectedIndex;
- }
- private void tabControlAxis_SelectedIndexChanged(object sender, EventArgs e)
- {
- ReadPLCHelp.iM01M02AxisStation = tabControlAxis.SelectedIndex;
- //switch (tabControlAxis.SelectedIndex)
- //{
- // case 0:
- // foreach (var item in listAxisPos_取料X轴Pos)
- // {
- // //item.timer1.Enabled = true;
- // item.thMonitor.Start();
- // }
- // break;
- // case 1:
- // foreach (var item in listAxisPos_取料Y轴Pos)
- // {
- // item.thMonitor.Start();
- // }
- // break;
- // case 2:
- // foreach (var item in listAxisPos_取料Z轴Pos)
- // {
- // item.thMonitor.Start();
- // }
- // break;
- // case 3:
- // foreach (var item in listAxisPos_取料R轴Pos)
- // {
- // item.thMonitor.Start();
- // }
- // break;
- // case 4:
- // foreach (var item in listAxisPos_上料站X轴Pos)
- // {
- // item.thMonitor.Start();
- // }
- // break;
- // case 5:
- // foreach (var item in listAxisPos_上料站Y轴Pos)
- // {
- // item.thMonitor.Start();
- // }
- // break;
- // case 6:
- // foreach (var item in listAxisPos_上料站Z轴Pos)
- // {
- // item.thMonitor.Start();
- // }
- // break;
- //}
- }
- }
- }
|