/// <summary>
        /// 检查
        /// </summary>
        /// <param name="bean"></param>
        /// <returns></returns>
        public static ResultBean CheckEntity(TreeEntity bean)
        {
            ResultBean result = new ResultBean();

            for (int i = 0; i < 4; i++)
            {
                if (bean.StartBit[i] != startBit[i])
                {
                    result.Code++;
                    result.Msg += "起始位" + i + "不正确|";
                }
            }

            ushort crc = CRCUtil.CalculateCrc(bean.Data, bean.Data.Length);
            //src[6] = (byte)(crc & 0xff);
            //src[7] = (byte) (crc >> 8);
            byte crcL = ((byte)(crc & 0xff));
            byte crcH = ((byte)(crc >> 8));

            if (bean.Crc[0] != crcL || bean.Crc[1] != crcH)
            {
                result.Code++;
                result.Msg += "接收的CRC为" + bean.Crc[0] + "" + bean.Crc[1] + "计算的CRC为" + crcL + "" + crcH + " 对比不正确|";
            }
            result.Result = result.Code == 0;
            if (result.Result)
            {
                result.Msg = "正确";
            }
            result.Obj     = bean;
            bean.CheckCode = result.Code;
            bean.CheckMsg  = result.Msg;

            return(result);
        }
        /// <summary>
        /// 回复
        /// </summary>
        /// <param name="bean"></param>
        /// <param name="order"></param>
        /// <returns></returns>
        public static byte[] Respond(TreeEntity bean, int order)
        {
            int length = 17;

            byte[] respond = new byte[length];
            for (int i = 0; i < 4; i++)//起始位和结尾
            {
                respond[i] = startBit[i];
                if (i < 2)
                {
                    respond[length - i - 1] = endBit[1 - i];
                }
            }
            respond[4] = (byte)(order & 0xFF);
            respond[5] = (byte)(order >> 8 & 0xFF); //序列号

            respond[6] = 0x09;                      //数据类型

            respond[8] = 0x00;
            respond[7] = 0x04;//数据包长度

            respond[9]  = respond[4];
            respond[10] = respond[5];//数据包,CJC  =序列号

            ushort crc = CRCUtil.CalculateCrc(Copy(respond, 9, 4), 4);
            //src[6] = (byte)(crc & 0xff);
            //src[7] = (byte) (crc >> 8);
            byte crcL = ((byte)(crc & 0xff));
            byte crcH = ((byte)(crc >> 8));

            respond[13] = crcL;
            respond[14] = crcH; //CRC

            return(respond);
        }