public void DataCollectThread() { int iiiii = 0; while (bCollect) { if (threaFucRuningF_OK) { string macSN = ""; if (CollectShare.Instance().HNC_SystemGetValue((int)HncSystem.HNC_SYS_SN_NUM, ref macSN, hncdata.sysData.clientNo) == 0) { iiiii = 0; if (macSN != hncdata.sysData.macSN) { hncdata.sysData.isConnect = false; threaFucRuningF_OK = false; CollectShare.threaFucEvent.Set(); if (m_cnc.CNCchanDataEventHandler != null) { int[] senddata = new int[2]; senddata[0] = (int)LineDevice.CNC.CNCchanDataEventType.CNCStateChage; senddata[1] = (int)LineDevice.CNC.CNCState.DISCON; m_cnc.CNCchanDataEventHandler.BeginInvoke(this, senddata, null, null); } SCADA.LogData.EventHandlerSendParm SendParm = new SCADA.LogData.EventHandlerSendParm(); SendParm.Node1NameIndex = (int)SCADA.LogData.Node1Name.Equipment_CNC; SendParm.LevelIndex = (int)SCADA.LogData.Node2Level.MESSAGE; SendParm.EventID = ((int)SCADA.LogData.Node2Level.MESSAGE).ToString(); SendParm.Keywords = "CNC采集器关闭"; SendParm.EventData = hncdata.sysData.addr.ip + ":本次获取SN=" + macSN + ";上周期SN=" + hncdata.sysData.macSN; SCADA.MainForm.m_Log.AddLogMsgHandler.BeginInvoke(this, SendParm, null, null); } } else { iiiii++; if (iiiii >= 10) { hncdata.sysData.isConnect = false; threaFucRuningF_OK = false; CollectShare.threaFucEvent.Set(); if (m_cnc.CNCchanDataEventHandler != null) { int[] senddata = new int[2]; senddata[0] = (int)LineDevice.CNC.CNCchanDataEventType.CNCStateChage; senddata[1] = (int)LineDevice.CNC.CNCState.DISCON; m_cnc.CNCchanDataEventHandler.BeginInvoke(this, senddata, null, null); } SCADA.LogData.EventHandlerSendParm SendParm = new SCADA.LogData.EventHandlerSendParm(); SendParm.Node1NameIndex = (int)SCADA.LogData.Node1Name.Equipment_CNC; SendParm.LevelIndex = (int)SCADA.LogData.Node2Level.MESSAGE; SendParm.EventID = ((int)SCADA.LogData.Node2Level.MESSAGE).ToString(); SendParm.Keywords = "CNC采集器关闭"; SendParm.EventData = hncdata.sysData.addr.ip + ":累计连续10次调用网络接口失败!"; SCADA.MainForm.m_Log.AddLogMsgHandler.BeginInvoke(this, SendParm, null, null); } } GatherData(); LineDevice.CNC.CNCState CNCStatei = LineDevice.CNC.CNCState.DISCON; if (m_cnc != null && m_cnc.Checkcnc_state(ref CNCStatei) && m_cnc.CNCchanDataEventHandler != null) { int[] senddata = new int[2]; senddata[0] = (int)LineDevice.CNC.CNCchanDataEventType.CNCStateChage; senddata[1] = (int)CNCStatei; m_cnc.CNCchanDataEventHandler.BeginInvoke(this, senddata, null, null); } if (m_cnc != null && baogongold != m_cnc.HCNCShareData.chanDataLst[m_cnc.NC8_chang].partNum && m_cnc.CNCchanDataEventHandler != null) { int[] senddata = new int[2]; senddata[0] = (int)LineDevice.CNC.CNCchanDataEventType.CNCReport; senddata[1] = m_cnc.HCNCShareData.chanDataLst[m_cnc.NC8_chang].partNum; m_cnc.CNCchanDataEventHandler.BeginInvoke(this, senddata, null, null); baogongold = m_cnc.HCNCShareData.chanDataLst[m_cnc.NC8_chang].partNum; } System.Threading.Thread.Sleep(50); } else { Get_Reg_threaFucEvent.WaitOne(); iiiii = 0; } } }
public void UpdataShowItem() { LineDevice.CNC.CNCState stad = 0; //状态 if (m_showtype == 0) //CNC { MainForm.cnclist[m_showitemserial].Checkcnc_state(ref stad); // if(Oldstad != stad) { String ShowStr = MainForm.cnclist[m_showitemserial].JiTaiHao; switch (stad) { case LineDevice.CNC.CNCState.DISCON: m_label.Text = ShowStr; m_ColorPictrue_str = CNCStateColorPictrueFile[3]; break; case LineDevice.CNC.CNCState.IDLE: m_label.Text = ShowStr; m_ColorPictrue_str = CNCStateColorPictrueFile[1]; break; case LineDevice.CNC.CNCState.ALARM: m_label.Text = ShowStr; m_ColorPictrue_str = CNCStateColorPictrueFile[2]; break; case LineDevice.CNC.CNCState.RUNING: //运行 m_label.Text = ShowStr; m_ColorPictrue_str = CNCStateColorPictrueFile[0]; break; default: break; } Size m_imagesize = new Size(); m_imagesize.Width = m_bt.Width; m_imagesize.Height = m_bt.Height; Bitmap m_bitmap = new Bitmap(System.Drawing.Image.FromFile(m_ColorPictrue_str), m_imagesize); if (m_bitmap != m_bt.Image) { m_bt.Image = m_bitmap; } } } else if (m_showtype == 10)//ROBOT { if (PLCDataShare.m_plclist.Count > 0) { String ShowStr = MainForm.robotlist[m_showitemserial].EQUIP_CODE; bool connet = false; if (PLCDataShare.m_plclist[0].system == m_xmlDociment.PLC_System[0]) { connet = PLCDataShare.m_plclist[0].conneted; } else if (PLCDataShare.m_plclist[0].system == m_xmlDociment.PLC_System[1]) { connet = PLCDataShare.m_plclist[0].m_hncPLCCollector.connectStat; } if (ROBOTstad != connet) { if (connet) { m_label.Text = ShowStr; if (m_showitemserial != MainForm.cnclist.Count) { if (lineType == 1) //2015.11.28 RGV { m_ColorPictrue_str = RGVStateColorPictrueFile[0]; } else { m_ColorPictrue_str = ROBOTStateColorPictrueFile[0]; } } } else { m_label.Text = ShowStr; if (m_showitemserial != MainForm.cnclist.Count) { if (lineType == 1) //2015.11.28 RGV { m_ColorPictrue_str = RGVStateColorPictrueFile[3]; } else { m_ColorPictrue_str = ROBOTStateColorPictrueFile[3]; } } } Size m_imagesize = new Size(); m_imagesize.Width = m_bt.Width; m_imagesize.Height = m_bt.Height; Bitmap m_bitmap = new Bitmap(System.Drawing.Image.FromFile(m_ColorPictrue_str), m_imagesize); m_bt.Image = m_bitmap; ROBOTstad = connet; } } } }