Beispiel #1
0
        private void S_Receive_Result(sys_receive_data obj)
        {
            switch (obj.ReturnType)
            {
            case ReturnDataType.SettingRet:
                sys_send_result ret = obj.Send_Result;
                Console.WriteLine(ret.txt);
                break;

            case ReturnDataType.ProduceRet:
                this.tb_c_ang.Text         = obj.Angle_data;
                this.tb_c_ang_unit.Text    = obj.Ang_unit;
                this.tb_c_check.Text       = obj.IsOk.ToString();
                this.tb_c_no.Text          = obj.SeqNo.ToString();
                this.tb_c_result.Text      = obj.Result;
                this.tb_c_sn.Text          = obj.Sn;
                this.tb_c_torque.Text      = obj.Torque_data;
                this.tb_c_torque_unit.Text = obj.Torque_unit;
                this.tb_c_worktype.Text    = s.WorkType.ToString();
                break;

            default:
                break;
            }
        }
Beispiel #2
0
        /// <summary>
        /// 数据解析逻辑
        /// </summary>
        /// <param name="strResult"></param>
        private void ReceiveData_Logic(string strResult)
        {
            sys_receive_data return_data = new sys_receive_data();
            bool             ok          = strResult.IndexOf("RE003,OK") >= 0 ? true : false;
            bool             error       = strResult.IndexOf("RE004,ERROR") >= 0 ? true : false;
            bool             e10         = strResult.IndexOf("E10") >= 0 ? true : false;
            bool             re          = strResult.IndexOf("RE,") >= 0 ? true : false;

            //接收发送指令后的返回值
            if (ok || error || e10)
            {
                sys_send_result ret = new sys_send_result();
                string[]        r   = strResult.Replace("\r\n", "").Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                if (r.Length == 2)
                {
                    ret.code = r[0];
                    ret.msg  = r[1];
                }
                switch (r[0])
                {
                case "RE003":
                    ret.txt         = "设置成功";
                    msg.msgtype     = Common.Common.MessageType.Info;
                    msg.messageinfo = ret.txt;
                    msg.is_success  = true;
                    Event_Msg?.Invoke(msg);
                    break;

                case "RE004":
                    ret.txt         = "设定值错误";
                    msg.msgtype     = Common.Common.MessageType.Error;
                    msg.messageinfo = ret.txt;
                    msg.is_success  = false;
                    Event_Msg?.Invoke(msg);
                    break;

                case "E10":
                    ret.txt         = "设定值错误,送信指令的前端没有附加AT指令";
                    msg.msgtype     = Common.Common.MessageType.Error;
                    msg.messageinfo = ret.txt;
                    msg.is_success  = false;
                    Event_Msg?.Invoke(msg);
                    break;

                default:
                    ret.txt         = strResult;
                    msg.msgtype     = Common.Common.MessageType.Info;
                    msg.messageinfo = ret.txt;
                    msg.is_success  = false;
                    Event_Msg?.Invoke(msg);
                    break;
                }
                return_data.ReturnType  = Common.Common.ReturnDataType.SettingRet;
                return_data.Send_Result = ret;
            }
            //接收仪器主动发送的值
            else if (re)
            {
                List <string> data = strResult.Replace("\r\n", "").Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
                switch (_Singleton._sys_serial.CommuitType)
                {
                case Common.Common.ComType.M3ID:
                    return_data.Head        = data[0];
                    return_data.SeqNo       = data[1];
                    return_data.Torque_data = data[2];
                    return_data.Torque_unit = data[3];
                    return_data.Angle_data  = data[4];
                    return_data.Ang_unit    = data[5];
                    return_data.Result      = data[6];
                    return_data.Sn          = data[7];
                    switch (_Singleton._sys_serial.WorkType)
                    {
                    case Common.Common.WorkMode.Torque:
                        return_data.IsOk = data[6].Substring(0, 1) == "O";
                        break;

                    case Common.Common.WorkMode.Ang:
                        return_data.IsOk = data[6].Substring(1, 1) == "O";
                        break;

                    case Common.Common.WorkMode.Both:
                        return_data.IsOk = data[6] == "OO";
                        break;

                    default:
                        break;
                    }
                    break;

                case Common.Common.ComType.M3:
                    return_data.Head        = data[0];
                    return_data.SeqNo       = data[1];
                    return_data.Torque_data = data[2];
                    break;

                default:
                    break;
                }
                return_data.ReturnType = Common.Common.ReturnDataType.ProduceRet;
            }
            else
            {
            }

            Receive_Result?.Invoke(return_data);
        }