public void InitNodeMonitorview() { string[] nodeList = new string[] { "产品上线", "气密检查1", "气密检查2", "气密检查3", "零秒点火", "一次试火:1", "一次试火:2", "一次试火:3", "一次试火:4", "一次试火:5", "一次试火:6", "外观检查", "装箱核对", "机器人码垛" }; userCtlNodes = new Dictionary <string, UserControlCtlNode>(); this.flowLayoutPanel1.Controls.Clear(); int nodeCount = nodeList.Count(); Size boxSize = new Size(0, 0); boxSize.Width = this.flowLayoutPanel1.Width / (nodeCount + 1); boxSize.Height = (int)(this.flowLayoutPanel1.Height); //foreach(CtlNodeBaseModel node in nodeList) for (int i = 0; i < nodeList.Count(); i++) { // CtlNodeBaseModel node = nodeList[i]; UserControlCtlNode monitorNode = new UserControlCtlNode(); monitorNode.Size = boxSize; //监控控件属性赋值 monitorNode.Title = nodeList[i]; monitorNode.TimerInfo = "40"; monitorNode.RefreshDisp(); this.flowLayoutPanel1.Controls.Add(monitorNode); userCtlNodes[nodeList[i]] = monitorNode; } //配色方案 //设备状态图例颜色 nodeColorMap = new Dictionary <string, Color>(); nodeColorMap["设备故障"] = Color.Red; nodeColorMap["设备空闲"] = Color.Green; nodeColorMap["设备使用中"] = Color.Yellow; nodeColorMap["工位有板"] = Color.LightSeaGreen; nodeColorMap["无法识别"] = Color.PaleVioletRed; this.pictureBox1.BackColor = nodeColorMap["设备故障"]; this.pictureBox2.BackColor = nodeColorMap["设备空闲"]; this.pictureBox3.BackColor = nodeColorMap["设备使用中"]; this.pictureBox4.BackColor = nodeColorMap["工位有板"]; this.pictureBox5.BackColor = nodeColorMap["无法识别"]; }
public void RefreshNodeStatus() { try { MonitorSVC.MonitorSvcNodeStatus[] nodeStatusArray = nodeMonitorSvc.GetNodeStatus(); //foreach (MonitorSVC.CtlNodeStatus s in nodeStatusArray) //{ // Console.WriteLine(s.NodeName + "," + s.Status.ToString()); //} this.label12.Text = "当前正在检测的设备数量:" + nodeMonitorSvc.GetRunningDetectdevs().ToString(); for (int i = 0; i < nodeStatusArray.Count(); i++) { MonitorSVC.MonitorSvcNodeStatus nodeStatus = nodeStatusArray[i]; UserControlCtlNode monitorNode = userCtlNodes[nodeStatus.NodeName]; monitorNode.BkgColor = nodeColorMap[nodeStatus.Status]; monitorNode.DispDetail = nodeStatus.StatDescribe; monitorNode.RefreshDisp(); } string barcode = nodeStatusArray[0].ProductBarcode; if (string.IsNullOrWhiteSpace(barcode)) { this.label3.Text = ""; this.label4.Text = ""; return; } this.label3.Text = barcode.ToUpper(); int L = barcode.IndexOf("L"); if (L < 0 || L > barcode.Count()) { L = barcode.Count(); } string productCata = barcode.Substring(0, L); this.label4.Text = string.Format("{0},{1}", productCata, nodeStatusArray[0].ProductName); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } }