Example #1
0
 public void AddTaskFormMes(int taskii)
 {
     if (taskii == 0)//派工单
     {
         for (int ii = 0; ii < TaskDataObj.m_workorderlist.Count; ii++)
         {
             LineDevice.CNC cnc = MainForm.cnclist.Find(
                 delegate(LineDevice.CNC temp)
             {
                 return(temp.BujianID == TaskDataObj.m_workorderlist[ii].EQUIP_CODE);
             }
                 );
             if (cnc != null)
             {
                 cnc.NcTaskManage.AddMCTask(TaskDataObj.m_workorderlist[ii]);
             }
         }
     }
     else if (taskii == 1)//CNC切入切出命令
     {
         for (int ii = 0; ii < TaskDataObj.m_equipcmdlist.Count; ii++)
         {
             LineDevice.CNC cnc = MainForm.cnclist.Find(
                 delegate(LineDevice.CNC temp)
             {
                 return(temp.BujianID == TaskDataObj.m_equipcmdlist[ii].EQUIP_CODE);
             }
                 );
             if (cnc != null)
             {
                 cnc.CNCCMDChange(TaskDataObj.m_equipcmdlist[ii].EQUIP_CMD.ToString());
             }
         }
     }
 }
Example #2
0
        public static void GatherAlarmData(SAlarmEvent almEV, short clientNo)
        {
            AlarmData alm = new AlarmData();

            alm.time     = DateTime.Now;
            alm.isOnOff  = almEV.begin;
            alm.alarmNo  = almEV.alarmNo;
            alm.alarmTxt = System.Text.Encoding.Default.GetString(almEV.alarmText).Trim('\0');

            LineDevice.CNC result = MainForm.cnclist.Find(
                delegate(LineDevice.CNC temp)
            {
                return(temp.HCNCShareData.sysData.clientNo == clientNo);
            }
                );

            if (result != null)
            {
                if (MainForm.m_CheckHander != null && MainForm.m_CheckHander.AlarmSendDataEvenHandle != null)
                {
                    EquipmentCheck.AlarmSendData SendMeg = new EquipmentCheck.AlarmSendData();
//                     SendMeg.alardat = new ScadaHncData.AlarmData();
                    SendMeg.NeedFindTeX = false;
                    SendMeg.BujianID    = result.BujianID;
                    SendMeg.alardat     = alm;
                    MainForm.m_CheckHander.AlarmSendDataEvenHandle.BeginInvoke(null, SendMeg, null, null);
                }

                if (result.HCNCShareData.alarmList.Count == result.HCNCShareData.AlmLstLen)
                {
                    result.HCNCShareData.alarmList.RemoveRange(0, result.HCNCShareData.AlmLstLen / 2);
                }
                UpdateCurrentAlarmLst(result.HCNCShareData, alm);
            }
            else if (PLCDataShare.m_plclist != null && PLCDataShare.m_plclist.Count > 0 &&
                     PLCDataShare.m_plclist[0].m_hncPLCCollector != null && clientNo == Collector.CollectHNCPLC.m_clientNo)//HNC8 PLC报警
            {
                if (MainForm.m_CheckHander != null && MainForm.m_CheckHander.AlarmSendDataEvenHandle != null)
                {
                    EquipmentCheck.AlarmSendData SendMeg = new EquipmentCheck.AlarmSendData();
//                     SendMeg.alardat = new ScadaHncData.AlarmData();
                    SendMeg.NeedFindTeX = false;
                    SendMeg.BujianID    = PLCDataShare.m_plclist[0].m_hncPLCCollector.EQUIP_CODE;
                    SendMeg.alardat     = alm;
                    MainForm.m_CheckHander.AlarmSendDataEvenHandle.BeginInvoke(null, SendMeg, null, null);
                }
            }
        }
Example #3
0
/********************************************************************
 *      created:	2015/10/15
 *      created:	15:10:2015   14:45
 *      filename:   F:\SCADA\SCADA\WindowsForm\UserControlTaskData.cs
 *      file path:	F:\SCADA\SCADA\WindowsForm
 *      file base:	UserControlTaskData
 *      file ext:	cs
 *      author:
 *
 *      purpose:	读取所有派工单中对应需要发送的G代码和作业指导书等
 *********************************************************************/
        private bool getCNCTaskData()
        {
            if (TaskDb == null || TaskDb.Rows.Count < 0)
            {
                return(false);
            }

            for (int i = 0; i < TaskDb.Rows.Count; i++)
            {
                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       = "";
//                 if (checkBox_AoutoSendTask.Checked)//自动派发
//                 {
//                     if (sendTaskData2CNC(TaskDataObj.m_workorderlist[i].EQUIP_CODE, TaskDataObj.m_workorderlist[i].OP_DOC_PATH, i, checkBox_AoutoSendTask.Checked))
//                     {
//                         SendParm.Keywords = "派工单自动派发成功";
//                     }
//                     else
//                     {
//                         SendParm.Keywords = "派工单自动派发失败";
//                     }
//                 }
                if (gridRowIsChecked(i)) //选中发送
                {
                    System.Data.DataRow node = null;
                    LineDevice.CNC      cnc  = MainForm.cnclist.Find(
                        delegate(LineDevice.CNC temp)
                    {
                        return(temp.BujianID == TaskDb.Rows[i][(int)NCTaskDel.NodeName.机台编号].ToString());
                    }
                        );
                    if (cnc != null)
                    {
                        cnc.NcTaskManage.GetDISPATCHSendOrRepor(true, out node);
                        if (node != null)
                        {
                            if (!sendTaskData2CNC(node[(int)NCTaskDel.NodeName.机台编号].ToString(), node[(int)NCTaskDel.NodeName.NC作业指导书路径].ToString(), i, checkBox_AoutoSendTask.Checked))
                            {
                                SendParm.Keywords = "派工单手动派发失败";
                            }
                            else
                            {
                                SendParm.Keywords = "派工单手动派发成功";
                                dataGridViewTask.Rows[i].Selected = true;
                            }
                        }
                        else
                        {
                            SendParm.Keywords = "任务已经派发";
                        }
                    }
                    else
                    {
                        SendParm.Keywords = "没有找到派工单对应机台 派工单手动派发失败";
                    }
                }
                if (SendParm.Keywords.Length > 0)
                {
                    if (checkBox_XuNiSendTask.Checked)
                    {
                        SendParm.EventData = TaskDb.Rows[i][(int)NCTaskDel.NodeName.机台编号].ToString() + "虚拟派工;NC =" + TaskDb.Rows[i][(int)NCTaskDel.NodeName.NC文件路径].ToString();
                    }
                    else
                    {
                        SendParm.EventData = TaskDb.Rows[i][(int)NCTaskDel.NodeName.机台编号].ToString() + "实际派工;NC =" + TaskDb.Rows[i][(int)NCTaskDel.NodeName.NC文件路径].ToString();
                    }
                    SCADA.MainForm.m_Log.AddLogMsgHandler.BeginInvoke(this, SendParm, null, null);
                }
            }
            return(true);
        }