using System;
using MesServerWork;
using SystemFramework;
namespace MesServerFunctions
{
partial class Functions_BASE_04
{
///
/// 拧紧结束确认(必须MES)
///
///
///
private void FixOver(object e)
{
try
{
OpcData.CustomeEvetnArgs msgEvent = (OpcData.CustomeEvetnArgs)e;
string OpName = Convert.ToString(msgEvent.OpName);
int tagValue = Convert.ToInt32(msgEvent.TagValue);
if (tagValue == 0)
{
#region
int EngineTypeID;//机型代码
string EngineType;//机型
string EngineID;//工件编号
int PartPallet_Code;//托盘编号
MIS_BASE.GetEngineTypeFromDB(OpName, out EngineTypeID, out EngineType, out EngineID, out PartPallet_Code);///从PLC中获取MOBY信息
#endregion
int IsOK = 1;
if (MIS_BASE.hashtable_QualityMesRead.ContainsKey(OpName))
{
IsOK = Convert.ToInt32(MIS_BASE.hashtable_QualityMesRead[OpName]);
}
//必须拧紧合格,才能给出允许拧紧
if (IsOK == 1)
{
int workStepProperty = 0;
int BoltCode = 0;
int ProcessCode = 0;
if (!GetShaftWoringStepIsWorked_WorkGroup(OpName, EngineTypeID, EngineType, out ProcessCode, out BoltCode, out workStepProperty))
{
//发动UDP,通知MES工作站拧紧第几组
SendInfomation("FixAllowGuid", Convert.ToString(ProcessCode) + "&" + Convert.ToString(BoltCode), OpName);//显示拧紧标志
//写入工作顺序
MIS_BASE.Write_ProcessCode(OpName, ProcessCode);
//写入子程序(套筒号)
MIS_BASE.Write_BoltCode(OpName, BoltCode);
//通知PLC允许工作
MIS_BASE.Write_FixAllow(OpName, true);
}
else
{
MIS_BASE.Write_ConfirmOkGo(OpName, true);
MIS_BASE.Write_FalseGO(OpName, false);
}
}
}
}
catch (Exception err)
{
ApplicationLog.WriteLog(err, "Function04:FixOver");
}
}
///
/// 重新工作
///
///
private void WorkAgain(string OpName)
{
try
{
//1:允许拧紧清零
MIS_BASE.Write_FixAllow(OpName, false);
#region 暂定再次从PLC读取机型、产品信息
int EngineTypeID;//机型代码
string EngineType;//机型
string EngineID;//工件编号
int PartPallet_Code;//托盘编号
MIS_BASE.GetEngineTypeFromDB(OpName, out EngineTypeID, out EngineType, out EngineID, out PartPallet_Code);///从PLC中获取MOBY信息
#endregion
int workStepProperty = 0;
int BoltCode = 0;
int ProcessCode = 0;
//必须是拧紧的组号全部结束,并且全部OK,才能放行
if (!GetShaftWoringStepIsWorked_WorkGroup(OpName, EngineTypeID, EngineType, out ProcessCode, out BoltCode, out workStepProperty))
{
//发动UDP,通知MES工作站拧紧第几组
SendInfomation("FixAllowGuid", Convert.ToString(ProcessCode) + "&" + Convert.ToString(BoltCode), OpName);//显示拧紧标志
//写入工作顺序
MIS_BASE.Write_ProcessCode(OpName, ProcessCode);
//写入子程序(套筒号)
MIS_BASE.Write_BoltCode(OpName, BoltCode);
//通知PLC允许工作
MIS_BASE.Write_FixAllow(OpName, true);
}
else
{
MIS_BASE.Write_ConfirmOkGo(OpName, true);
MIS_BASE.Write_FalseGO(OpName, false);
}
}
catch (Exception err)
{
ApplicationLog.WriteLog(err, "Function04:WorkAgain");
}
}
}
}