Files
52-NingdePDC-MesProject/MisDataFunction/Function1065/OpcServer/MesRead.cs
XingCheng3 dff0156cdd MVP!
2026-05-26 09:41:24 +08:00

87 lines
3.6 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 System;
using MesServerWork;
using MisDataFunDll;
namespace MesServerFunctions
{
partial class FunctionMES
{
/// <summary>
/// 保存完成(针对半自动和手动压装工位)
/// </summary>
/// <param name="OpName"></param>
/// <param name="tagValue"></param>
private void MesRead(object e)
{
try
{
var msgEvent = (DeviceDriver_BasicData.CustomeEvetnArgs)e;
string OpName = Convert.ToString(msgEvent.OpName);
int tagValue = Convert.ToInt32(msgEvent.TagValue);
int EngineTypeID;
string EngineType;
string EngineID;
int PartPallet_Code;
string OrderForm;
string OpName1 = "";
if (tagValue == 1)
{
MisDataFun.LogRecording_OP(OpName, "INFO", "MIS", "PLC允许保存数据");
int qualityMask = 1;
// 读取返修上线的产品编号
MIS_BASE.Read_TagValueByTagTypeID(74, OpName, out EngineID);
// 读取返修上线的工位号
MIS_BASE.Read_TagValueByTagTypeID(110, OpName, out OpName1);
// PDC产线plc只写了发动机号和机型代码其余要从数据库中读取
MisDataFun.Moby_Select_PDC(EngineID, out OrderForm, out EngineType, out EngineTypeID);
// 保存过站信息
MisDataFun.WorkStartInsert_FX(OpName, OpName1, EngineID, qualityMask);
//通知PLCMES保存完成
MIS_BASE.Write_MesReadOver(OpName, true);
// 写入加工合格还是不合格 根据工位合格标志写
MIS_BASE.Write_OpNameIsOk(OpName, qualityMask);
MisDataFun.LogRecording_OP(OpName, "INFO", "MIS", "MES保存数据完成");
}
else
{
MIS_BASE.Write_MesReadOver(OpName, false);
// 写入加工合格还是不合格 根据工位合格标志写
MIS_BASE.Write_OpNameIsOk(OpName, -99);
// 写返修上线工位号给PLC
MIS_BASE.Write_TagValueByTagTypeID(74, OpName, "");
MIS_BASE.Write_TagValueByTagTypeID(110, OpName, "");
// 写申请返修上线给PLC
MIS_BASE.Write_TagValueByTagTypeID(28, OpName, false);
MIS_BASE.Write_EngineTypeID_MES(OpName, 0); // 机型标志MES
MIS_BASE.Write_EngineID_MES(OpName, ""); // 工件编号MES
MIS_BASE.Write_EngineType_MES(OpName, ""); // 产品型号MES
MIS_BASE.Write_OrderForm_MES(OpName, ""); // 订单号(MES)
MIS_BASE.Write_MachineTime_ReadOver(OpName, false); // 托盘校验完成
MIS_BASE.Write_MesErrorType(OpName, 0); // MES报警点
MIS_BASE.Write_TagValueByTagTypeID(93, OpName, 0); // 返修上线标志
MIS_BASE.Write_TagValueByTagTypeID(28, OpName, 0); // 返修点
MIS_BASE.Write_TagValueByTagTypeID(118, OpName, 0); // 再起始工位号
MisDataFun.LogRecording_OP(OpName, "INFO", "MIS", "PLC允许保存数据取消");
}
}
catch (Exception err)
{
////ApplicationLog.WriteLog(err, "Function08:MesReadOver");
}
}
}
}