using System; using System.Collections.Generic; using System.Text; using System.Linq; using System.Threading; using WIDESEAWCS_Model.Models; using WIDESEAWCS_Core; using WIDESEAWCS_Tasks.StackerCraneJob; using WIDESEAWCS_QuartzJob; namespace WIDESEAWCS_Tasks { public class StackerExecutor { /// /// 下发堆垛机任务 /// /// 堆垛机连接 /// 任务对象 //SendHW_StackerTask /// public static WebResponseContent SendStackerTask(STK commonStackerCrane, Dt_Task stacktaskinfo, string scName) { WebResponseContent content = new WebResponseContent(); try { var formInfo = stacktaskinfo.SourceAddress.Split("-"); var endInfo = stacktaskinfo.TargetAddress.Split("-"); commonStackerCrane.SetValue(StackerCraneDBName.S_Row, formInfo[0], scName);//来源货位行 commonStackerCrane.SetValue(StackerCraneDBName.S_Bay, formInfo[1], scName);//来源货位列 commonStackerCrane.SetValue(StackerCraneDBName.S_level, formInfo[2], scName);//来源货位层 commonStackerCrane.SetValue(StackerCraneDBName.E_Row, endInfo[0], scName);//目的货位行 commonStackerCrane.SetValue(StackerCraneDBName.E_Bay, endInfo[1], scName);//目的货位列 commonStackerCrane.SetValue(StackerCraneDBName.E_level, endInfo[2], scName);//目的货位层 commonStackerCrane.SetValue(StackerCraneDBName.WorkType, 1, scName);//工作命令代码 commonStackerCrane.SetValue(StackerCraneDBName.TaskNum, stacktaskinfo.TaskNum, scName);//工作序号 commonStackerCrane.SetValue(StackerCraneDBName.RFID, stacktaskinfo.PalletCode.PadLeft(4, '0') + stacktaskinfo.PVI, scName);//pvi #region todo PLC写入后读取验证 //commonStackerCrane.GetValue(StackerCraneDBName.S_Row, scName);//来源货位行 //commonStackerCrane.GetValue(StackerCraneDBName.S_Bay, scName);//来源货位列 //commonStackerCrane.GetValue(StackerCraneDBName.S_level, scName);//来源货位层 //commonStackerCrane.GetValue(StackerCraneDBName.E_Row, scName);//目的货位行 //commonStackerCrane.GetValue(StackerCraneDBName.E_Bay, scName);//目的货位列 //commonStackerCrane.GetValue(StackerCraneDBName.E_level, scName);//目的货位层 //commonStackerCrane.SetValue(StackerCraneDBName.WorkType, 1, scName);//工作命令代码 //commonStackerCrane.SetValue(StackerCraneDBName.TaskNum, stacktaskinfo.TaskNum, scName);//工作序号 #endregion commonStackerCrane.SetValue(StackerCraneDBName.CMD, 1, scName);//启动命令 content = content.OK(); } catch (Exception ex) { content = content.Error(scName + "任务下发失败:" + ex.Message); } return content; } } }