Files
4-Heli-DriveAxle-MesProject/MisDataFunction/MesServer.Function/Function1056/OpcServer/MesRead.cs
2026-05-29 13:50:18 +08:00

123 lines
5.7 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using bizFacade;
using MesServerWork;
using System;
//using SystemFramework;
namespace MesServerFunctions
{
partial class FunctionMES
{
/// <summary>
/// 允许保存(针对半自动和手动压装工位)
/// </summary>
/// <param name="OpName"></param>
/// <param name="tagValue"></param>
private void MesRead(object e)
{
{
try
{
{
DoWhatPlc.CustomeEvetnArgs msgEvent = (DoWhatPlc.CustomeEvetnArgs)e;
string OpName = Convert.ToString(msgEvent.OpName);
int tagValue = Convert.ToInt32(msgEvent.TagValue);
if (tagValue == 1)
{
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);
MyLog4Net.MyLogHelper.Error($"触发记录:", $"允许保存 工位号: {OpName} 工件编号:{EngineID}");
int qualityMask;
//保存质量数据
MyLog4Net.MyLogHelper.Error($"保存记录:", $"开始保存质量数据 工位号:{OpName} 工件编号:{EngineID}");
qualityMask = MisDataSaveDateMesRead.Funtion.MesRead(OpName, tagValue.ToString(), msgEvent.TagID.ToString());
//保存物料数据
MyLog4Net.MyLogHelper.Error($"保存记录:", $"开始保存物料数据 工位号:{OpName} 工件编号:{EngineID}");
BaseDataSystemMES.Material_Insert(OpName, qualityMask);
//测量数据发动机在线状态
MyLog4Net.MyLogHelper.Error($"保存记录:", $"开始保存过站数据 工位号:{OpName} 工件编号:{EngineID}");
BaseDataSystemMES.WorkStartInsert(OpName, qualityMask);
MyLog4Net.MyLogHelper.Error($"保存记录:", $"结束保存过站数据 工位号:{OpName} 工件编号:{EngineID}");
//推送质量数据到MES的页面
SendMessageFun.SendInfomation("ShowTimelyQuality", "1&" + qualityMask.ToString(), OpName);
//对应手动工位的
//MIS_BASE.Write_ConfirmOkGo(OpName, true);
//MIS_BASE.Write_FixAllow(OpName, false);
//MIS_BASE.Write_ConfirmOkGo(OpName, false);
//MIS_BASE.Write_FixOver(OpName, false);
//MIS_BASE.Write_MaterialVerifyOver(OpName, false);
//统计在线产量,在线节拍
// SendMessage.SendActuallyCount(OpName, tagValue);
//// 判断050 工位是否有传递机型 有的话 允许050工作 同时删除记录表中轮毂号
//MIS_BASE.Read_EngineGetOver_PLC("OP050", out bool EngineGetOver_PLC_NextWorkStep);
//MIS_BASE.Read_FixAllow("OP050", out bool FixAllow_PLC_NextWorkStep);
//if (EngineGetOver_PLC_NextWorkStep)
//{
// if (!FixAllow_PLC_NextWorkStep)
// {
// MIS_BASE.Write_FixAllow("OP050", true);
// }
// // 查询050 工位当前到位的工件编号
// //MIS_BASE.Read_EngineID("OP050", out string OP050_EngineID);
// // 绑定关系 同时 删除记录
// //Db.OPA92_DeleteLineData(OP050_EngineID);
//}
//通知设备MES的质量数据和物料数据保存完成
MIS_BASE.Write_MesReadOver(OpName, true);
}
else
{
MIS_BASE.Write_MesReadOver(OpName, false);
MIS_BASE.Write_ConfirmOkGo(OpName, false);
MIS_BASE.Write_FixAllow(OpName, false);
MIS_BASE.Write_ConfirmOkGo(OpName, false);
//工作完成
MIS_BASE.Write_MaterialVerifyOver(OpName, false);
//后加,清空信号
MIS_BASE.Write_MesReadOver(OpName, false);
MIS_BASE.Write_ConfirmOkGo(OpName, false);
MIS_BASE.Write_FixAllow(OpName, false);
MIS_BASE.Write_ConfirmOkGo(OpName, false);
MIS_BASE.Write_EngineTypeGetOver_MES(OpName, false);
//工作完成
MIS_BASE.Write_MaterialVerifyOver(OpName, false);
MIS_BASE.Write_Match(OpName, false);// 匹配结果
MIS_BASE.Write_MatchingCompleted(OpName, false);// 匹配完成
}
}
}
catch (Exception err)
{
////ApplicationLog.WriteLog(err, "Function08:MesReadOver");
}
}
}
}
}