Пример #1
0
        /**
         * 获取压力数据的tag信息
         * **/
        private byte[] getWaterMeterTag(Dictionary <String, String> settings)
        {
            int flag = 0;

            byte[] result = new byte[this.getWaterMeterTagCount(settings)];

            //获取采集开始时间
            if (settings.ContainsKey("waterMeter_stime"))
            {
                byte[] oid1             = { 0x10, 0x00, 0x01, 0x04, 0x00, 0x02 };
                String sl_stime         = settings["waterMeter_stime"];
                Int16  stime1           = (Int16)(Convert.ToInt16(sl_stime.Substring(0, 2)) * 60 + Convert.ToInt16(sl_stime.Substring(3, 2)));
                byte[] btime1           = BitConverter.GetBytes(stime1);
                byte[] setting_sl_stime = new byte[8];
                oid1.CopyTo(setting_sl_stime, 0);
                setting_sl_stime[6] = btime1[1];
                setting_sl_stime[7] = btime1[0];
                setting_sl_stime.CopyTo(result, flag);
                flag = flag + 8;
            }

            if (settings.ContainsKey("waterMeter_period"))
            {
                //周期
                String yw_per         = settings["waterMeter_period"];
                byte[] yw_oid7        = { 0x10, 0x00, 0x00, 0x62, 0x00, 0x02 };
                Int16  per            = (Convert.ToInt16(yw_per));
                byte[] yw_bper        = BitConverter.GetBytes(per);
                byte[] setting_yw_per = new byte[8];
                yw_oid7.CopyTo(setting_yw_per, 0);
                setting_yw_per[6] = yw_bper[1];
                setting_yw_per[7] = yw_bper[0];
                setting_yw_per.CopyTo(result, flag);
                flag = flag + 8;
            }

            SystemTimeConfig sysTimeConfig = new SystemTimeConfig(null);

            byte[] btConfig = sysTimeConfig.getConfig(new byte[0]);
            btConfig.CopyTo(result, flag);

            return(result);
        }
Пример #2
0
        /**
         * 获取液位数据的tag信息
         * **/
        private byte[] getYWTag(Dictionary <String, String> settings)
        {
            int flag = 0;

            byte[] result = new byte[getYWTagCount(settings)];
            if (settings.ContainsKey("yw_itr"))
            {
                //采集间隔
                byte[] yw_oid2        = { 0x10, 0x00, 0x01, 0x05, 0x00, 0x02 };
                String yw_itr         = settings["yw_itr"];
                Int16  yw_sitr1       = (Convert.ToInt16(yw_itr));
                byte[] yw_bsitr1      = BitConverter.GetBytes(yw_sitr1);
                byte[] setting_yw_itr = new byte[8];
                yw_oid2.CopyTo(setting_yw_itr, 0);
                setting_yw_itr[6] = yw_bsitr1[1];
                setting_yw_itr[7] = yw_bsitr1[0];
                setting_yw_itr.CopyTo(result, flag);
                flag = flag + 8;
            }

            if (settings.ContainsKey("yw_cnt"))
            {
                //采集次数
                String yw_cnt         = settings["yw_cnt"];
                byte[] yw_oid3        = { 0x10, 0x00, 0x01, 0x06, 0x00, 0x02 };
                Int16  yw_scnt1       = (Convert.ToInt16(yw_cnt));
                byte[] yw_bscnt1      = BitConverter.GetBytes(yw_scnt1);
                byte[] setting_yw_cnt = new byte[8];
                yw_oid3.CopyTo(setting_yw_cnt, 0);
                setting_yw_cnt[6] = yw_bscnt1[1];
                setting_yw_cnt[7] = yw_bscnt1[0];
                setting_yw_cnt.CopyTo(result, flag);
                flag = flag + 8;
            }

            if (settings.ContainsKey("yw_rept"))
            {
                //重试次数
                String sl_rept = settings["yw_rept"];
                byte[] oid4    = { 0x10, 0x00, 0x00, 0x0A, 0x00, 0x01 };
                byte   rept    = (Convert.ToByte(sl_rept));
                //byte[] brept = BitConverter.GetBytes(rept);
                byte[] setting_sl_rept = new byte[7];
                oid4.CopyTo(setting_sl_rept, 0);
                setting_sl_rept[6] = rept;
                //setting_sl_rept[7] = brept[0];
                setting_sl_rept.CopyTo(result, flag);
                flag = flag + 7;
            }

            if (settings.ContainsKey("yw_reset"))
            {
                //重启
                String yw_reset         = settings["yw_reset"];
                byte[] oid5             = { 0x10, 0x00, 0x00, 0x61, 0x00, 0x01 };
                byte   reset            = (Convert.ToByte(yw_reset));
                byte[] setting_yw_reset = new byte[7];
                oid5.CopyTo(setting_yw_reset, 0);
                setting_yw_reset[6] = reset;
                setting_yw_reset.CopyTo(result, flag);
                flag = flag + 7;
            }

            if (settings.ContainsKey("yw_height"))
            {
                //高度
                String yw_height         = settings["yw_height"];
                byte[] oid6              = { 0x10, 0x00, 0x00, 0x60, 0x00, 0x04 };
                float  height            = (Convert.ToSingle(yw_height));
                byte[] bHeight           = BitConverter.GetBytes(height);
                byte[] setting_yw_height = new byte[10];
                oid6.CopyTo(setting_yw_height, 0);
                setting_yw_height[6] = bHeight[0];
                setting_yw_height[7] = bHeight[1];
                setting_yw_height[8] = bHeight[2];
                setting_yw_height[9] = bHeight[3];
                setting_yw_height.CopyTo(result, flag);
                flag = flag + 10;
            }

            if (settings.ContainsKey("yw_period"))
            {
                //周期
                String yw_per         = settings["yw_period"];
                byte[] yw_oid7        = { 0x10, 0x00, 0x00, 0x62, 0x00, 0x02 };
                Int16  per            = (Convert.ToInt16(yw_per));
                byte[] yw_bper        = BitConverter.GetBytes(per);
                byte[] setting_yw_per = new byte[8];
                yw_oid7.CopyTo(setting_yw_per, 0);
                setting_yw_per[6] = yw_bper[1];
                setting_yw_per[7] = yw_bper[0];
                setting_yw_per.CopyTo(result, flag);
                flag = flag + 8;
            }

            SystemTimeConfig sysTimeConfig = new SystemTimeConfig(null);

            byte[] btConfig = sysTimeConfig.getConfig(new byte[0]);
            btConfig.CopyTo(result, flag);

            return(result);
        }
