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);
        }
Exemple #2
0
        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}"));
            }
        }