using System; using System.Data; using MesServerWork; using MisDataFunDll; namespace MesServerFunctions { partial class FunctionMES { /// /// 正常逻辑工作(传递机型) /// /// /// /// /// /// private void EngineTypeGetOver_PLC_Work(string OpName, int EngineTypeID, string EngineType, string EngineID, int PartPallet_Code, string OrderForm) { //int IsAllowWork; //int RepairPartStatusPLC = 0; //int MES_QualityMask = 1; ////电子看板_装配零件_临时表_增加_北汽 ////第二步,将零件信息转移到零件_临时表中 //BaseDataSystemMES.MesServer_Process_EngineTypeOverBQ(OpName); ////通知web显示 //SendMessageFun.SendMessage("123", "111", OpName); ////MIS_BASE.Read_PalletInfo(OpName, out MES_QualityMask);//合格标志 合格标志暂时改为即时响应式的 ////MIS_BASE.Read_RepairStatus_PLC(OpName, out RepairPartStatusPLC);//返修标志 ////SendMessageFun.SendInfomation("QualityMask", Convert.ToString(MES_QualityMask), OpName);//显示合格标志 ////SendMessageFun.SendInfomation("RepairPartStatusPLC", Convert.ToString(RepairPartStatusPLC), OpName);//显示返修标志 //MIS_BASE.Read_TagTypeID(201, OpName, out string EngineTypeID_QiaoKe); //Db.OP50_OPA90_MatchResult(EngineTypeID, Convert.ToInt32(EngineTypeID_QiaoKe), EngineID, OrderForm, out int MatchResult, out string MatchResultStr); //if (MatchResult == 1) //{ // // 轮毂线 // MIS_BASE.Write_Match(OpName, true);// 匹配结果 // MIS_BASE.Write_MatchingCompleted(OpName, true);// 匹配完成 // MIS_BASE.Write_FixAllow(OpName, true); // 允许工作 // return; //} //else if (MatchResult == 2) // 分等待状态 与 报警状态 等待的话就等A60 工作完成时判断清除等待 写入A90 的匹配结果 匹配完成 允许工作 //{ // MIS_BASE.WritePLC(29, OpName, true); // 开始等待 通知A60 保存完成时更新下等待状态与匹配状态 // return; //} //else //{ // // 将根据轮毂号 工位号 时间 报错内容 存储到数据库中供查询 // BaseDataSystemMES.HeLi_OoNameAlarmRecord_Add(OpName, EngineID, MatchResultStr); // // 匹配结果不成功 // MIS_BASE.Write_Match(OpName, false);// 匹配结果 // MIS_BASE.Write_MatchingCompleted(OpName, true);// 匹配完成 // return; //} //// 判断分线是否 传递机型 //if (EngineGetOver_SubLine) //{ // string EngineTypeID_MainLine; // int EngineTypeID_MainLineQiaoKe; // // 读取主线桥壳机型 // MIS_BASE.Read_EngineTypeID(OpName_MainLine, out EngineTypeID_MainLineQiaoKe); // // 读取分线存储的桥壳机型 // MIS_BASE.Read_TagTypeID(38, OpName_SubLine, out EngineTypeID_MainLine); // if (Convert.ToInt32(EngineTypeID_MainLine) == EngineTypeID) // { // Db.OP50_OPA90_MatchResult(EngineTypeID, Convert.ToInt32(EngineTypeID_MainLine), EngineTypeID_MainLineQiaoKe, out int MatchResult); // if (MatchResult == 0) // 不匹配 // { // // 主线 // MIS_BASE.Write_Match(OpName_MainLine, false);// 匹配结果 // MIS_BASE.Write_MatchingCompleted(OpName_MainLine, false);// 匹配完成 // MIS_BASE.Write_FixAllow(OpName_MainLine, false); // 允许工作 // // 分线 // MIS_BASE.Write_Match(OpName_SubLine, false);// 匹配结果 // MIS_BASE.Write_MatchingCompleted(OpName_SubLine, false);// 匹配完成 // MIS_BASE.Write_FixAllow(OpName_SubLine, false); // 允许工作 // // 写入分线 等待 0 // MIS_BASE.WritePLC(29, OpName_SubLine, "0"); // } // if (MatchResult == 1) // 允许抓 // { // // 主线 // MIS_BASE.Write_Match(OpName_MainLine, true);// 匹配结果 // MIS_BASE.Write_MatchingCompleted(OpName_MainLine, true);// 匹配完成 // // 分线 // MIS_BASE.Write_Match(OpName_SubLine, true);// 匹配结果 // MIS_BASE.Write_MatchingCompleted(OpName_SubLine, true);// 匹配完成 // MIS_BASE.Write_FixAllow(OpName_MainLine, true); // 允许工作 // // 写入分线 等待 0 // MIS_BASE.WritePLC(29, OpName_SubLine, "0"); // } // if (MatchResult == 2) // 等待 // { // // 写入分线 等待 1 // MIS_BASE.WritePLC(29, OpName_SubLine, "1"); // } // } // else // 不匹配 // { // // 主线 // MIS_BASE.Write_Match(OpName_MainLine, false);// 匹配结果 // MIS_BASE.Write_MatchingCompleted(OpName_MainLine, false);// 匹配完成 // MIS_BASE.Write_FixAllow(OpName_MainLine, false); // 允许工作 // // 分线 // MIS_BASE.Write_Match(OpName_SubLine, false);// 匹配结果 // MIS_BASE.Write_MatchingCompleted(OpName_SubLine, false);// 匹配完成 // MIS_BASE.Write_FixAllow(OpName_SubLine, false); // 允许工作 // // 写入分线 等待 0 // MIS_BASE.WritePLC(29, OpName_SubLine, "0"); // } //} } /// /// 二次工作 /// /// private void EngineTypeGetOver_PLC_Work_two(string OpName) { int EngineTypeID;//机型代码 int PartPallet_Code;//托盘编号 string EngineType;//机型 string EngineID;//工件编号 string OrderForm; MIS_BASE.GetEngineTypeFromPLC(OpName, out EngineTypeID, out EngineType, out EngineID, out PartPallet_Code, out OrderForm); EngineTypeGetOver_PLC_Work(OpName, EngineTypeID, EngineType, EngineID, Convert.ToInt32(PartPallet_Code), OrderForm); } /// /// 跳过二次工作 /// /// private void EngineTypeGetOver_PLC_Work_Skip(string OpName) { MIS_BASE.Write_MesReadOver(OpName, true); MIS_BASE.Write_MaterialVerifyOver(OpName, true); } /// /// 返修件需要工作 /// /// 工位号 private void IsNeedRepaire_OK(string OpName) { string orderForm = ""; int engineTypeID; string engineType = ""; string engineID = ""; string palletCode = ""; int isRepair; string repairCode = ""; //从监控系统中查询出本工位信息 //MisDataFun.OpName_MIS_Moby_Select(OpName, //out orderForm, out engineTypeID, out engineType, //out engineID, out palletCode, out isRepair, out repairCode); //EngineTypeGetOver_PLC_Work(OpName, engineTypeID, engineType, engineID, Convert.ToInt32(palletCode), orderForm); } } }