Files
2-BeiqiFutian-MesProject/MisDataFunction/MesServer.Function/Function1054/OpcServer/MesRead.cs
2026-05-29 13:44:10 +08:00

111 lines
4.8 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 MesWork;
using System;
using System.Data;
//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)
{
//订单号
string orderForm = MIS_BASE.ReadPLC(39, OpName).ToString();
//机型号
string EngineType = MIS_BASE.ReadPLC(11, OpName).ToString();
int qualityMask;
string EngineID = MIS_BASE.ReadPLC(10, OpName).ToString();
// 先校验当前工件是否绑定前壳码,若无绑定则弹窗不给保存
//DataTable bindDt = BaseDataSystemMES.Check_DataBaind(EngineID, OpName);
//if(bindDt.Rows.Count == 0 )
//{
// SendMessageFun.AsyncSendMessage_Notice(OpName, "该总成号工作过程中未绑定上前壳,不允许工作完成,请确认!");
// return;
//}
//保存质量数据
qualityMask = MisDataSaveDateMesRead.Funtion.MesRead(OpName, tagValue.ToString(), msgEvent.TagID.ToString());
//保存物料数据
BaseDataSystemMES.Material_Insert(OpName, qualityMask);
//测量数据发动机在线状态
BaseDataSystemMES.WorkStartInsert(OpName, qualityMask);
//推送质量数据到MES的页面
SendMessageFun.SendInfomation("ShowTimelyQuality", "1&" + qualityMask.ToString(), OpName);
//对应手动工位的
//MIS_BASE.Write_ConfirmOkGo(OpName, true);
//通知设备MES的质量数据和物料数据保存完成
MIS_BASE.Write_MesReadOver(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);
// 将PA080 所绑定的质量数据与过站数据 物料数据都改为 当前总成号
BaseDataSystemMES.Update_DataBaind(EngineID,OpName,"J07PA070");
//// 读取持久化存储中的码值
//BaseDataSystemMES.Get_TempData(OpName, "码值", out DataTable CodeDt);
////暂时改为保存主分线关系完毕即可允许工作
//if(CodeDt.Rows.Count > 0)
//{
// DataTable dt = BaseDataSystemMES.BusPartLine_Add(EngineID, CodeDt.Rows[0]["数值"].ToString(), OpName, orderForm, EngineType);
//}
}
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);
//MES允许PLC工作线外工位
MIS_BASE.WritePLC(34, OpName, false);
}
}
}
catch (Exception err)
{
// 保存出错日志 1.申请上线 2.传递机型 3.允许保存 4.扫码
MisDataSaveDate.FuntionMesRead.Alarm_SaveFileLog4Error(3, e, "Fun1054", err);
////ApplicationLog.WriteLog(err, "Function08:MesReadOver");
}
}
}
}
}