using System; using System.Collections.Generic; using System.Data; using System.Drawing; using System.Linq; using System.Threading; using System.Windows.Forms; using WCS.Data.Models; using WCS_Client.From.From_Montior; namespace WCS_Client.Frm { public partial class Frm_YongGuanMontior : Form { System.Timers.Timer _timer; private delegate void ShowTextDelegate(List ds);// 创建委托和委托对象 private List _plcnameSet = new List(); private List DDJSatatusSet = new List(); private List RGVSatatusSet = new List(); // 防止闪屏 protected override CreateParams CreateParams { get { CreateParams cp = base.CreateParams; cp.ExStyle |= 0x02000000; return cp; } } public Frm_YongGuanMontior() { InitializeComponent(); Init(); } private void Init() { _plcnameSet.Add("srm01"); _plcnameSet.Add("srm02"); _plcnameSet.Add("srm03"); _plcnameSet.Add("srm04"); _plcnameSet.Add("srm05"); _plcnameSet.Add("srm06"); _plcnameSet.Add("rgv1444"); _plcnameSet.Add("rgv1007"); _plcnameSet.Add("rgv1089"); _plcnameSet.Add("rgv1091"); _plcnameSet.Add("rgv1220"); _plcnameSet.Add("rgv1195"); _plcnameSet.Add("rgv1175"); _plcnameSet.Add("rgv1135"); _plcnameSet.Add("rgv1154"); _plcnameSet.Add("conveyor01"); _plcnameSet.Add("conveyor02"); _plcnameSet.Add("conveyor03"); _plcnameSet.Add("conveyor04"); var plcnameSetsrm = _plcnameSet.Where(value => value.Contains("srm")).ToList(); for (int i = 0; i < plcnameSetsrm.Count; i++) { var item = plcnameSetsrm[i]; if (!DDJSatatusSet.Any(v => v.SrmName == item)) { var ddjsatatus = new DDJSatatus(); ddjsatatus.SrmName = item; int index = i + 1; ddjsatatus.G = (PictureBox)FindControl("G" + index); ddjsatatus.DdjWarning = (Label)FindControl("lblDDJWarning" + index); ddjsatatus.LblInStatus = (Label)FindControl("lblInStatus" + index); ddjsatatus.LblOutStatus = (Label)FindControl("lblOutStatus" + index); ddjsatatus.DdjMode = (Label)FindControl("ddjMode" + index); ddjsatatus.DdjStatus = (Label)FindControl("ddjStatus" + index); ddjsatatus.DdjOrdId = (Label)FindControl("ddjOrdId" + index); ddjsatatus.DdjOptType = (Label)FindControl("ddjOptType" + index); ddjsatatus.DdjPosCurr = (Label)FindControl("ddjPosCurr" + index); ddjsatatus.DdjWorkTime = (Label)FindControl("ddjWorkTime" + index); ddjsatatus.DdjTotal_KM = (Label)FindControl("ddjTotal_KM" + index); ddjsatatus.DdjPosFrom = (Label)FindControl("ddjPosFrom" + index); ddjsatatus.DdjPosTo = (Label)FindControl("ddjPosTo" + index); DDJSatatusSet.Add(ddjsatatus); } } var plcnameSetrgv = _plcnameSet.Where(value => value.Contains("rgv")).ToList(); for (int i = 0; i < plcnameSetrgv.Count; i++) { var item = plcnameSetrgv[i]; if (!RGVSatatusSet.Any(v => v.RGVName == item)) { var rgvsatatus = new RGVSatatus(); rgvsatatus.RGVName = item; int index = Convert.ToInt32(item.Substring(3, 4).ToString()); rgvsatatus.G = (PictureBox)FindControl("G" + index); rgvsatatus.RgvWarning = (Label)FindControl("lblRGVWarning" + index); rgvsatatus.RGVMode = (Label)FindControl("rgvMode" + index); rgvsatatus.RGVStatus = (Label)FindControl("rgvStatus" + index); rgvsatatus.RGVOrdId = (Label)FindControl("rgvOrdId" + index); rgvsatatus.RGVPosCurr = (Label)FindControl("rgvPosCurr" + index); rgvsatatus.RGVWorkTime = (Label)FindControl("rgvWorkTime" + index); rgvsatatus.RGVTotal_KM = (Label)FindControl("rgvTotal_KM" + index); rgvsatatus.RGVPosFrom = (Label)FindControl("rgvPosFrom" + index); rgvsatatus.RGVPosTo = (Label)FindControl("rgvPosTo" + index); rgvsatatus.LblInStatus = (Label)FindControl("lblInStatus" + index); rgvsatatus.LblOutStatus = (Label)FindControl("lblOutStatus" + index); rgvsatatus.RGVOptType = (Label)FindControl("rgvOptType" + index); RGVSatatusSet.Add(rgvsatatus); } } } private Control FindControl(string controlName) { var control = Controls.Find(controlName, true); if (control.Count() > 0) return control[0]; else return null; } private void tableLayoutPanel1_CellPaint(object sender, TableLayoutCellPaintEventArgs e) { //if (e.Column == 1 && e.Row == 0) // e.Graphics.DrawRectangle(new Pen(Color.Blue), e.CellBounds);//Color.FromArgb(0, 144, 154) //else // e.Graphics.DrawRectangle(new Pen(Color.FromArgb(0, 144, 154)), e.CellBounds); //if (e.Column == 1 && e.Row == 0) //{ // var rectangle = e.CellBounds; // rectangle.Inflate(-1, -1); // ControlPaint.DrawBorder3D(e.Graphics, rectangle, Border3DStyle.Raised, Border3DSide.All); // 3D border // ControlPaint.DrawBorder(e.Graphics, rectangle, Color.Red, ButtonBorderStyle.Dotted); // dotted border //} } private void Frm_YongGuanMontior_Load(object sender, EventArgs e) { _timer = new System.Timers.Timer(5000); _timer.Elapsed += new System.Timers.ElapsedEventHandler(theout);//到达时间的时候执行事件; _timer.AutoReset = true;//设置是执行一次(false)还是一直执行(true); _timer.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件; } private static int _theout = 0; private void theout(object sender, EventArgs e) { if (Interlocked.Exchange(ref _theout, 1) == 0) { try { Current.RefreshData(true); var list = BaseWorkflow.QueryStackerdData(_plcnameSet); ShowData(list); } catch (Exception ex) { } finally { Interlocked.Exchange(ref _theout, 0); } } } private void ShowData(List Dat) { try { if (InvokeRequired) { //List data = (List)Dat;//传过来的数据 //object[] obj = { Dat }; //异步调用委托(后面添加方法需要将方法委托其中) this.BeginInvoke(new ShowTextDelegate(pan11), Dat); //this.BeginInvoke(new ShowTextDelegate(pan10), obj); } else { } } catch (Exception ex) { LogHelper.Sys_Log.WriteLog(ex.ToString()); } } readonly string[] srmArray = new string[] { "srm", "srm0", "srm00" }; public void pan11(List dt) { try { //var conveyors03 = Controls[0].Controls[1].Controls[0]; ////遍历窗体所有控件(Pvc一楼) //foreach (Control control in conveyors03.Controls) //{ //} Thread.Sleep(10); foreach (var item in dt) { var plc = Current.PlcSet.FirstOrDefault(v => v.PLC_NAME == item.Equ_PlcName); var equ = plc.WCS_EquipmentInfoSet.FirstOrDefault(v => v.Equ_No == item.Equ_No); //string result = string.Empty; //if (equ.Equ_Type == EquipmentType.srm.ToString()) // result = equ.EquSignal_Srm.ToJson(); //else if (equ.Equ_Type == EquipmentType.rgv.ToString()) // result = equ.EquSignal_Rgv.ToJson(); //else if (equ.Equ_Type == EquipmentType.conveyor.ToString()) // result = equ.EquSignal_Conv.ToJson(); if (equ.Equ_Type == EquipmentType.srm.ToString()) { var ddjstatus = DDJSatatusSet.FirstOrDefault(v => v.SrmName == item.Equ_No); if (ddjstatus != null) { //模式 ddjstatus.DdjMode.Text = equ.EquSignal_Srm.DB521_Auto_statusCh.ToString(); //报警信息 ddjstatus.DdjWarning.Text = equ.EquSignal_Srm.SrmFault.ToString(); int srmColor = 0; //1 red 2 Yellow 3 green if (!string.IsNullOrWhiteSpace(equ.EquSignal_Srm.SrmFault) || !string.IsNullOrWhiteSpace(equ.Equ_AlaramsMsg)) { ddjstatus.G.Image = Properties.Resources.红; srmColor = 1; } else { if (equ.EquSignal_Srm.DB521_Auto_statusCh == Auto_statusEnum.远程) { ddjstatus.G.Image = Properties.Resources.绿; srmColor = 3; } else if (equ.EquSignal_Srm.DB521_Auto_statusCh == Auto_statusEnum.未知) { ddjstatus.G.Image = Properties.Resources.离线1; srmColor = 2; } else { ddjstatus.G.Image = Properties.Resources.黄; srmColor = 2; } } try { var srmIndex = ddjstatus.SrmName.Substring(4); for (int i = 0; i < srmArray.Length; i++) { var control = FindControl(srmArray[i] + srmIndex); if (control != null) { Thread.Sleep(10); ((srm)control).SetColor(srmColor); } } } catch (Exception ex) { } //状态 ddjstatus.DdjStatus.Text = equ.EquSignal_Srm.DB521_Srm_StatusCh.ToString(); int taskid = Convert.ToInt32(equ.EquSignal_Srm.DB521_TaskID); //任务Id ddjstatus.DdjOrdId.Text = taskid.ToString(); var task = Current.TaskSet.FirstOrDefault(v => v.TASK_NO == taskid); if (task != null) { //任务类型 ddjstatus.DdjOptType.Text = task.TASK_COMTYPECh.ToString(); if (task.TASK_COMTYPECh == TASK_COMTYPEEnum.入库) { ddjstatus.LblInStatus.BackColor = Color.Lime; ddjstatus.LblOutStatus.BackColor = Color.DarkGray; } else if (task.TASK_COMTYPECh == TASK_COMTYPEEnum.出库) { ddjstatus.LblInStatus.BackColor = Color.DarkGray; ddjstatus.LblOutStatus.BackColor = Color.Lime; } else { ddjstatus.LblInStatus.BackColor = Color.DarkGray; ddjstatus.LblOutStatus.BackColor = Color.DarkGray; } } else { ddjstatus.LblInStatus.BackColor = Color.DarkGray; ddjstatus.LblOutStatus.BackColor = Color.DarkGray; } //当前位置 ddjstatus.DdjPosCurr.Text = equ.EquSignal_Srm.DB521_CurRow.ToString() + "-" + equ.EquSignal_Srm.DB521_CurColumn.ToString() + "-" + equ.EquSignal_Srm.DB521_CurLayer.ToString(); //运行时长 ddjstatus.DdjWorkTime.Text = equ.EquSignal_Srm.DB521_Runtime.ToString() + "h"; //里程数 ddjstatus.DdjTotal_KM.Text = equ.EquSignal_Srm.DB521_Total_KM.ToString() + "KM"; //起始位置 ddjstatus.DdjPosFrom.Text = equ.EquSignal_Srm.DB521_FromRowPos.ToString() + "-" + equ.EquSignal_Srm.DB521_FromColumnPos.ToString() + "-" + equ.EquSignal_Srm.DB521_FromLayerPos.ToString(); //目标位置 ddjstatus.DdjPosTo.Text = equ.EquSignal_Srm.DB521_ToRowPos.ToString() + "-" + equ.EquSignal_Srm.DB521_ToColumnPos.ToString() + "-" + equ.EquSignal_Srm.DB521_ToLayerPos.ToString(); } } else if (item.Equ_Type == EquipmentType.rgv.ToString()) { var control = FindControl("con" + item.Equ_No); if (control != null) { if (control is Conveyor6) { SetConveyor6_rgv(control, equ); } if (control is Conveyor5) { SetConveyor5_rgv(control, equ); } } var rgvstatus = RGVSatatusSet.FirstOrDefault(v => v.RGVName == item.Equ_No); if (rgvstatus != null) { //模式 rgvstatus.RGVMode.Text = equ.EquSignal_Rgv.DB521_WorkModeCh.ToString(); //报警信息 rgvstatus.RgvWarning.Text = equ.EquSignal_Rgv.AlarmFault.ToString().Contains("输送线光电异常") ? "" : equ.EquSignal_Rgv.AlarmFault.ToString(); if (!string.IsNullOrWhiteSpace(equ.EquSignal_Rgv.AlarmFault.ToString())) { rgvstatus.G.Image = equ.EquSignal_Rgv.AlarmFault.ToString().Contains("输送线光电异常") ? Properties.Resources.绿 : Properties.Resources.红; } else { if (equ.EquSignal_Rgv.DB521_WorkModeCh == Auto_RGVstatusEnum.自动) { rgvstatus.G.Image = Properties.Resources.绿; } else if (equ.EquSignal_Rgv.DB521_WorkModeCh == Auto_RGVstatusEnum.未知) { rgvstatus.G.Image = Properties.Resources.离线1; } else { rgvstatus.G.Image = Properties.Resources.黄; } } if (equ.EquSignal_Rgv.DB521_WorkModeCh == Auto_RGVstatusEnum.手动 && rgvstatus.G.Image != Properties.Resources.黄) { rgvstatus.G.Image = Properties.Resources.黄; } //状态 rgvstatus.RGVStatus.Text = equ.EquSignal_Rgv.DB521_SystemStatusCh.ToString(); int taskid = Convert.ToInt32(equ.EquSignal_Rgv.DB520_TaskID_1); //任务Id rgvstatus.RGVOrdId.Text = taskid.ToString(); var task = Current.TaskSet.FirstOrDefault(v => v.TASK_NO == taskid); if (task != null) { //任务类型 rgvstatus.RGVOptType.Text = task.TASK_COMTYPECh.ToString(); if (task.TASK_COMTYPECh == TASK_COMTYPEEnum.入库) { rgvstatus.LblInStatus.BackColor = Color.Lime; rgvstatus.LblOutStatus.BackColor = Color.DarkGray; } else if (task.TASK_COMTYPECh == TASK_COMTYPEEnum.出库) { rgvstatus.LblInStatus.BackColor = Color.DarkGray; rgvstatus.LblOutStatus.BackColor = Color.Lime; } else { rgvstatus.LblInStatus.BackColor = Color.DarkGray; rgvstatus.LblOutStatus.BackColor = Color.DarkGray; } } else { rgvstatus.LblInStatus.BackColor = Color.DarkGray; rgvstatus.LblOutStatus.BackColor = Color.DarkGray; } //当前位置 rgvstatus.RGVPosCurr.Text = equ.EquSignal_Rgv.DB521_Position.ToString(); //运行时长 rgvstatus.RGVWorkTime.Text = equ.EquSignal_Rgv.DB521_Runtime.ToString() + "h"; //里程数 rgvstatus.RGVTotal_KM.Text = (Convert.ToInt32(equ.EquSignal_Rgv.DB521_Mileage.ToString()) * 0.001).ToString() + "KM"; //起始位置 rgvstatus.RGVPosFrom.Text = equ.EquSignal_Rgv.DB521_StartPosition_1.ToString(); //目标位置 rgvstatus.RGVPosTo.Text = equ.EquSignal_Rgv.DB520_DestPosition_1.ToString(); } } else if (item.Equ_Type == EquipmentType.conveyor.ToString()) { var control = FindControl("con" + item.Equ_No); if (control != null) { if (control is Conveyor6) { SetConveyor6(control, equ); } else if (control is Conveyor5) { SetConveyor5(control, equ); } else if (control is Conveyor) { SetConveyor(control, equ); } else if (control is Conveyor_L) { SetConveyor_L(control, equ); } else if (control is Conveyor_R) { SetConveyor_R(control, equ); } else if (control is Conveyor4_L_R) { SetConveyor4_L_R(control, equ); } else if (control is Conveyor3) { SetConveyor3(control, equ); } else if (control is Conveyor3_A) { SetConveyor3_A(control, equ); } else if (control is Conveyor3_B) { SetConveyor3_B(control, equ); } else if (control is Conveyor4_left) { SetConveyor4_left(control, equ); } else if (control is Conveyor4_right) { SetConveyor4_right(control, equ); } } } } } catch (Exception ex) { } } internal static void SetConveyor6_rgv(Control control, WCS_EQUIPMENTINFO conveyor) { var con = (Conveyor6)control; con.button1.Text = conveyor.Equ_No.Substring(3); //异步更新界面UI传参 Action showUi = (color) => { con.button1.BackColor = color; }; if (conveyor.EquSignal_Rgv.DB521_PH_Status_1) { if (con.button1.Tag.ToString() != "pall") { con.button1.BackgroundImage = Image.FromFile("Resources/Rgv02.png"); con.button1.Tag = "pall"; } } else { if (con.button1.Tag.ToString() != "empty") { con.button1.BackgroundImage = Image.FromFile("Resources/shelf16UD.png"); con.button1.Tag = "empty"; } } if (string.IsNullOrWhiteSpace(conveyor.EquSignal_Rgv.AlarmFault) && con.button1.BackColor != Color.FromArgb(0, 144, 154)) { // con.button1.BackColor = Color.FromArgb(0, 144, 154); con.button1.Invoke(showUi, new object[] { Color.FromArgb(0, 144, 154) }); } if (!string.IsNullOrWhiteSpace(conveyor.EquSignal_Rgv.AlarmFault)) { if (conveyor.EquSignal_Rgv.AlarmFault.Contains("输送线光电异常")) { con.button1.Invoke(showUi, new object[] { Color.Green }); }else { // con.button1.BackColor = Color.Red; con.button1.Invoke(showUi, new object[] { Color.Red }); } } if (conveyor.EquSignal_Rgv.DB521_WorkModeCh == Auto_RGVstatusEnum.手动 && con.button1.BackColor != Color.Yellow) { // con.button1.BackColor = Color.Yellow; con.button1.Invoke(showUi, new object[] { Color.Yellow }); } } internal static void SetConveyor5_rgv(Control control, WCS_EQUIPMENTINFO conveyor) { var con = (Conveyor5)control; con.button1.Text = conveyor.Equ_No.Substring(3); //异步更新界面UI传参 Action showUi = (color) => { con.button1.BackColor = color; }; if (conveyor.EquSignal_Rgv.DB521_PH_Status_1) { if (con.button1.Tag.ToString() != "pall") { con.button1.BackgroundImage = Image.FromFile("Resources/rgv03.png"); con.button1.Tag = "pall"; } } else { if (con.button1.Tag.ToString() != "empty") { con.button1.BackgroundImage = Image.FromFile("Resources/shelf16UD1.png"); con.button1.Tag = "empty"; } } if (string.IsNullOrWhiteSpace(conveyor.EquSignal_Rgv.AlarmFault) && con.button1.BackColor != Color.FromArgb(0, 144, 154)) { // con.button1.BackColor = Color.FromArgb(0, 144, 154); con.button1.Invoke(showUi, new object[] { Color.FromArgb(0, 144, 154) }); } if (!string.IsNullOrWhiteSpace(conveyor.EquSignal_Rgv.AlarmFault) ) { // con.button1.BackColor = Color.Red; if (conveyor.EquSignal_Rgv.AlarmFault.Contains("输送线光电异常")) { con.button1.Invoke(showUi, new object[] { Color.Green }); } else { con.button1.Invoke(showUi, new object[] { Color.Red }); } } if (conveyor.EquSignal_Rgv.DB521_WorkModeCh == Auto_RGVstatusEnum.手动 && con.button1.BackColor != Color.Yellow) { // con.button1.BackColor = Color.Yellow; con.button1.Invoke(showUi, new object[] { Color.Yellow }); } } internal static void SetConveyor6(Control control, WCS_EQUIPMENTINFO conveyor) { var con = (Conveyor6)control; con.button1.Text = conveyor.Equ_No; if (conveyor.EquSignal_Conv.CvDB51_PH_Status || conveyor.EquSignal_Conv.DB521_Tasknum > 0) { if (con.button1.Tag.ToString() != "pall") { con.button1.BackgroundImage = Image.FromFile("Resources/Rgv02.png"); con.button1.Tag = "pall"; } } else { if (con.button1.Tag.ToString() != "empty") { con.button1.BackgroundImage = Image.FromFile("Resources/shelf16UD.png"); con.button1.Tag = "empty"; } } if (conveyor.EquSignal_Conv.DB523_Fault && con.button1.BackColor != Color.Red) { con.button1.BackColor = Color.Red; } if (conveyor.EquSignal_Conv.DB523_Fault == false && con.button1.BackColor != Color.FromArgb(0, 144, 154)) { con.button1.BackColor = Color.FromArgb(0, 144, 154); } if (conveyor.EquSignal_Conv.DB523_Auto == false && con.button1.BackColor != Color.Yellow) { con.button1.BackColor = Color.Yellow; } } internal static void SetConveyor3_A(Control control, WCS_EQUIPMENTINFO conveyor) { var con = (Conveyor3_A)control; con.button1.Text = conveyor.Equ_No; if (conveyor.EquSignal_Conv.DB521_Tasknum > 0 || conveyor.EquSignal_Conv.CvDB51_PH_Status) { if (con.button1.Tag.ToString() != "pall") { con.button1.BackgroundImage = Image.FromFile("Resources/Conveyor3_A_Box.png");//Conveyor3_A_Box.png con.button1.Tag = "pall"; } } else { if (con.button1.Tag.ToString() != "empty") { con.button1.BackgroundImage = Image.FromFile("Resources/1009_A.png");//1009_A.png con.button1.Tag = "empty"; } } if (conveyor.EquSignal_Conv.DB523_Fault && con.button1.BackColor != Color.Red) { con.button1.BackColor = Color.Red; } if (conveyor.EquSignal_Conv.DB523_Fault == false && con.button1.BackColor != Color.FromArgb(0, 144, 154)) { con.button1.BackColor = Color.FromArgb(0, 144, 154); } if (con.Name == "con1117") { if (conveyor.EquSignal_Conv.DB523_Mid_Station_2 || conveyor.EquSignal_Conv.DB523_Low_Station_2 || conveyor.EquSignal_Conv.DB523_Front_Station_2 || conveyor.EquSignal_Conv.DB523_Back_Station_2) { con.button1.BackColor = Color.Red; } } if (conveyor.EquSignal_Conv.DB523_Auto == false && con.button1.BackColor != Color.Yellow) { con.button1.BackColor = Color.Yellow; } } internal static void SetConveyor3_B(Control control, WCS_EQUIPMENTINFO conveyor) { var con = (Conveyor3_B)control; con.button1.Text = conveyor.Equ_No; if (conveyor.EquSignal_Conv.DB521_Tasknum > 0 || conveyor.EquSignal_Conv.CvDB51_PH_Status) { if (con.button1.Tag.ToString() != "pall") { con.button1.BackgroundImage = Image.FromFile("Resources/1009R1_B.png");//1009R1_A.png con.button1.Tag = "pall"; } } else { if (con.button1.Tag.ToString() != "empty") { con.button1.BackgroundImage = Image.FromFile("Resources/1009R1.png");//1009R1.png con.button1.Tag = "empty"; } } if (conveyor.EquSignal_Conv.DB523_Fault && con.button1.BackColor != Color.Red) { con.button1.BackColor = Color.Red; } if (conveyor.EquSignal_Conv.DB523_Fault == false && con.button1.BackColor != Color.FromArgb(0, 144, 154)) { con.button1.BackColor = Color.FromArgb(0, 144, 154); } if (conveyor.EquSignal_Conv.DB523_Auto == false && con.button1.BackColor != Color.Yellow) { con.button1.BackColor = Color.Yellow; } } internal static void SetConveyor3(Control control, WCS_EQUIPMENTINFO conveyor) { var con = (Conveyor3)control; con.button1.Text = conveyor.Equ_No; if (conveyor.EquSignal_Conv.DB521_Tasknum > 0 || conveyor.EquSignal_Conv.CvDB51_PH_Status) { if (con.button1.Tag.ToString() != "pall") { con.button1.BackgroundImage = Image.FromFile("Resources/Conveyor3.png");//1009R1_A.png con.button1.Tag = "pall"; } } else { if (con.button1.Tag.ToString() != "empty") { con.button1.BackgroundImage = Image.FromFile("Resources/1004LR.png");//1009R1.png con.button1.Tag = "empty"; } } if (conveyor.EquSignal_Conv.DB523_Fault && con.button1.BackColor != Color.Red) { con.button1.BackColor = Color.Red; } if (conveyor.EquSignal_Conv.DB523_Fault == false && con.button1.BackColor != Color.FromArgb(0, 144, 154)) { con.button1.BackColor = Color.FromArgb(0, 144, 154); } if (conveyor.EquSignal_Conv.DB523_Auto == false && con.button1.BackColor != Color.Yellow) { con.button1.BackColor = Color.Yellow; } } internal static void SetConveyor_L(Control control, WCS_EQUIPMENTINFO conveyor) { var con = (Conveyor_L)control; con.button1.Text = conveyor.Equ_No; if (conveyor.EquSignal_Conv.DB521_Tasknum > 0 || conveyor.EquSignal_Conv.CvDB51_PH_Status) { if (con.button1.Tag.ToString() != "pall") { con.button1.BackgroundImage = Image.FromFile("Resources/Conveyor_L.png");//1009L11.png con.button1.Tag = "pall"; } } else { if (con.button1.Tag.ToString() != "empty") { con.button1.BackgroundImage = Image.FromFile("Resources/1009L11.png");//1009L11.png con.button1.Tag = "empty"; } } if (conveyor.EquSignal_Conv.DB523_Fault && con.button1.BackColor != Color.Red) { con.button1.BackColor = Color.Red; } if (conveyor.EquSignal_Conv.DB523_Fault == false && con.button1.BackColor != Color.FromArgb(0, 144, 154)) { con.button1.BackColor = Color.FromArgb(0, 144, 154); } if (conveyor.EquSignal_Conv.DB523_Auto == false && con.button1.BackColor != Color.Yellow) { con.button1.BackColor = Color.Yellow; } } internal static void SetConveyor_R(Control control, WCS_EQUIPMENTINFO conveyor) { var con = (Conveyor_R)control; con.button1.Text = conveyor.Equ_No; if (conveyor.EquSignal_Conv.DB521_Tasknum > 0 || conveyor.EquSignal_Conv.CvDB51_PH_Status) { if (con.button1.Tag.ToString() != "pall") { con.button1.BackgroundImage = Image.FromFile("Resources/Conveyor_R.png");//1009L1.png con.button1.Tag = "pall"; } } else { if (con.button1.Tag.ToString() != "empty") { con.button1.BackgroundImage = Image.FromFile("Resources/1009L1.png");//1009L1.png con.button1.Tag = "empty"; } } if (conveyor.EquSignal_Conv.DB523_Fault && con.button1.BackColor != Color.Red) { con.button1.BackColor = Color.Red; } if (conveyor.EquSignal_Conv.DB523_Fault == false && con.button1.BackColor != Color.FromArgb(0, 144, 154)) { con.button1.BackColor = Color.FromArgb(0, 144, 154); } if (conveyor.EquSignal_Conv.DB523_Auto == false && con.button1.BackColor != Color.Yellow) { con.button1.BackColor = Color.Yellow; } } internal static void SetConveyor(Control control, WCS_EQUIPMENTINFO conveyor) { var con = (Conveyor)control; con.button1.Text = conveyor.Equ_No; if (conveyor.EquSignal_Conv.DB521_Tasknum > 0 || conveyor.EquSignal_Conv.CvDB51_PH_Status) { if (con.button1.Tag.ToString() != "pall") { con.button1.BackgroundImage = Image.FromFile("Resources/Conveyor.png"); con.button1.Tag = "pall"; } } else { if (con.button1.Tag.ToString() != "empty") { con.button1.BackgroundImage = Image.FromFile("Resources/1009LR.png"); con.button1.Tag = "empty"; } } if (conveyor.EquSignal_Conv.DB523_Fault && con.button1.BackColor != Color.Red) { con.button1.BackColor = Color.Red; } if (conveyor.EquSignal_Conv.DB523_Fault == false && con.button1.BackColor != Color.FromArgb(0, 144, 154)) { con.button1.BackColor = Color.FromArgb(0, 144, 154); } if (conveyor.EquSignal_Conv.DB523_Auto == false && con.button1.BackColor != Color.Yellow) { con.button1.BackColor = Color.Yellow; } } internal static void SetConveyor4_left(Control control, WCS_EQUIPMENTINFO conveyor) { var con = (Conveyor4_left)control; con.button1.Text = conveyor.Equ_No; if (conveyor.EquSignal_Conv.DB521_Tasknum > 0) { if (con.button1.Tag.ToString() != "pall") { con.button1.BackgroundImage = Image.FromFile("Resources/Conveyor4_left.png"); con.button1.Tag = "pall"; } } else { if (con.button1.Tag.ToString() != "empty") { con.button1.BackgroundImage = Image.FromFile("Resources/1001L.gif"); con.button1.Tag = "empty"; } } if (conveyor.EquSignal_Conv.DB523_Fault && con.button1.BackColor != Color.Red) { con.button1.BackColor = Color.Red; } if (conveyor.EquSignal_Conv.DB523_Fault == false && con.button1.BackColor != Color.FromArgb(0, 144, 154)) { con.button1.BackColor = Color.FromArgb(0, 144, 154); } if (conveyor.EquSignal_Conv.DB523_Auto == false && con.button1.BackColor != Color.Yellow) { con.button1.BackColor = Color.Yellow; } } internal static void SetConveyor4_right(Control control, WCS_EQUIPMENTINFO conveyor) { var con = (Conveyor4_right)control; con.button1.Text = conveyor.Equ_No; if (conveyor.EquSignal_Conv.DB521_Tasknum > 0) { if (con.button1.Tag.ToString() != "pall") { con.button1.BackgroundImage = Image.FromFile("Resources/Conveyor4_right.png"); con.button1.Tag = "pall"; } } else { if (con.button1.Tag.ToString() != "empty") { con.button1.BackgroundImage = Image.FromFile("Resources/1001LR.gif"); con.button1.Tag = "empty"; } } if (conveyor.EquSignal_Conv.DB523_Fault && con.button1.BackColor != Color.Red) { con.button1.BackColor = Color.Red; } if (conveyor.EquSignal_Conv.DB523_Fault == false && con.button1.BackColor != Color.FromArgb(0, 144, 154)) { con.button1.BackColor = Color.FromArgb(0, 144, 154); } if (conveyor.EquSignal_Conv.DB523_Auto == false && con.button1.BackColor != Color.Yellow) { con.button1.BackColor = Color.Yellow; } } internal static void SetConveyor4_L_R(Control control, WCS_EQUIPMENTINFO conveyor) { var con = (Conveyor4_L_R)control; con.button1.Text = conveyor.Equ_No; if (conveyor.EquSignal_Conv.DB521_Tasknum > 0 || conveyor.EquSignal_Conv.CvDB51_PH_Status) { if (con.button1.Tag.ToString() != "pall") { con.button1.BackgroundImage = Image.FromFile("Resources/Conveyor4_L_R.png"); con.button1.Tag = "pall"; } } else { if (con.button1.Tag.ToString() != "empty") { con.button1.BackgroundImage = Image.FromFile("Resources/1001LR.gif"); con.button1.Tag = "empty"; } } if (conveyor.EquSignal_Conv.DB523_Fault && con.button1.BackColor != Color.Red) { con.button1.BackColor = Color.Red; } if (conveyor.EquSignal_Conv.DB523_Fault == false && con.button1.BackColor != Color.FromArgb(0, 144, 154)) { con.button1.BackColor = Color.FromArgb(0, 144, 154); } if (conveyor.EquSignal_Conv.DB523_Auto == false && con.button1.BackColor != Color.Yellow) { con.button1.BackColor = Color.Yellow; } } internal static void SetConveyor5(Control control, WCS_EQUIPMENTINFO conveyor) { var con = (Conveyor5)control; con.button1.Text = conveyor.Equ_No; if (conveyor.EquSignal_Conv.DB521_Tasknum > 0 || conveyor.EquSignal_Conv.CvDB51_PH_Status) { if (con.button1.Tag.ToString() != "pall") { con.button1.BackgroundImage = Image.FromFile("Resources/rgv03.png"); con.button1.Tag = "pall"; } } else { if (con.button1.Tag.ToString() != "empty") { con.button1.BackgroundImage = Image.FromFile("Resources/shelf16UD1.png"); con.button1.Tag = "empty"; } } if (conveyor.EquSignal_Conv.DB523_Fault && con.button1.BackColor != Color.Red) { con.button1.BackColor = Color.Red; } if (conveyor.EquSignal_Conv.DB523_Fault == false && con.button1.BackColor != Color.FromArgb(0, 144, 154)) { con.button1.BackColor = Color.FromArgb(0, 144, 154); } if (conveyor.EquSignal_Conv.DB523_Auto == false && con.button1.BackColor != Color.Yellow) { con.button1.BackColor = Color.Yellow; } } private void lblsrm01_Click(object sender, EventArgs e) { Label srm = (Label)sender; string equName = srm.Name.Substring(3); FrmEquMsg_dtl Frm = new FrmEquMsg_dtl(equName); Frm.Show(); } private void Frm_YongGuanMontior_FormClosing(object sender, FormClosingEventArgs e) { _timer.Stop(); _timer.Elapsed -= new System.Timers.ElapsedEventHandler(theout);//到达时间的时候执行事件; } private void con1408_Load(object sender, EventArgs e) { } private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) { } private void srm6_Load(object sender, EventArgs e) { } private void locationPos1_Load(object sender, EventArgs e) { } } public class DDJSatatus { /// /// 状态图标 /// public PictureBox G { get; set; } /// /// 堆垛机名称 /// public string SrmName { get; set; } /// /// 入库状态 /// public Label LblInStatus { get; set; } /// /// 出库状态 /// public Label LblOutStatus { get; set; } /// /// 堆垛机模式 /// public Label DdjMode { get; set; } /// /// 堆垛机工作状态 /// public Label DdjStatus { get; set; } /// /// 堆垛机工作任务 /// public Label DdjOrdId { get; set; } /// /// 堆垛机作业类型 /// public Label DdjOptType { get; set; } /// /// 堆垛机当前位置 /// public Label DdjPosCurr { get; set; } /// /// 运行时间 /// public Label DdjWorkTime { get; set; } /// /// 里程数 /// public Label DdjTotal_KM { get; set; } /// /// 源仓位 /// public Label DdjPosFrom { get; set; } /// /// 目标仓位 /// public Label DdjPosTo { get; set; } /// /// 报警信息 /// public Label DdjWarning { get; set; } } public class RGVSatatus { /// /// 状态图标 /// public PictureBox G { get; set; } /// /// RGV名称 /// public string RGVName { get; set; } /// /// 入库状态 /// public Label LblInStatus { get; set; } /// /// 出库状态 /// public Label LblOutStatus { get; set; } /// /// RGV模式 /// public Label RGVMode { get; set; } /// /// RGV工作状态 /// public Label RGVStatus { get; set; } /// /// RGV工作任务 /// public Label RGVOrdId { get; set; } /// /// RGV作业类型 /// public Label RGVOptType { get; set; } /// /// RGV当前位置 /// public Label RGVPosCurr { get; set; } /// /// 运行时间 /// public Label RGVWorkTime { get; set; } /// /// 里程数 /// public Label RGVTotal_KM { get; set; } /// /// 起始站台 /// public Label RGVPosFrom { get; set; } /// /// 目标站台 /// public Label RGVPosTo { get; set; } /// /// 报警信息 /// public Label RgvWarning { get; set; } } /// /// 提示 ToolTip /// public class MoveOverInfoTip { #region 基础参数 //信息提示组件 private static ToolTip _toolTip = new ToolTip(); #endregion #region 公有方法 /// /// 设置单个控件提示信息 /// /// 组件类型 /// 组件 /// 需要显示的提示信息 public static void SettingSingleTipInfo(T t, string tipInfo) where T : Control { _toolTip.SetToolTip(t, tipInfo); } /// /// 设置多个同种类型的提示信息 /// /// 组件类型 /// 组件和提示信息字典 public static void SettingMutiTipInfo(Dictionary dic) where T : Control { if (dic == null || dic.Count <= 0) return; foreach (var item in dic) { _toolTip.SetToolTip(item.Key, item.Value); } } #endregion } }