Files
2026-07-16 16:48:58 +08:00

68 lines
2.4 KiB
C#
Raw Permalink 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 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);
}
}
}
}