/// <summary> /// 执行入库任务(初步执行) /// </summary> /// <param name="command"></param> public void Task_InInitial(WCS_COMMAND_V command) { try { // 选择目的货位最靠外的货物优先处理 String loc1 = task.GetRGVLoc(2, command.LOC_TO_1); //运输车辊台②任务1 String loc2 = task.GetRGVLoc(1, command.LOC_TO_2); //运输车辊台①任务2 String loc = task.GetLocByRgvToLoc(loc1, loc2); //处理货位 if (loc == "NG") { //不能没有货物目的位置 return; } // 摆渡车到固定辊台对接点 String ARFloc = task.GetARFLoc(command.FRT); //获取对应摆渡车位置 task.CreateItem(command.WCS_NO, ItemId.摆渡车定位固定辊台, ARFloc); //生成摆渡车任务 // 运输车到摆渡车对接点 task.CreateItem(command.WCS_NO, ItemId.运输车复位1, ConfigurationManager.AppSettings["StandbyP1"]); //生成运输车任务 // 行车到运输车对接取货点 String ABCloc = task.GetABCTrackLoc(loc); //获取对应行车位置 task.CreateItem(command.WCS_NO, ItemId.行车轨道定位, ABCloc); //生成行车任务 //更新WCS COMMAND状态——执行中 task.UpdateCommand(command.WCS_NO, CommandStep.执行中); //更新WCS TASK状态——任务中 task.UpdateTaskByWCSNo(command.WCS_NO, TaskSite.任务中); } catch (Exception ex) { //初始化 task.UpdateCommand(command.WCS_NO, CommandStep.请求执行); task.UpdateTaskByWCSNo(command.WCS_NO, TaskSite.未执行); task.DeleteItem(command.WCS_NO, ""); throw ex; } }