Пример #3
0
        /**
         * 获取噪声数据的tag信息
         * **/
        private byte[] getNosieTag(Dictionary <String, String> settings)
        {
            int flag = 0;
            int cc   = getNoiseTagCount(settings);

            byte[] result = new byte[cc];

            SystemTimeConfig sysTimeConfig = new SystemTimeConfig(null);

            byte[] btConfig = sysTimeConfig.getConfig(new byte[0]);
            btConfig.CopyTo(result, flag);
            flag = flag + 12;

            //获取采集开始时间
            if (settings.ContainsKey("sl_stime"))
            {
                byte[] oid1             = { 0x10, 0x00, 0x01, 0x04, 0x00, 0x02 };
                String sl_stime         = settings["sl_stime"];
                Int16  stime1           = (Int16)(Convert.ToInt16(sl_stime.Substring(0, 2)) * 60 + Convert.ToInt16(sl_stime.Substring(3, 2)));
                byte[] btime1           = BitConverter.GetBytes(stime1);
                byte[] setting_sl_stime = new byte[8];
                oid1.CopyTo(setting_sl_stime, 0);
                setting_sl_stime[6] = btime1[1];
                setting_sl_stime[7] = btime1[0];
                setting_sl_stime.CopyTo(result, flag);
                flag = flag + 8;
            }

            if (settings.ContainsKey("sl_itrl"))
            {
                //采集间隔
                byte[] oid2           = { 0x10, 0x00, 0x01, 0x05, 0x00, 0x02 };
                String sl_itr         = settings["sl_itrl"];
                Int16  sitr1          = (Convert.ToInt16(sl_itr));
                byte[] bsitr1         = BitConverter.GetBytes(sitr1);
                byte[] setting_sl_itr = new byte[8];
                oid2.CopyTo(setting_sl_itr, 0);
                setting_sl_itr[6] = bsitr1[1];
                setting_sl_itr[7] = bsitr1[0];
                setting_sl_itr.CopyTo(result, flag);
                flag = flag + 8;
            }

            if (settings.ContainsKey("sl_cnt"))
            {
                //采集次数
                String sl_cnt         = settings["sl_cnt"];
                byte[] oid3           = { 0x10, 0x00, 0x01, 0x06, 0x00, 0x02 };
                Int16  scnt1          = (Convert.ToInt16(sl_cnt));
                byte[] bscnt1         = BitConverter.GetBytes(scnt1);
                byte[] setting_sl_cnt = new byte[8];
                oid3.CopyTo(setting_sl_cnt, 0);
                setting_sl_cnt[6] = bscnt1[1];
                setting_sl_cnt[7] = bscnt1[0];
                setting_sl_cnt.CopyTo(result, flag);
                flag = flag + 8;
            }

            if (settings.ContainsKey("sl_rept"))
            {
                //重试次数
                String sl_rept         = settings["sl_rept"];
                byte[] oid4            = { 0x10, 0x00, 0x00, 0x0A, 0x00, 0x02 };
                Int16  rept            = (Convert.ToInt16(sl_rept));
                byte[] brept           = BitConverter.GetBytes(rept);
                byte[] setting_sl_rept = new byte[8];
                oid4.CopyTo(setting_sl_rept, 0);
                setting_sl_rept[6] = brept[1];
                setting_sl_rept[7] = brept[0];
                setting_sl_rept.CopyTo(result, flag);
                flag = flag + 8;
            }

            return(result);
        }