123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469 |
- using BaseLibRWFile;
- using HRT_Measure.Windows;
- using Sunny.UI;
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Diagnostics;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- namespace HRT_Measure
- {
- public partial class FrmMain :Sunny.UI.UIForm
- {
- public FrmMain()
- {
- InitializeComponent();
- }
- public static FrmLogin frmLogin = new FrmLogin();
- PLCResultHelp resultHelp = new PLCResultHelp();
- public FrmPLC_M01M02 frmPLC_M01M02;//= new FrmPLC_M01M02();
- public FrmPLC_M03 frmPLC_M03;//= new FrmPLC_M03();
- public FrmPLC_M04M05 frmPLC_M04M05;//= new FrmPLC_M04M05();
- public FrmPressure frmPressure;//= new FrmPressure();
- public FrmParaWrite frmParaWrite;//= new FrmParaWrite();
- public FrmFirstWindow frmFirstWindow;//= new FrmFirstWindow();
- public FrmWeight frmWeight;
- private FrmProjectConfig frmProjectConfig;//= null;
- private FrmCommunication frmCommunication;//= null;
- private void FrmMain_Load(object sender, EventArgs e)
- {
-
- ProgramHelp.Instance.LoadProjectFiles();
-
-
- //ToolStripMenuItem_PartNo_Name.Text = "";// ProgramHelp.Instance.ProConfig.当前料号;
- //启动ToolStripMenuItem_Click(null, null);
- timer1.Enabled = true;
- //DateTime dateTime = DateTime.Now;
- //DateTime dateFinal = new DateTime(2025, 2, 28);
- //int resultTime = DateTime.Compare(dateTime, dateFinal);
- //if(resultTime > 0)
- //{
- // FrmMain_FormClosing(null,null);
- //}
- PLCCylinder.GetInitIO();//初始化界面IO
- PLCCylinder.GetAlm();
- PLCCylinder.GetM01M02Add();
- PLCCylinder.GetM03Add();
- PLCCylinder.GetM04M05Add();
- PLCAxisPos.GetM01M02PosAdd();
- //PLCAxisPos.GetM03PosAdd();
- PLCAxisPos.GetM04M05PosAdd();
- PLCAxis.GetM01M02AxisAdd();
- PLCAxis.GetM03AxisAdd();
- PLCAxis.GetM04M05AxisAdd();
- ClsWeightHelp.GetWeightAdd();
- ReadPLCHelp.LoadPLCAdd();
- frmPLC_M01M02 = new FrmPLC_M01M02();
- frmPLC_M03 = new FrmPLC_M03();
- frmPLC_M04M05 = new FrmPLC_M04M05();
- frmPressure = new FrmPressure();
- frmFirstWindow = new FrmFirstWindow();
- frmParaWrite = new FrmParaWrite();
- frmProjectConfig = new FrmProjectConfig();
- frmCommunication = new FrmCommunication();
- frmWeight = new FrmWeight();
- ControlLayout();
- ClsResultData.LoadResultTitle();
- ProgramHelp.Instance.frmMain = this;
- //uchmiM01M02.timer1.Enabled = true;
- //uchmiM03.timer1.Enabled = true;
- //uchmiM04M05.timer1.Enabled = true;
- //uchmiM01M02.thMonitor.Start(); uchmiM03.thMonitor.Start(); uchmiM04M05.thMonitor.Start();
- }
- private void ControlLayout()
- {
- this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width , Screen.PrimaryScreen.WorkingArea.Height);//* 95 / 100
- this.Size = this.MaximumSize;
- this.WindowState = FormWindowState.Maximized;
-
- panelMain.Controls.Clear();
- frmPLC_M01M02.TopLevel = false;
- frmPLC_M01M02.Dock = DockStyle.Fill;
- panelMain.Controls.Add(frmPLC_M01M02);
- frmPLC_M01M02.Show();
- //Refresh();
- panelMain.Controls.Clear();
- frmPLC_M03.TopLevel = false;
- frmPLC_M03.Dock = DockStyle.Fill;
- panelMain.Controls.Add(frmPLC_M03);
- frmPLC_M03.Show();
- //Refresh();
- panelMain.Controls.Clear();
- frmPLC_M04M05.TopLevel = false;
- frmPLC_M04M05.Dock = DockStyle.Fill;
- panelMain.Controls.Add(frmPLC_M04M05);
- frmPLC_M04M05.Show();
- //Refresh();
- panelMain.Controls.Clear();
- frmPressure.TopLevel = false;
- frmPressure.Dock = DockStyle.Fill;
- panelMain.Controls.Add(frmPressure);
- frmPressure.Show();
- //Refresh();
- panelMain.Controls.Clear();
- frmWeight.TopLevel = false;
- frmWeight.Dock = DockStyle.Fill;
- panelMain.Controls.Add(frmWeight);
- frmWeight.Show();
- //Refresh();
- panelMain.Controls.Clear();
- frmParaWrite.TopLevel = false;
- frmParaWrite.Dock = DockStyle.Fill;
- panelMain.Controls.Add(frmParaWrite);
- frmParaWrite.Show();
- //Refresh();
- panelMain.Controls.Clear();
- frmCommunication.TopLevel = false;
- frmCommunication.Dock = DockStyle.Fill;
- panelMain.Controls.Add(frmCommunication);
- frmCommunication.Show();
- //Refresh();
- panelMain.Controls.Clear();
- frmProjectConfig.TopLevel = false;
- frmProjectConfig.Dock = DockStyle.Fill;
- panelMain.Controls.Add(frmProjectConfig);
- frmProjectConfig.Show();
- //Refresh();
- panelMain.Controls.Clear();
- frmFirstWindow.TopLevel = false;
- frmFirstWindow.Dock = DockStyle.Fill;
- panelMain.Controls.Add(frmFirstWindow);
- frmFirstWindow.Show();
- ReadPLCHelp.EnumWindowDisplay = WindowDisplay.主界面;
- btnHome.FillColor = Color.Green;
- //Refresh();
- //splitContainerMain.SplitterDistance = 367;
- //splitContainerMain.SplitterDistance = this.Size.Width * 4/ 5;
- //splitContainerResult.SplitterDistance = splitContainerMain.Height / 2;
- }
- #region Button
- private void 登录ToolStripMenuItem_Click(object sender, EventArgs e)
- {
- frmLogin.ShowDialog();
- }
- private void 登出ToolStripMenuItem_Click(object sender, EventArgs e)
- {
- GlobalPara.isOperatorSelect = false;
- }
-
-
- private void 启动ToolStripMenuItem_Click(object sender, EventArgs e)
- {
- //if (GlobalPara.CurrentMachineState != MachineState.AutoRunning)
- //{
- // 启动ToolStripMenuItem.Image = HRT_Measure.Properties.Resources.Stop_active_main;
- // GlobalPara.CurrentMachineState = MachineState.AutoRunning;
- // ProgramHelp.Instance.SaveMsg("System", $"运行中", true);
-
- //}
- //else
- //{
- // 启动ToolStripMenuItem.Image = HRT_Measure.Properties.Resources.Start_active_main;
- // GlobalPara.CurrentMachineState = MachineState.Pause; ;
- // ProgramHelp.Instance.SaveMsg("System", $"暂停中", true);
- //}
- }
-
- #endregion
- private void FrmMain_FormClosing(object sender, FormClosingEventArgs e)
- {
- try
- {
- timer1.Enabled = false;
- try
- {
- ReadPLCHelp.thReadPLCM01M02.Abort();
- }
- catch { }
- try
- {
- ReadPLCHelp.thReadPLCM03.Abort();
- }
- catch { }
- try
- {
- ReadPLCHelp.thReadPLCM04M05.Abort();
- }
- catch { }
- ProgramHelp.Instance.commPLC_M01M02.Close();
- ProgramHelp.Instance.commPLC_M03.Close();
- ProgramHelp.Instance.commPLC_M04M05.Close();
- ProgramHelp.Instance.comm压机.Close();
- //frmPLC_M01M02.Dispose();
- //frmPLC_M03.Dispose();
- //frmPLC_M04M05.Dispose();
-
- Environment.Exit(0);
- Application.Exit();
- this.Close();
- }
- catch (Exception )
- {
- //MessageBox.Show(ex.ToString());
- }
- }
-
- private void timer1_Tick(object sender, EventArgs e)
- {
- lblCurrentNo.Text = $"当前配方号:{ClsWeightHelp.s当前配方号}";
- //try
- //{
- // //M01
- // txt药A暂存当前盒数.Text = resultHelp.M01_药A暂存当前盒数.ToString();
- // txt药B暂存当前盒数.Text = resultHelp.M01_药B暂存当前盒数.ToString();
- // txt抛盖暂存槽当前数量.Text = resultHelp.M01_抛盖暂存槽当前数量.ToString();
- // txt空桶暂存槽当前数量.Text = resultHelp.M01_空桶暂存槽当前数量.ToString();
- // btn清料.BackColor = PLCResultHelp.isM01_清料 ? Color.Green : Color.Gray;
- // btn称重开始.BackColor = PLCResultHelp.isM01_称重开始 ? Color.Green : Color.Gray;
- // //M02
- // txt药A称重配比重量.Text = resultHelp.M02_药A称重配比重量.ToString();
- // txtA料仓1当前重量.Text = resultHelp.M02_A料仓1当前重量.ToString();
- // txtA料仓2当前重量.Text = resultHelp.M02_A料仓2当前重量.ToString();
- // txtA料仓3当前重量.Text = resultHelp.M02_A料仓3当前重量.ToString();
- // txtA料仓4当前重量.Text = resultHelp.M02_A料仓4当前重量.ToString();
- // txtA料仓5当前重量.Text = resultHelp.M02_A料仓5当前重量.ToString();
- // txt药B称重配比重量.Text = resultHelp.M02_药B称重配比重量.ToString();
- // txtB料仓1当前重量.Text = resultHelp.M02_B料仓1当前重量.ToString();
- // txtB料仓2当前重量.Text = resultHelp.M02_B料仓2当前重量.ToString();
- // txtB料仓3当前重量.Text = resultHelp.M02_B料仓3当前重量.ToString();
- // txtB料仓4当前重量.Text = resultHelp.M02_B料仓4当前重量.ToString();
- // txtB料仓5当前重量.Text = resultHelp.M02_B料仓5当前重量.ToString();
- // //M04
- // btnAllowLayOff.BackColor = PLCResultHelp.isM04_允许下料 ? Color.Green : Color.Gray;
- // txtCurrentHeight.Text = PLCResultHelp.fM04_当前检测高度.ToString("f3");
- // txtCurrentWeight.Text = PLCResultHelp.iM04_当前重量.ToString("f2");
-
- // //M05
- // txt箱数.Text = resultHelp.M05_箱数.ToString();
- // //压机
- // foreach (var item in grbPressure.Controls)
- // {
- // if (item is UITextBox)
- // {
- // string name = ((UITextBox)item).Name;
- // name = name.Remove(0, 3);
- // ((UITextBox)item).Text = ReadPLCHelp.dictPressure[name].value;
- // }
- // }
- //}
- //catch (Exception)
- //{
- //}
- }
-
- #region 料号切换
- public void ChangePartNumber(string PartNoName)
- {
- this.Invoke(new Action(() =>
- {
- try
- {
- //ToolStripMenuItem_PartNo_Name.Text = PartNoName;
- ProgramHelp.Instance.SavePorjectConfig();
- try
- {
- //开启新的实例
- System.Diagnostics.Process.Start(Application.ExecutablePath);
- //关闭当前实例
- Process.GetCurrentProcess().Kill();
- }
- catch (Exception)
- {
- }
- ProgramHelp.Instance.SaveMsg("System", $"料号切换成功!", true);
- MessageBox.Show("料号切换成功!");
- }
- catch (Exception ex)
- {
- ProgramHelp.Instance.SaveMsg("System", $"料号切换失败:{ex.Message}", true);
- MessageBox.Show("料号切换失败!");
- }
- }));
- }
- #region Msg显示
- public delegate void ListBoxAddInfo(string info);
- //private void AddRunMsg(string info)
- //{
- // if (listbMsg.InvokeRequired)
- // {
- // ListBoxAddInfo lb = new ListBoxAddInfo(AddRunMsg);
- // listbMsg.Invoke(lb, new string[] { info });
- // }
- // else
- // {
- // listbMsg.Items.Add(info);
- // listbMsg.SelectedIndex = listbMsg.Items.Count - 1;
- // if (listbMsg.Items.Count > 1000)
- // {
- // listbMsg.Items.Clear();
- // }
- // }
- //}
- //private void btnClearMsg_Click(object sender, EventArgs e)
- //{
- // listbMsg.Items.Clear();
- //}
- //private void btnExtend_Click(object sender, EventArgs e)
- //{
- // if (btnExtend.Text == "<<")
- // {
- // splitContainerMain.SplitterDistance = this.Size.Width / 2;
- // btnExtend.Text = ">>";
- // }
- // else
- // {
- // splitContainerMain.SplitterDistance = this.Size.Width * 4 / 5;
- // btnExtend.Text = "<<";
- // }
- //}
- #endregion
- #endregion
- private void btnWinFrmOpen(object sender, EventArgs e)
- {
- var btn = (UISymbolButton)sender;
- foreach (var item in splitContainerMain.Panel2.Controls)
- {
- if(item is UISymbolButton)
- {
- ((UISymbolButton)item).FillColor = Color.Gray;
- }
- }
- btn.FillColor = Color.Green;
- switch (btn.Text)
- {
- case "主画面":
- panelMain.Controls.Clear();
- frmFirstWindow.TopLevel = false;
- frmFirstWindow.Dock = DockStyle.Fill;
- panelMain.Controls.Add(frmFirstWindow);
- frmFirstWindow.Show();
- ReadPLCHelp.EnumWindowDisplay = WindowDisplay.主界面;
- Refresh();
- break;
- case "上料称重房":
- panelMain.Controls.Clear();
- frmPLC_M01M02.TopLevel = false;
- frmPLC_M01M02.Dock = DockStyle.Fill;
- panelMain.Controls.Add(frmPLC_M01M02);
- frmPLC_M01M02.Show();
- ReadPLCHelp.EnumWindowDisplay = WindowDisplay.上料称重房;
- Refresh();
- break;
- case "压机房":
- panelMain.Controls.Clear();
- frmPLC_M03.TopLevel = false;
- frmPLC_M03.Dock = DockStyle.Fill;
- panelMain.Controls.Add(frmPLC_M03);
- frmPLC_M03.Show();
- ReadPLCHelp.EnumWindowDisplay = WindowDisplay.压机房;
- Refresh();
- break;
- case "检测装箱房":
- panelMain.Controls.Clear();
- frmPLC_M04M05.TopLevel = false;
- frmPLC_M04M05.Dock = DockStyle.Fill;
- panelMain.Controls.Add(frmPLC_M04M05);
- frmPLC_M04M05.Show();
- ReadPLCHelp.EnumWindowDisplay = WindowDisplay.检测装箱房;
- Refresh();
- break;
- case "压力机":
- panelMain.Controls.Clear();
- frmPressure.TopLevel = false;
- frmPressure.Dock = DockStyle.Fill;
- panelMain.Controls.Add(frmPressure);
- frmPressure.Show();
- ReadPLCHelp.EnumWindowDisplay = WindowDisplay.压力机;
- Refresh();
- break;
- case "称重":
- panelMain.Controls.Clear();
- frmWeight.TopLevel = false;
- frmWeight.Dock = DockStyle.Fill;
- panelMain.Controls.Add(frmWeight);
- frmWeight.Show();
- ReadPLCHelp.EnumWindowDisplay = WindowDisplay.称重;
- Refresh();
- break;
- case "数据监控":
- panelMain.Controls.Clear();
- frmParaWrite.TopLevel = false;
- frmParaWrite.Dock = DockStyle.Fill;
- panelMain.Controls.Add(frmParaWrite);
- frmParaWrite.Show();
- ReadPLCHelp.EnumWindowDisplay = WindowDisplay.数据监控;
- Refresh();
- break;
- case "通讯":
- panelMain.Controls.Clear();
- frmCommunication.TopLevel = false;
- frmCommunication.Dock = DockStyle.Fill;
- panelMain.Controls.Add(frmCommunication);
- frmCommunication.Show();
- ReadPLCHelp.EnumWindowDisplay = WindowDisplay.通讯;
- Refresh();
- break;
- case "项目配置":
- panelMain.Controls.Clear();
- frmProjectConfig.TopLevel = false;
- frmProjectConfig.Dock = DockStyle.Fill;
- panelMain.Controls.Add(frmProjectConfig);
- frmProjectConfig.Show();
- ReadPLCHelp.EnumWindowDisplay = WindowDisplay.项目配置;
- Refresh();
- break;
- }
- }
- }
- }
|