using HH.WCS.TempleteOver.DispatchService; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Xml; using static HH.WCS.Hexafluo.dispatch.NDC; namespace HH.WCS.Hexafluo.dispatch { public class NDCHelper { private static HostToAGV callClient = new HostToAGV(); public static void Test() { //dic.Add("Ext1", ""); dic.Add("Ext2", ""); dic.Add("N_CNTR_COUNT", ""); //var r = callClient.AddNewOrderAsync(new AddNewOrderRequest() { bufin = "" }); //r.Wait(); var dic = new Dictionary(); dic.Add("Pri", "1"); dic.Add("From", "1"); dic.Add("To", "1"); dic.Add("No", "12311411718_2");// dic.Add("Ext1", "1"); dic.Add("Ext2", "CALLADDAGV"); dic.Add("N_CNTR_COUNT", ""); var result = NDC.AddNewOrder(1, dic); var dic1 = new Dictionary(); var no = "3454566666"; dic1.Add("From", "1"); dic1.Add("To", "0"); dic1.Add("No", no); result = NDC.AddNewOrder(101, dic1); var dic2 = new Dictionary(); dic2.Add("ExtDeviceNo", "1"); dic2.Add("From", "2"); dic2.Add("To", "2"); dic2.Add("No", DateTime.Now.Ticks.ToString()); dic2.Add("CtrlVal", "1"); result = NDC.AddNewOrder(39, dic2); var dic3 = new Dictionary(); dic3.Add("From", "1"); dic3.Add("To", "9"); dic3.Add("No", no); result = NDC.CancelOrder(101, dic3); var dic4 = new Dictionary(); dic4.Add("ExtDeviceNo", "1"); dic4.Add("CtrlVal", "1"); dic4.Add("DispInfo", "AAAAAAAA"); dic4.Add("No", DateTime.Now.Ticks.ToString()); result = NDC.StartNewOrderWithQCmd(41, dic4); var dic5 = new Dictionary(); dic5.Add("ExtDeviceNo", "1"); dic5.Add("CtrlVal", "1"); dic5.Add("No", DateTime.Now.Ticks.ToString()); result = NDC.StartNewOrderWithQCmd(170, dic5); var dic6 = new Dictionary(); dic6.Add("ExtDeviceNo", "11"); dic6.Add("From", "2"); dic6.Add("To", "2"); dic6.Add("No", DateTime.Now.Ticks.ToString()); result = NDC.StartNewOrderWithQCmd(164, dic6); var dic7 = new Dictionary(); dic7.Add("Param1", "50"); dic7.Add("No", DateTime.Now.Ticks.ToString()); result = NDC.ChangeOrder(dic7); } /// /// 改参 /// /// 1111 22222 /// 通知小车下一个站点的值 1101 22222 /// 18 2 /// public static bool ChangeParam(string taskNo, int param1, int paramNo = 0) { bool bResult = false; var dic = new Dictionary(); dic.Add("No", taskNo); if (paramNo >= 0) { dic.Add("ParamNo", paramNo.ToString()); } dic.Add("Param1", param1.ToString()); var result = NewNDC.ChangeOrder(dic); if (result.Res.ErrCode == 0) { bResult = true; } return bResult; } /// /// 修改优先级 /// /// 任务号 /// 优先级 /// public static bool ChangeParamPri(string taskNo, int paramNo = 0) { bool bResult = false; var dic = new Dictionary(); dic.Add("No", taskNo); if (paramNo >= 0) { dic.Add("Pri", paramNo.ToString()); } dic.Add("IKey", ""); var result = NewNDC.ChangeOrder(dic); if (result.Res.ErrCode == 0) { bResult = true; } return bResult; } public static AGVResult ChangeParamTo(string taskNo, int paramNo, params int[] param) { bool bResult = false; var AGVResult = new AGVResult(); //发送行走指令 到AGV var req = $" "; if (param.Length > 1) { req = $" "; } try { LogHelper.Info("NDC", $"{req}"); var r = callClient.ChangeOrder(req); return GetResult(r); } catch (Exception ex) { Console.WriteLine(ex.Message); return AGVResult; } } private static AGVResult GetResult(string bufout) { //011 XmlDocument xml = new XmlDocument(); xml.LoadXml(bufout); var json = JsonConvert.SerializeXmlNode(xml); return JsonConvert.DeserializeObject(json); } public static bool Traffic(string lockNo) { bool bResult = false; var dic = new Dictionary(); dic.Add("ExtDeviceNo", lockNo); dic.Add("From", "2"); dic.Add("To", "2"); dic.Add("No", DateTime.Now.Ticks.ToString()); var result = NDC.StartNewOrderWithQCmd(164, dic); return bResult; } public static bool Cancel(string taskNo) { bool bResult = false; var dic = new Dictionary(); dic.Add("No", taskNo); dic.Add("IsForce", "1"); var result = NDC.CancelOrder(1, dic); return bResult; } } }