chore: 初始化合力驱动桥MES采集程序
This commit is contained in:
@@ -0,0 +1,141 @@
|
||||
using bizFacade;
|
||||
using Function1052.SaveCode;
|
||||
using MesServerWork;
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using MesWorkMqtt;
|
||||
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)
|
||||
{
|
||||
|
||||
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);
|
||||
//通知设备,MES的质量数据(和物料数据)保存完成
|
||||
MIS_BASE.Write_MesReadOver(OpName, true);
|
||||
MIS_BASE.Write_MaterialVerifyOver(OpName, true);
|
||||
//统计在线产量,在线节拍
|
||||
SendMessage.SendActuallyCount(OpName, tagValue);
|
||||
|
||||
|
||||
|
||||
// 判断是否为A70 A80 如果是的话也去判断A90 与 051 工位的记录
|
||||
if(OpName == "OPA70" || OpName == "OPA80") {
|
||||
string awaitOpName = "OPA90";
|
||||
// 读取A90 是否在等待
|
||||
int isAwait = Convert.ToInt32(MIS_BASE.ReadPLC(29, awaitOpName));
|
||||
// 如果是OPA60 的话去再次判断工件匹配状态
|
||||
if (isAwait == 1)
|
||||
{
|
||||
MIS_BASE.Read_TagTypeID(201, awaitOpName, out string EngineTypeID_QiaoKe);
|
||||
|
||||
string await_EngineID = MIS_BASE.ReadPLC(10, awaitOpName).ToString(); // 读取A90等待工件的工件编号
|
||||
int await_EngineTypeID = Convert.ToInt32(MIS_BASE.ReadPLC(9, awaitOpName)); // 读取A90等待工件的机型编号
|
||||
string await_OrderForm = MIS_BASE.ReadPLC(39, awaitOpName).ToString(); // 读取A90等待工件的订单号
|
||||
BaseDataSystemMES.OP50_OPA90_MatchResult(await_EngineTypeID, Convert.ToInt32(EngineTypeID_QiaoKe), await_EngineID, await_OrderForm, out int MatchResult, out string MatchResultStr);
|
||||
if (MatchResult == 1)
|
||||
{
|
||||
// 轮毂线
|
||||
MIS_BASE.Write_Match(awaitOpName, true);// 匹配结果
|
||||
MIS_BASE.Write_FixAllow(awaitOpName, true); // 允许工作
|
||||
MIS_BASE.WritePLC(29, awaitOpName, false); // 取消等待
|
||||
MIS_BASE.Write_MatchingCompleted(awaitOpName, true);// 匹配完成
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
string awaitOpName2 = "OP051";
|
||||
// 读取051 是否在等待
|
||||
int isAwait2 = Convert.ToInt32(MIS_BASE.ReadPLC(29, awaitOpName2));
|
||||
if (isAwait2 == 1)
|
||||
{
|
||||
string await2_EngineID = MIS_BASE.ReadPLC(10, awaitOpName2).ToString(); // 读取051等待工件的工件编号
|
||||
string await2_OrderForm = MIS_BASE.ReadPLC(39, awaitOpName2).ToString(); // 读取051等待工件的订单号
|
||||
|
||||
|
||||
BaseDataSystemMES.OP051_OP050_NeedWork(await2_EngineID, awaitOpName2, await2_OrderForm, out int MatchResult, out string resultMsg);
|
||||
|
||||
if (MatchResult == 1) //匹配 有需要装配的轮毂
|
||||
{
|
||||
MIS_BASE.Write_Match(awaitOpName2, true);// 匹配结果
|
||||
MIS_BASE.WritePLC(77, awaitOpName2, "1");// 托盘是否需要工作 1:需要工作 2:不需要工作
|
||||
MIS_BASE.Write_FixAllow(awaitOpName2, true); // 允许工作
|
||||
MIS_BASE.WritePLC(29, awaitOpName2, false); // 取消等待
|
||||
BaseDataSystemMES.OP051_OP050_NeedWork_Save(EngineID, 1, resultMsg);
|
||||
MIS_BASE.Write_MatchingCompleted(awaitOpName2, true);// 匹配完成
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
MIS_BASE.Write_MesReadOver(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);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception err)
|
||||
{
|
||||
////ApplicationLog.WriteLog(err, "Function08:MesReadOver");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user