Exemplo n.º 1
0
        private string ReadModalInfoHandle(ref ushort flib, string para)
        {
            string message = null;

            var res = new ReadModalResultModel();

            var ret = new ModalInfoHelper().ReadModalInfo(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 ModalInfoHelper().ReadModalInfo(flib, ref res);
                }
            }

            if (ret.Item1 != 0)
            {
                message = ret.Item2;
            }
            GetResultEvent?.Invoke(new BaseCNCResultModel <ReadModalResultModel>()
            {
                Value = new List <ReadModalResultModel>()
                {
                    res
                }, Id = para
            });

            return(message);
        }
Exemplo n.º 2
0
        public Tuple <short, string> ReadModalInfo(ushort flib, ref ReadModalResultModel data)
        {
            data.Modals.Clear();

            short num_gcd = 28;

            Focas1.ODBGCD g_code = new Focas1.ODBGCD();
            var           ret    = Focas1.cnc_rdgcode(flib, -1, 1, ref num_gcd, g_code);

            if (ret == 0)
            {
                for (int i = 0; i < 21; i++)
                {
                    string strdata = "gcd" + (i + 1).ToString();
                    object obj     = g_code.GetType().GetField(strdata).GetValue(g_code);
                    string code    = obj.GetType().GetField("code").GetValue(obj).ToString();

                    data.Modals.Add(code);
                }
                return(new Tuple <short, string>(0, null));
            }
            else
            {
                return(new Tuple <short, string>(ret, $"读取模态信息错误,返回:{ret}"));
            }
        }