private string ReadProgramStrHandle(ref ushort flib, string para) { string message = null; var res = new ReadProgramStrResultModel(); var ret = new ProgramStrHelper().ReadProgramStr(flib, ref res); if (ret.Item1 == -16) { var ret_conn = ConnectHelper.BuildConnect(ref flib, m_ip, m_port, m_timeout); if (ret_conn == 0) { ret = new ProgramStrHelper().ReadProgramStr(flib, ref res); } } if (ret.Item1 != 0) { message = ret.Item2; } GetResultEvent?.Invoke(new BaseCNCResultModel <ReadProgramStrResultModel>() { Value = new List <ReadProgramStrResultModel>() { res }, Id = para }); return(message); }
public Tuple <short, string> ReadProgramStr(ushort flib, ref ReadProgramStrResultModel data) { //program string ushort charnum = 2048; short blocknum = 200; StringBuilder buf = new StringBuilder(2048); var ret = Focas1.cnc_rdexecprog(flib, ref charnum, out blocknum, buf); if (ret == 0) { data.Value = buf.ToString(); return(new Tuple <short, string>(0, null)); } else { return(new Tuple <short, string>(ret, $"读取程序执行情况错误,返回:{ret}")); } }