using System; using System.Data; using bizFacade; using MesServerWork; //using SystemFramework; namespace MesServerFunctions { partial class FunctionMES { object lockBarcodeEngineTypeGetOver = new object(); /// /// PLC传递机型处理 /// /// /// private void EngineTypeGetOver_PLC(object e) { lock(lockBarcodeEngineTypeGetOver) { try { DoWhatPlc.CustomeEvetnArgs msgEvent = (DoWhatPlc.CustomeEvetnArgs)e; string OpName = Convert.ToString(msgEvent.OpName); string OpName_mes = OpName+"_mes"; int tagValue = Convert.ToInt32(msgEvent.TagValue); //判断PLC机型与MES机型是否一致 if (tagValue == 1) { bool MesRead = false; int EngineTypeID;//机型代码 int PartPallet_Code;//托盘编号 string EngineType;//机型 string EngineID;//工件编号 int EngineTypeID_MES;//机型代码 string EngineType_MES;//机型 string EngineID_MES;//工件编号 //上线工位清MES传递机型信号 ////MIS_BASE.Write_EngineTypeGetOver_MES(OpName, false); //MIS_BASE.Read_QualityData_Read_CF(OpName, out MesRead); //第一步,判断允许保存和保存完成信号是否全部被清空,若未清空,则通知复位MES&PLC //if (MesRead) //{ // //未能清空信号,请求复位 // SendMessageFun.SendInfomation("AskReset", "1", OpName); // return; //} string OrderForm; string OrderForm_MES; MIS_BASE.GetEngineTypeFromPLC(OpName, out EngineTypeID, out EngineType, out EngineID, out PartPallet_Code, out OrderForm); //MIS_BASE.GetEngineTypeFromPLC_MES(OpName, out EngineTypeID_MES, out EngineType_MES, out EngineID_MES, out OrderForm_MES); // 测试的时候用的 plc读取订单号有问题 // OrderForm = BaseDataSystemMES.GetOrderDataBySn(EngineID); //显示当前订单信息 BaseDataSystemMES.OpName_MIS_MOBY_Insert(OpName, MobyTagType.EngineTypeID, EngineTypeID.ToString()); // 写入工位工作状态 0 无工件(工件到位0) 1 工件到位(工件到位1) 2 工作中(传递机型1) 3 工作完成(允许保存1) BaseDataSystemMES.OpName_MIS_MOBY_Insert(OpName, MobyTagType.EngineWorkType, "2"); BaseDataSystemMES.OpName_MIS_MOBY_Insert(OpName, MobyTagType.EngineID, EngineID); EngineTypeGetOver_PLC_Work(OpName, EngineTypeID, EngineType, EngineID, PartPallet_Code, OrderForm); //SendMessage.ShowMoby(OpName); } else { MIS_BASE.Write_FixAllow(OpName_mes, false); } } catch (Exception err) { ////ApplicationLog.WriteLog(err, "Function08:EngineTypeGetOver_PLC"); } } } } }