using System; using MesServerWork; //using SystemFramework; namespace MesServerFunctions { partial class Functions_BASE_04 { /// /// 拧紧结束确认(必须MES) /// /// /// private void FixOver(object e) { try { DoWhatPlc.CustomeEvetnArgs msgEvent = (DoWhatPlc.CustomeEvetnArgs)e; string OpName = Convert.ToString(msgEvent.OpName); int tagValue = Convert.ToInt32(msgEvent.TagValue); if (tagValue == 0) { #region int EngineTypeID;//机型代码 string EngineType;//机型 string EngineID;//工件编号 int PartPallet_Code;//托盘编号 MIS_BASE.GetEngineTypeFromDB(OpName, out EngineTypeID, out EngineType, out EngineID, out PartPallet_Code);///从PLC中获取MOBY信息 #endregion int IsOK = 1; if (MIS_BASE.hashtable_QualityMesRead == null) { MIS_BASE.InitHashtable_MesServerCode(); } if (MIS_BASE.hashtable_QualityMesRead.ContainsKey(OpName)) { IsOK = Convert.ToInt32(MIS_BASE.hashtable_QualityMesRead[OpName]); } //必须拧紧合格,才能给出允许拧紧 if (IsOK == 1) { int workStepProperty = 0; int BoltCode = 0; int ProcessCode = 0; if (!GetShaftWoringStepIsWorked_WorkGroup(OpName, EngineTypeID, EngineType, out ProcessCode, out BoltCode, out workStepProperty)) { //发动UDP,通知MES工作站拧紧第几组 SendInfomation("FixAllowGuid", Convert.ToString(ProcessCode) + "&" + Convert.ToString(BoltCode), OpName);//显示拧紧标志 //写入工作顺序 MIS_BASE.Write_ProcessCode(OpName, ProcessCode); //写入子程序(套筒号) MIS_BASE.Write_BoltCode(OpName, BoltCode); //通知PLC允许工作 MIS_BASE.Write_FixAllow(OpName, true); } else { MIS_BASE.Write_ConfirmOkGo(OpName, true); MIS_BASE.Write_FalseGO(OpName, false); } } } } catch (Exception err) { ////ApplicationLog.WriteLog(err, "Function04:FixOver"); } } /// /// 重新工作 /// /// private void WorkAgain(string OpName) { try { //1:允许拧紧清零 MIS_BASE.Write_FixAllow(OpName, false); #region 暂定再次从PLC读取机型、产品信息 int EngineTypeID;//机型代码 string EngineType;//机型 string EngineID;//工件编号 int PartPallet_Code;//托盘编号 MIS_BASE.GetEngineTypeFromDB(OpName, out EngineTypeID, out EngineType, out EngineID, out PartPallet_Code);///从PLC中获取MOBY信息 #endregion int workStepProperty = 0; int BoltCode = 0; int ProcessCode = 0; //必须是拧紧的组号全部结束,并且全部OK,才能放行 if (!GetShaftWoringStepIsWorked_WorkGroup(OpName, EngineTypeID, EngineType, out ProcessCode, out BoltCode, out workStepProperty)) { //发动UDP,通知MES工作站拧紧第几组 SendInfomation("FixAllowGuid", Convert.ToString(ProcessCode) + "&" + Convert.ToString(BoltCode), OpName);//显示拧紧标志 //写入工作顺序 MIS_BASE.Write_ProcessCode(OpName, ProcessCode); //写入子程序(套筒号) MIS_BASE.Write_BoltCode(OpName, BoltCode); //通知PLC允许工作 MIS_BASE.Write_FixAllow(OpName, true); } else { MIS_BASE.Write_ConfirmOkGo(OpName, true); MIS_BASE.Write_FalseGO(OpName, false); } } catch (Exception err) { ////ApplicationLog.WriteLog(err, "Function04:WorkAgain"); } } } }