126 lines
4.9 KiB
C#
126 lines
4.9 KiB
C#
using System;
|
||
using MesServerWork;
|
||
//using SystemFramework;
|
||
|
||
namespace MesServerFunctions
|
||
{
|
||
partial class Functions_BASE_17
|
||
{
|
||
/// <summary>
|
||
/// 拧紧结束确认(必须MES)
|
||
/// </summary>
|
||
/// <param name="OpName"></param>
|
||
/// <param name="tagValue"></param>
|
||
private void FixOver(object e)
|
||
{
|
||
try
|
||
{
|
||
DoWhatPlc.CustomeEvetnArgs msgEvent = (DoWhatPlc.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 == null)
|
||
{
|
||
MIS_BASE.InitHashtable_MesServerCode();
|
||
}
|
||
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");
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 重新工作
|
||
/// </summary>
|
||
/// <param name="OpName"></param>
|
||
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");
|
||
}
|
||
}
|
||
}
|
||
}
|