コード例 #1
0
        public static CtlResponseData SetFromByte(byte[] _arr)
        {
            CtlResponseData rst = new CtlResponseData();

            try
            {
                string   dataBady = Encoding.Default.GetString(_arr, 6, _arr.Length - 8);
                string[] datas    = dataBady.Split('/');

                int i = 0;

                rst.Psu1Ac     = byte.Parse(datas[i++]);
                rst.Psu1Dc     = byte.Parse(datas[i++]);
                rst.Psu1Fan    = byte.Parse(datas[i++]);
                rst.Psu2Ac     = byte.Parse(datas[i++]);
                rst.Psu2Dc     = byte.Parse(datas[i++]);
                rst.Psu2Fan    = byte.Parse(datas[i++]);
                rst.Psu2Use    = byte.Parse(datas[i++]);
                rst.SystemDown = byte.Parse(datas[i++]);
                rst.BattUse    = byte.Parse(datas[i++]);
                rst.BattState  = byte.Parse(datas[i++]);
                rst.Door       = byte.Parse(datas[i++]);
                rst.Reset      = byte.Parse(datas[i++]);
                rst.FwVer      = datas[i++];
                rst.FwDate     = datas[i++];
                rst.EwsCh      = byte.Parse(datas[i++]);
                rst.TdmbLv     = byte.Parse(datas[i++]);
                rst.SdmbLv     = byte.Parse(datas[i++]);
                rst.CdmaLv     = byte.Parse(datas[i++]);
                rst.TdmbState  = byte.Parse(datas[i++]);
                rst.SdmbState  = byte.Parse(datas[i++]);
                rst.AmpSw      = byte.Parse(datas[i++]);
                rst.AmpUse     = byte.Parse(datas[i++]);
                rst.AmpChUse   = datas[i++];
                rst.AmpLv      = byte.Parse(datas[i++]);
                rst.AcVolt     = datas[i++];
                rst.Dc5Volt    = datas[i++];
                rst.Dc24Volt   = datas[i++];
                rst.tempo      = datas[i++];
                rst.ExAmp      = byte.Parse(datas[i++]);
            }
            catch
            {
                Console.Write(string.Format("\n[{0}] CtlResponseData SetFromByte Exception", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
                rst = null;
            }

            return(rst);
        }
コード例 #2
0
        public static byte[] GetToByte(CtlResponseData _data)
        {
            byte[] arr = null;

            try
            {
                byte[] soh = new byte[] { 0x01, 0x02 };
                byte[] len = new byte[] { 0x30, 0x30, 0x30 };
                byte   cmd = (byte)'T';
                byte[] b1  = Encoding.Default.GetBytes(string.Format("{0}", _data.Psu1Ac));
                byte[] b2  = Encoding.Default.GetBytes(string.Format("/{0}", _data.Psu1Dc));
                byte[] b3  = Encoding.Default.GetBytes(string.Format("/{0}", _data.Psu1Fan));
                byte[] b4  = Encoding.Default.GetBytes(string.Format("/{0}", _data.Psu2Ac));
                byte[] b5  = Encoding.Default.GetBytes(string.Format("/{0}", _data.Psu2Dc));
                byte[] b6  = Encoding.Default.GetBytes(string.Format("/{0}", _data.Psu2Fan));
                byte[] b7  = Encoding.Default.GetBytes(string.Format("/{0}", _data.Psu2Use));
                byte[] b8  = Encoding.Default.GetBytes(string.Format("/{0}", _data.SystemDown));
                byte[] b9  = Encoding.Default.GetBytes(string.Format("/{0}", _data.BattUse));
                byte[] b10 = Encoding.Default.GetBytes(string.Format("/{0}", _data.BattState));
                byte[] b11 = Encoding.Default.GetBytes(string.Format("/{0}", _data.Door));
                byte[] b12 = Encoding.Default.GetBytes(string.Format("/{0}", _data.Reset));
                byte[] b13 = Encoding.Default.GetBytes(string.Format("/{0}", _data.FwVer));
                byte[] b14 = Encoding.Default.GetBytes(string.Format("/{0}", _data.FwDate));
                byte[] b15 = Encoding.Default.GetBytes(string.Format("/{0}", _data.EwsCh));
                byte[] b16 = Encoding.Default.GetBytes(string.Format("/{0}", _data.TdmbLv));
                byte[] b17 = Encoding.Default.GetBytes(string.Format("/{0}", _data.SdmbLv));
                byte[] b18 = Encoding.Default.GetBytes(string.Format("/{0}", _data.CdmaLv));
                byte[] b19 = Encoding.Default.GetBytes(string.Format("/{0}", _data.TdmbState));
                byte[] b20 = Encoding.Default.GetBytes(string.Format("/{0}", _data.SdmbState));
                byte[] b21 = Encoding.Default.GetBytes(string.Format("/{0}", _data.AmpSw));
                byte[] b22 = Encoding.Default.GetBytes(string.Format("/{0}", _data.AmpUse));
                byte[] b23 = Encoding.Default.GetBytes(string.Format("/{0}", _data.AmpChUse));
                byte[] b24 = Encoding.Default.GetBytes(string.Format("/{0}", _data.AmpLv));
                byte[] b25 = Encoding.Default.GetBytes(string.Format("/{0}", _data.AcVolt));
                byte[] b26 = Encoding.Default.GetBytes(string.Format("/{0}", _data.Dc5Volt));
                byte[] b27 = Encoding.Default.GetBytes(string.Format("/{0}", _data.Dc24Volt));
                byte[] b28 = Encoding.Default.GetBytes(string.Format("/{0}", _data.tempo));
                byte[] b29 = Encoding.Default.GetBytes(string.Format("/{0}", _data.ExAmp));
                byte[] eoh = new byte[] { 0x03, 0x04 };

                int dataLen = b1.Length + b2.Length + b3.Length + b4.Length + b5.Length + b6.Length + b7.Length + b8.Length + b9.Length + b10.Length + b11.Length + b12.Length + b13.Length + b14.Length + b15.Length
                              + b16.Length + b17.Length + b18.Length + b19.Length + b20.Length + b21.Length + b22.Length + b23.Length + b24.Length + b25.Length + b26.Length + b27.Length + b28.Length + b29.Length;

                len = Encoding.Default.GetBytes(string.Format("{0:000}", dataLen));

                arr = new byte[8 + dataLen];
                int cnt = 0;

                Buffer.BlockCopy(soh, 0, arr, 0, soh.Length);
                Buffer.BlockCopy(len, 0, arr, soh.Length, len.Length);
                arr[soh.Length + len.Length] = cmd;
                Buffer.BlockCopy(b1, 0, arr, soh.Length + len.Length + 1, b1.Length);
                cnt += soh.Length + len.Length + 1 + b1.Length;
                Buffer.BlockCopy(b2, 0, arr, cnt, b2.Length);
                cnt += b2.Length;
                Buffer.BlockCopy(b3, 0, arr, cnt, b3.Length);
                cnt += b3.Length;
                Buffer.BlockCopy(b4, 0, arr, cnt, b4.Length);
                cnt += b4.Length;
                Buffer.BlockCopy(b5, 0, arr, cnt, b5.Length);
                cnt += b5.Length;
                Buffer.BlockCopy(b6, 0, arr, cnt, b6.Length);
                cnt += b6.Length;
                Buffer.BlockCopy(b7, 0, arr, cnt, b7.Length);
                cnt += b7.Length;
                Buffer.BlockCopy(b8, 0, arr, cnt, b8.Length);
                cnt += b8.Length;
                Buffer.BlockCopy(b9, 0, arr, cnt, b9.Length);
                cnt += b9.Length;
                Buffer.BlockCopy(b10, 0, arr, cnt, b10.Length);
                cnt += b10.Length;
                Buffer.BlockCopy(b11, 0, arr, cnt, b11.Length);
                cnt += b11.Length;
                Buffer.BlockCopy(b12, 0, arr, cnt, b12.Length);
                cnt += b12.Length;
                Buffer.BlockCopy(b13, 0, arr, cnt, b13.Length);
                cnt += b13.Length;
                Buffer.BlockCopy(b14, 0, arr, cnt, b14.Length);
                cnt += b14.Length;
                Buffer.BlockCopy(b15, 0, arr, cnt, b15.Length);
                cnt += b15.Length;
                Buffer.BlockCopy(b16, 0, arr, cnt, b16.Length);
                cnt += b16.Length;
                Buffer.BlockCopy(b17, 0, arr, cnt, b17.Length);
                cnt += b17.Length;
                Buffer.BlockCopy(b18, 0, arr, cnt, b18.Length);
                cnt += b18.Length;
                Buffer.BlockCopy(b19, 0, arr, cnt, b19.Length);
                cnt += b19.Length;
                Buffer.BlockCopy(b20, 0, arr, cnt, b20.Length);
                cnt += b20.Length;
                Buffer.BlockCopy(b21, 0, arr, cnt, b21.Length);
                cnt += b21.Length;
                Buffer.BlockCopy(b22, 0, arr, cnt, b22.Length);
                cnt += b22.Length;
                Buffer.BlockCopy(b23, 0, arr, cnt, b23.Length);
                cnt += b23.Length;
                Buffer.BlockCopy(b24, 0, arr, cnt, b24.Length);
                cnt += b24.Length;
                Buffer.BlockCopy(b25, 0, arr, cnt, b25.Length);
                cnt += b25.Length;
                Buffer.BlockCopy(b26, 0, arr, cnt, b26.Length);
                cnt += b26.Length;
                Buffer.BlockCopy(b27, 0, arr, cnt, b27.Length);
                cnt += b27.Length;
                Buffer.BlockCopy(b28, 0, arr, cnt, b28.Length);
                cnt += b28.Length;
                Buffer.BlockCopy(b29, 0, arr, cnt, b29.Length);
                cnt += b29.Length;
                Buffer.BlockCopy(eoh, 0, arr, cnt, eoh.Length);
            }
            catch (Exception ex)
            {
                Console.Write(string.Format("\n[{0}] BattResponseData GetToByte Exception", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
                arr = null;
            }

            return(arr);
        }