public void BytesToDoubleTransferTest( )
        {
            byte[] data = new byte[16];
            BitConverter.GetBytes(123.456789D).CopyTo(data, 0);
            BitConverter.GetBytes(-0.00000123D).CopyTo(data, 8);
            Array.Reverse(data, 0, 8);
            Array.Reverse(data, 8, 8);

            double[] array = byteTransform.TransDouble(data, 0, 2);
            Assert.AreEqual <double>(123.456789D, array[0]);
            Assert.AreEqual <double>(-0.00000123D, array[1]);
        }
        /// <summary>
        /// 数据转换,byte[]到string
        /// </summary>
        /// <param name="dataType"></param>
        /// <param name="buffer"></param>
        /// <returns></returns>
        public static BllResult <string> TransferBufferToString(HslModbusDataEntity data, int index = 0)
        {
            try
            {
                switch (data.DataType)
                {
                //对于bool类型,先转化为Bool,然后转二进制,再根据对应的位来判断是0还是1
                case ModbusDataType.Bool:
                case ModbusDataType.Short:
                    return(BllResultFactory <string> .Sucess(reverseBytesTransform.TransInt16(data.Buffer, index).ToString(), null));

                case ModbusDataType.UShort:
                    return(BllResultFactory <string> .Sucess(reverseBytesTransform.TransUInt16(data.Buffer, index).ToString(), null));

                case ModbusDataType.Int:
                    return(BllResultFactory <string> .Sucess(reverseBytesTransform.TransInt32(data.Buffer, index).ToString(), null));

                case ModbusDataType.UInt:
                    return(BllResultFactory <string> .Sucess(reverseBytesTransform.TransUInt32(data.Buffer, index).ToString(), null));

                case ModbusDataType.Long:
                    return(BllResultFactory <string> .Sucess(reverseBytesTransform.TransInt64(data.Buffer, index).ToString(), null));

                case ModbusDataType.ULong:
                    return(BllResultFactory <string> .Sucess(reverseBytesTransform.TransUInt64(data.Buffer, index).ToString(), null));

                case ModbusDataType.Float:
                    return(BllResultFactory <string> .Sucess(reverseBytesTransform.TransSingle(data.Buffer, index).ToString(), null));

                case ModbusDataType.Double:
                    return(BllResultFactory <string> .Sucess(reverseBytesTransform.TransDouble(data.Buffer, index).ToString(), null));

                case ModbusDataType.String:
                    return(BllResultFactory <string> .Sucess(reverseBytesTransform.TransString(data.Buffer, index, data.Buffer.Length, Encoding.ASCII), null));

                default:
                    return(BllResultFactory <string> .Error("未识别"));
                }
            }
            catch (Exception ex)
            {
                return(BllResultFactory <string> .Error($"转换出错:{ex.Message}"));
            }
        }