using MesServerWork; using MisDataFunDll; using System; using WebApi; namespace MesServerFunctions { partial class FunctionMES { /// /// 点对点操作 /// /// private void PointToPoint(object e) { try { DeviceDriver_BasicData.CustomeEvetnArgs msgEvent = (DeviceDriver_BasicData.CustomeEvetnArgs)e; string OpName = Convert.ToString(msgEvent.OpName); int tagValue = Convert.ToInt32(msgEvent.TagValue); string msg; if (tagValue == 1) { // 记录点对点请求状态 MisDataFun.Location_MIS_MOBY_Insert(OpName, "PointToPoint", "1"); MisDataFun.Location_MIS_MOBY_Insert(OpName, "配送类型", "7"); // 调用点对点接口 // deliveryType: 1退托盘,2叫料,3送料,4转序,5下空,6上空,7点对点 // 注意:终点位置暂时为空,等业务明确后再补充 bool isOk = CALL_Inerface_DataHandle.CALL_Inerface_CallMaterial(OpName, "7"); if (isOk) { msg = $"【{OpName}】点对点操作成功"; MIS_BASE.WritePLC(306, OpName, 1); // 任务状态反馈 } else { msg = $"【{OpName}】点对点操作失败"; MIS_BASE.WritePLC(306, OpName, 2); // 任务状态反馈 } SendMessage.AsyncSendMessage_Notice(OpName, msg); MyLog4Net.MyLogHelper.Info("PointToPoint", msg); } else { MisDataFun.Location_MIS_MOBY_Insert(OpName, "PointToPoint", "0"); MIS_BASE.WritePLC(301, OpName, false); // 请求进入 MIS_BASE.WritePLC(302, OpName, false); // 托盘到位 MIS_BASE.WritePLC(303, OpName, false); // AGV已离开 MIS_BASE.WritePLC(305, OpName, "0"); // 比对结果 MIS_BASE.WritePLC(304, OpName, false); // 比对完成 MIS_BASE.WritePLC(306, OpName, 0); // 任务状态反馈 } } catch (Exception err) { MisDataSaveDate.FuntionMesRead.Alarm_SaveFileLog4Error(System.Reflection.MethodBase.GetCurrentMethod().Name, e, "Fun1054", err); } } } }