68 lines
2.4 KiB
C#
68 lines
2.4 KiB
C#
using System;
|
||
using System.Threading;
|
||
using MesServerWork;
|
||
using MisDataSaveDate;
|
||
using MisDataSaveDate.Helper;
|
||
|
||
namespace MesServerFunctions
|
||
{
|
||
public partial class FunctionMES
|
||
{
|
||
private class TcsAgvDispatchContext
|
||
{
|
||
public DeviceDriver_BasicData.CustomeEvetnArgs EventArgs { get; set; }
|
||
public string ActionType { get; set; }
|
||
}
|
||
|
||
private void fun_TcsAgvDispatch(DeviceDriver_BasicData.CustomeEvetnArgs e, string actionType)
|
||
{
|
||
ThreadPool.QueueUserWorkItem(TcsAgvDispatch, new TcsAgvDispatchContext
|
||
{
|
||
EventArgs = e,
|
||
ActionType = actionType
|
||
});
|
||
}
|
||
|
||
private void TcsAgvDispatch(object state)
|
||
{
|
||
string opName = "";
|
||
try
|
||
{
|
||
TcsAgvDispatchContext context = state as TcsAgvDispatchContext;
|
||
if (context == null || context.EventArgs == null)
|
||
{
|
||
throw new Exception("TCS任务参数为空");
|
||
}
|
||
|
||
opName = Convert.ToString(context.EventArgs.OpName);
|
||
if (string.IsNullOrWhiteSpace(opName))
|
||
{
|
||
throw new Exception("PLC事件未包含工位号");
|
||
}
|
||
|
||
int completionCode = context.ActionType == "插" ? 400 : 401;
|
||
MIS_BASE.WritePLC(completionCode, opName, false);
|
||
|
||
TCSAGV_CallResult result = TCSAGV_BusinessLogic.DispatchStationTask(
|
||
opName, context.ActionType, "", "PLC_AUTO", "PLC自动", "", true);
|
||
if (!result.Success)
|
||
{
|
||
throw new Exception(result.Message);
|
||
}
|
||
|
||
string logText = "TCS" + context.ActionType + "任务已下发:工位=" + opName
|
||
+ ",外部任务编号=" + result.ExternalCode;
|
||
ApiLogHelper.SaveMesLog(opName, logText, MesLogType.INFO);
|
||
SendMessage.AsyncSendMessage_Notice(opName, logText);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
string logText = "TCS插拔任务下发失败:" + ex.Message;
|
||
ApiLogHelper.SaveMesLog(opName, logText, MesLogType.ERROR);
|
||
SendMessage.AsyncSendMessage_Notice(opName, logText);
|
||
MyLog4Net.MyLogHelper.Error("Function1054_TcsAgvDispatch", logText + Environment.NewLine + ex);
|
||
}
|
||
}
|
||
}
|
||
}
|