Ejemplo n.º 1
0
        public void waveformAiCtrl1_DataReady(object sender, BfdAiEventArgs args)
        {
            try
            {
                //The WaveformAiCtrl has been disposed.
                if (waveformAiCtrl1.State == ControlState.Idle)
                {
                    return;
                }
                if (m_dataScaled.Length < args.Count)
                {
                    m_dataScaled = new double[args.Count];
                }

                ErrorCode err           = ErrorCode.Success;
                int       chanCount     = waveformAiCtrl1.Conversion.ChannelCount;
                int       sectionLength = waveformAiCtrl1.Record.SectionLength;
                err = waveformAiCtrl1.GetData(args.Count, m_dataScaled); //读取数据
                                                                         // Test.emmmm();//在此处调用一个其他类的静态函数来对数据进行处理。
                if (err != ErrorCode.Success && err != ErrorCode.WarningRecordEnd)
                {
                    HandleError(err);
                    return;
                }
                System.Diagnostics.Debug.WriteLine(args.Count.ToString());
            }
            catch (System.Exception) { }
        }
Ejemplo n.º 2
0
        public void waveformAiCtrl_DataReady(object sender, BfdAiEventArgs e)
        {
            Console.WriteLine(" Streaming AI data ready:count = {0},offset = {1} ", e.Count, e.Offset);
            Int32          returnedCount   = 0;
            WaveformAiCtrl waveformAiCtrl  = (WaveformAiCtrl)sender;
            Conversion     conversion      = waveformAiCtrl.Conversion;
            Record         record          = waveformAiCtrl.Record;
            int            channelCountMax = waveformAiCtrl.Features.ChannelCountMax;
            int            startChan       = conversion.ChannelStart;
            int            channelCount    = conversion.ChannelCount;
            int            sectionLengt    = record.SectionLength;
            int            getDataCount    = sectionLengt * channelCount;

            // buffer section length, when 'DataReady' event been signaled, driver renew data count is e.count.
            if (e.Count > channelCount)
            {
                double[] sectionBuffers = new double[getDataCount];
                getDataCount = Math.Min(getDataCount, e.Count);
                waveformAiCtrl.GetData(getDataCount, sectionBuffers, 0, out returnedCount);
                Console.Write("Streaming AI get data count is {0}", returnedCount);
                Console.WriteLine(" The first sample for each channel are:");
                DoChart1update(sectionBuffers);
                DoChart2update(sectionBuffers);
                DoChart3update(sectionBuffers);
                // for (int j = 0; j < channelCount; ++j)
                //{
                //   Console.WriteLine("  channel {0}: {1}", (j % channelCount + startChan) % channelCountMax, sectionBuffer[j]);
                //}
                //Console.WriteLine();
                //foreach (var sectionBuffer in sectionBuffers)
                //{
                //    Console.WriteLine("  channel {0}: {1}", (0 % channelCount + startChan) % channelCountMax, sectionBuffer);
                //}
            }
        }
Ejemplo n.º 3
0
 private void waveformAiCtrl1_Overrun(object sender, BfdAiEventArgs e)
 {
     if (m_isFirstOverRun)
     {
         MessageBox.Show("WaveformAiOverrun");
         m_isFirstOverRun = false;
     }
 }
Ejemplo n.º 4
0
 public void waveformAiCtrl_Overrun(object sender, BfdAiEventArgs e)
 {
     try
     {
         _log.Error("Data Overrun");
         //throw new Exception("Maybe one method or operation is busy.");
     }
     catch (Exception err)
     {
         _log.Error("Data Overrun");
         MessageBox.Show(err.Message);;
     }
 }
Ejemplo n.º 5
0
        public void BufferedReady(object e, BfdAiEventArgs b)
        {
            short[]   data = new short[b.Count];
            ErrorCode ret  = bufferedCtrl.GetData(b.Count, data);//data存放的是从采集卡得到的数据

            if (ret != ErrorCode.Success)
            {
                lock (locker)
                {
                    this.data = null;
                    readADInternal.Set();
                }
            }

            lock (locker)
            {
                this.data = data.Select(o => (ushort)o).ToArray();
                readADInternal.Set();
            }
        }
Ejemplo n.º 6
0
        private void waveformAiCtrl1_DataReady(object sender, BfdAiEventArgs e)
        {
            double[]  data = new double[e.Count];
            ErrorCode er   = waveformAiCtrl1.GetData(e.Count, data);

            if (er != ErrorCode.Success)
            {
                return;
            }

            lock (locker)
            {
                for (int i = 0; i < data.Length; i += 4)
                {
                    double[] temp = new double[4];
                    for (int j = 0; j < 4; j++)
                    {
                        temp[j] = data[i + j];
                    }
                    dataFromBuffAI.Add(temp);
                }
            }
        }
Ejemplo n.º 7
0
        public void waveformAiCtrl_DataReady(object sender, BfdAiEventArgs e)
        {
            try
            {
                Int32          returnedCount   = 0;
                WaveformAiCtrl waveformAiCtrl  = (WaveformAiCtrl)sender;
                Conversion     conversion      = waveformAiCtrl.Conversion;
                Record         record          = waveformAiCtrl.Record;
                int            channelCountMax = waveformAiCtrl.Features.ChannelCountMax;
                int            startChan       = conversion.ChannelStart;
                int            channelCount    = conversion.ChannelCount;
                int            sectionLengt    = record.SectionLength;
                int            getDataCount    = sectionLengt * channelCount;

                // buffer section length, when 'DataReady' event been signaled, driver renew data count is e.count.
                if (e.Count > channelCount)
                {
                    double[] sectionBuffers = new double[getDataCount];
                    getDataCount = Math.Min(getDataCount, e.Count);
                    waveformAiCtrl.GetData(getDataCount, sectionBuffers, 0, out returnedCount);

                    /* Filter
                     * //sectionBuffers = SF.Bandpassfilter(sectionBuffers, convertClkRate, lowcutoff, highcutoff);
                     * //sectionBuffers = SF.Butterworth(sectionBuffers, convertClkRate, 100);
                     */
                    DoTimeChartupdate(sectionBuffers);
                    DoFFTChartupdate(sectionBuffers);
                    DoMaxChartupdate(sectionBuffers);
                }
            }
            catch (Exception err)
            {
                _log.Error("Failed to Data Collection---" + err.Message);
                MessageBox.Show(err.Message);;
            }
        }
Ejemplo n.º 8
0
 private void waveformAiCtrl1_CacheOverflow(object sender, BfdAiEventArgs e)
 {
     MessageBox.Show("WaveformAiCacheOverflow");
 }
Ejemplo n.º 9
0
        private void waveformAiCtrl1_DataReady(object sender, BfdAiEventArgs args)
        {
            try
            {
                if (waveformAiCtrl1.State == ControlState.Idle)
                {
                    return;
                }

                if (m_dataScaled.Length < args.Count)
                {
                    m_dataScaled = new double[args.Count];
                }

                ErrorCode err           = ErrorCode.Success;
                int       chanCount     = waveformAiCtrl1.Conversion.ChannelCount;
                int       sectionLength = waveformAiCtrl1.Record.SectionLength;
                err = waveformAiCtrl1.GetData(args.Count, m_dataScaled);

                if (err != ErrorCode.Success && err != ErrorCode.WarningRecordEnd)
                {
                    HandleError(err);
                    return;
                }

                this.Invoke(new Action(() =>
                {
                    arrSumData = new double[chanCount];

                    for (int i = 0; i < sectionLength; i++)
                    {
                        arrData = new string[chanCount];

                        for (int j = 0; j < chanCount; j++)
                        {
                            int cnt        = i * chanCount + j;
                            arrData[j]     = m_dataScaled[cnt].ToString("F1");
                            arrSumData[j] += m_dataScaled[cnt];
                            //Console.WriteLine("j ke " + j + " arrsumdata :" + arrSumData[j] + " m_datascaled: " + m_dataScaled[cnt] + " cnt: " + cnt + " chancount: " + chanCount);
                        }
                    }

                    arrAvgData = new string[arrSumData.Length];

                    for (int i = 0; i < arrSumData.Length; i++)
                    {
                        arrAvgData[i] = (arrSumData[i] / sectionLength).ToString("F1");

                        //label3.Text = arrAvgData[2];
                        //Console.WriteLine("i ke " + i + " arrsumdata :" + arrSumData[i]);
                        dataCount++;
                    }

                    dataPrint[0] = Convert.ToDouble(arrAvgData[0]) * factor_baca;
                    dataPrint[1] = Convert.ToDouble(arrAvgData[1]) * factor_baca;
                    dataPrint[2] = Convert.ToDouble(arrAvgData[2]) * factor_baca;

                    label1.Text = dataPrint[0].ToString();
                    label2.Text = dataPrint[1].ToString();

                    if (dataPrint[0] > max_x_1)
                    {
                        max_x_1 = dataPrint[0];
                    }

                    if (dataPrint[0] < min_x_1)
                    {
                        min_x_1 = dataPrint[0];
                    }

                    if (dataPrint[0] > max_x_2)
                    {
                        max_x_2 = dataPrint[1];
                    }

                    if (dataPrint[0] < min_x_2)
                    {
                        min_x_2 = dataPrint[1];
                    }

                    if (dataPrint[1] > max_y)
                    {
                        max_y = dataPrint[2];
                    }

                    if (dataPrint[1] < min_y)
                    {
                        min_y = dataPrint[2];
                    }

                    //chartXY.Series[0].Points.AddXY(arrAvgData[0], arrAvgData[1]);

                    label9.Text  = max_x_1.ToString();
                    label10.Text = min_x_1.ToString();
                    label11.Text = max_y.ToString();
                    label12.Text = min_y.ToString();

                    if (checkBox_holdX.Checked && firstChecked)
                    {
                        last_x_holdX = last_x;

                        //last_x_0 = dataPrint[0];
                        //last_x_1 = dataPrint[1];
                        //last_x = dataCount.ToString();
                        firstChecked = false;
                    }

                    //plotChart(arrAvgData);
                }));

                Console.WriteLine(dataCount / 3);
            }

            catch
            {
                MessageBox.Show("nilai x dan y salah!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Ejemplo n.º 10
0
 public void waveformAiCtrl_Overrun(object sender, BfdAiEventArgs e)
 {
     Console.WriteLine("Streaming AI is Over run ! ");
     //throw new Exception("Maybe one method or operation is busy.");
 }
Ejemplo n.º 11
0
        private void waveformAiCtrl1_DataReady(object sender, BfdAiEventArgs args)
        {
            try
            {
                if (waveformAiCtrl1.State == ControlState.Idle)
                {
                    return;
                }
                if (m_dataScaled.Length < args.Count)
                {
                    m_dataScaled = new double[args.Count];
                }

                //Console.WriteLine(args.Count);

                ErrorCode err           = ErrorCode.Success;
                int       chanCount     = waveformAiCtrl1.Conversion.ChannelCount;
                int       sectionLength = waveformAiCtrl1.Record.SectionLength;
                err = waveformAiCtrl1.GetData(args.Count, m_dataScaled);

                if (err != ErrorCode.Success && err != ErrorCode.WarningRecordEnd)
                {
                    HandleError(err);
                    return;
                }
                //System.Diagnostics.Debug.WriteLine(args.Count.ToString());

                this.Invoke(new Action(() =>
                {
                    arrSumData = new double[chanCount];
                    //listViewAi.BeginUpdate();

                    for (int i = 0; i < sectionLength; i++)
                    {
                        arrData = new string[chanCount];
                        for (int j = 0; j < chanCount; j++)
                        {
                            int cnt        = i * chanCount + j;
                            arrData[j]     = m_dataScaled[cnt].ToString("F3");
                            arrSumData[j] += m_dataScaled[cnt];
                            //Console.WriteLine("j ke " + j + " arrsumdata :" + arrSumData[j] + " m_datascaled: " + m_dataScaled[cnt] + " cnt: " + cnt + " chancount: " + chanCount);
                        }
                        //addListViewItems(listViewAi, arrData);
                    }
                    arrAvgData = new string[arrSumData.Length];

                    for (int i = 0; i < arrSumData.Length; i++)
                    {
                        arrAvgData[i] = (arrSumData[i] / sectionLength).ToString("F3");
                        //ValueX1.Text = arrAvgData[0];
                        //ValueY.Text = arrAvgData[1];
                        //label3.Text = arrAvgData[2];
                        //Console.WriteLine("i ke " + i + " arrsumdata :" + arrSumData[i]);
                        dataCount++;
                    }

                    dataBalance[0] = (Convert.ToDouble(arrAvgData[0]) * factor_baca_x_1);
                    dataBalance[1] = (Convert.ToDouble(arrAvgData[1]) * factor_baca_x_2);
                    dataBalance[2] = (Convert.ToDouble(arrAvgData[2]) * factor_baca_y);

                    dataPrint[0] = (Convert.ToDouble(arrAvgData[0]) * factor_baca_x_1) - balance_1;
                    dataPrint[1] = (Convert.ToDouble(arrAvgData[1]) * factor_baca_x_2) - balance_2;
                    dataPrint[2] = (Convert.ToDouble(arrAvgData[2]) * factor_baca_y) - balance_3;

                    if (checkBox_invertX1.Checked)
                    {
                        dataPrint[0] = -(dataPrint[0]);
                    }
                    if (checkBox_invertX2.Checked)
                    {
                        dataPrint[1] = -(dataPrint[1]);
                    }
                    if (checkBox_invertY.Checked)
                    {
                        dataPrint[2] = -(dataPrint[2]);
                    }

                    if (recordData)
                    {
                        if (check1.Checked && !check2.Checked)
                        {
                            dataPrint[1] = 0;
                        }
                        else if (check2.Checked && !check1.Checked)
                        {
                            dataPrint[0] = 0;
                        }

                        StreamWriter sw = new StreamWriter(File.Text, append: true);

                        sw.WriteLine("{0},{1},{2},{3}", DateTime.Now.ToString("hh:mm:ss:fff"), dataPrint[0] - balance_1, dataPrint[1] - balance_2, dataPrint[2] - balance_3);

                        sw.Close();
                        recCount++;
                    }


                    ValueX1.Text = (dataPrint[0]).ToString();
                    ValueX2.Text = (dataPrint[1]).ToString();
                    ValueY.Text  = (dataPrint[2]).ToString();

                    //channel 0
                    if (dataPrint[0] > max_x_1)
                    {
                        max_x_1 = dataPrint[0];
                    }

                    if (dataPrint[0] < min_x_1)
                    {
                        min_x_1 = dataPrint[0];
                    }

                    //channel 1
                    if (dataPrint[1] > max_x_2)
                    {
                        max_x_2 = dataPrint[1];
                    }

                    if (dataPrint[1] < min_x_2)
                    {
                        min_x_2 = dataPrint[1];
                    }

                    //channel 2
                    if (dataPrint[2] > max_y)
                    {
                        max_y = dataPrint[2];
                    }

                    if (dataPrint[2] < min_y)
                    {
                        min_y = dataPrint[2];
                    }

                    //chartXY.Series[0].Points.AddXY(arrAvgData[0], arrAvgData[1]);

                    MaxX1.Text = max_x_1.ToString();
                    MinX1.Text = min_x_1.ToString();
                    MaxX2.Text = max_x_2.ToString();
                    minX2.Text = min_x_2.ToString();
                    MaxY.Text  = max_y.ToString();
                    MinY.Text  = min_y.ToString();

                    if (checkBox_holdX.Checked && firstChecked)
                    {
                        last_x_0 = dataPrint[0];
                        last_x_1 = dataPrint[1];
                        //last_x = dataCount.ToString();
                        firstChecked = false;
                    }

                    plotChart(dataPrint);
                    textBox_stopwatch.Text = watch.Elapsed.ToString("hh\\:mm\\:ss\\.f");

                    if (checkBox_holdX.Checked)
                    {
                        recordData = false;
                        watch.Stop();
                        watch_holdx.Stop();
                        watch_holdx.Reset();
                        timer_hold.Stop();
                    }
                    if (!checkBox_holdX.Checked)
                    {
                        recordData = true;
                        watch.Start();
                        timer_hold.Start();
                        watch_holdx.Start();
                    }
                }));
                Console.WriteLine(dataCount / 3);
            }
            catch
            {
                MessageBox.Show("Terjadi kesalahan saat akuisisi data. Silahkan restart program", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                this.Close();
            }
        }
        private void waveformAiCtrl1_DataReady(object sender, BfdAiEventArgs args)
        {
            ErrorCode err = ErrorCode.Success;

            try
            {
                //The WaveformAiCtrl has been disposed.
                if (waveformAiCtrl1.State == ControlState.Idle)
                {
                    return;
                }
                if (m_dataScaled.Length < args.Count)
                {
                    m_dataScaled = new double[args.Count];
                }

                int chanCount     = waveformAiCtrl1.Conversion.ChannelCount;
                int sectionLength = waveformAiCtrl1.Record.SectionLength;
                err = waveformAiCtrl1.GetData(args.Count, m_dataScaled);//读取数据
                //Console.WriteLine("length:" + m_dataScaled.Length);

                DateTime t = DateTime.Now;
                //
                t = t.AddSeconds(-1.0);//采集到的是一秒钟之前的数据,因此需要对当前的时间减去1s
                t.ToString("yyyy-MM-dd hh:mm:ss:fff");
                safetyDelegate mes = new safetyDelegate(systemInfoactive);
                try { Invoke(mes, t.ToString("yyyy-MM-dd hh:mm:ss:fff")); }
                catch { }
                //Console.WriteLine("time:" + t.ToString("yyyy-MM-dd hh:mm:ss:fff"));
                for (int i = 0; i < m_dataScaled.Length; i += 15)
                {
                    Qc    = Math.Round(m_dataScaled[i + 0], 2);
                    Qh    = Math.Round(m_dataScaled[i + 1], 2);
                    Qm    = Math.Round(m_dataScaled[i + 2], 2);
                    Tc    = Math.Round(m_dataScaled[i + 3], 2);
                    Th    = Math.Round(m_dataScaled[i + 4], 2);
                    Tm    = Math.Round(m_dataScaled[i + 5], 2);
                    Pc    = Math.Round(m_dataScaled[i + 6], 2);
                    Ph    = Math.Round(m_dataScaled[i + 7], 2);
                    Pm    = Math.Round(m_dataScaled[i + 8], 2);
                    Qm5   = Math.Round(m_dataScaled[i + 9], 2);
                    Temp1 = Math.Round(m_dataScaled[i + 10], 2);
                    Temp2 = Math.Round(m_dataScaled[i + 11], 2);
                    Temp3 = Math.Round(m_dataScaled[i + 12], 2);
                    Temp4 = Math.Round(m_dataScaled[i + 13], 2);
                    Temp5 = Math.Round(m_dataScaled[i + 14], 2);
                    if (startFlag)
                    {
                        dt.Rows.Add(t.ToString("yyyy-MM-dd hh:mm:ss:fff"),
                                    Qc,
                                    Qh,
                                    Qm,
                                    Tc,
                                    Th,
                                    Tm,
                                    Pc,
                                    Ph,
                                    Pm,
                                    Qm5);
                    }

                    t = t.AddMilliseconds(10.0);
                }

                myDelegate md = new myDelegate(dataReadyUpdateForm);
                this.Invoke(md);

                if (err != ErrorCode.Success && err != ErrorCode.WarningRecordEnd)
                {
                    HandleError(err);
                    return;
                }
                System.Diagnostics.Debug.WriteLine("读取数据长度" + args.Count.ToString());
            }
            catch (System.Exception) { HandleError(err); }
        }
Ejemplo n.º 13
0
 private void waveformAiCtrl1_Overrun(object sender, BfdAiEventArgs e)
 {
     Console.WriteLine("waveformAiCtrl1_Overrun");
 }
Ejemplo n.º 14
0
        private void waveformAiCtrl1_DataReady(object sender, BfdAiEventArgs args)
        {
            ErrorCode err = ErrorCode.Success;

            bpqreturn_value = Math.Round(bpqMR.read_short("8451", 2) / 100.0, 2);
            try
            {
                //The WaveformAiCtrl has been disposed.
                if (waveformAiCtrl1.State == ControlState.Idle)
                {
                    return;
                }
                if (m_dataScaled.Length < args.Count)
                {
                    m_dataScaled = new double[args.Count];
                }

                int chanCount     = waveformAiCtrl1.Conversion.ChannelCount;
                int sectionLength = waveformAiCtrl1.Record.SectionLength;
                err = waveformAiCtrl1.GetData(args.Count, m_dataScaled);//读取数据
                DateTime t = DateTime.Now;
                //
                t = t.AddSeconds(-1);
                t.ToString("yyyy-MM-dd hh:mm:ss:fff");
                for (int i = 0; i < m_dataScaled.Length; i += 4)
                {
                    if (startFlag)
                    {
                        PRESURE = Math.Round(m_dataScaled[i] + (double)Properties.Settings.Default.m压力, 2);
                        dt.Rows.Add(t.ToString("yyyy-MM-dd hh:mm:ss:fff"),
                                    Math.Round(m_dataScaled[i] + (double)Properties.Settings.Default.m压力, 2),
                                    Math.Round(m_dataScaled[i + 1] + (double)Properties.Settings.Default.m冲击力, 2),
                                    Math.Round(m_dataScaled[i + 2] + (double)Properties.Settings.Default.m温度, 2));
                        m_dataScaled[i]     += (double)Properties.Settings.Default.m压力;
                        m_dataScaled[i + 1] += (double)Properties.Settings.Default.m冲击力;
                        m_dataScaled[i + 2] += (double)Properties.Settings.Default.m温度;
                        if (Math.Round(m_dataScaled[i], 2) >= (double)startThreshold.Value)//当压力大于某个数值开始 计按下工件的延时
                        {
                            pushFlag = true;
                        }
                        if (maxPressure < Math.Round(m_dataScaled[i], 2))
                        {
                            maxPressure = Math.Round(m_dataScaled[i], 2);
                        }
                        if (maxHammer < Math.Round(m_dataScaled[i + 1], 2))
                        {
                            maxHammer = Math.Round(m_dataScaled[i + 1], 2);
                        }
                        if (pushedFlag && Math.Round(m_dataScaled[i], 2) <= (double)stopThreshold.Value)//当压力小于等于某个数值,停止向缓冲区写数据
                        {
                            startFlag  = false;
                            pushFlag   = false;
                            pushedFlag = false;
                            exit       = true;
                        }
                    }
                    t = t.AddMilliseconds(1.0);
                }

                myDelegate md = new myDelegate(setText);
                try
                {
                    if (this.IsHandleCreated)
                    {
                        this.Invoke(md, new object[] { m_dataScaled });
                    }
                }
                catch { }
                if (err != ErrorCode.Success && err != ErrorCode.WarningRecordEnd)
                {
                    HandleError(err);
                    return;
                }
                System.Diagnostics.Debug.WriteLine(args.Count.ToString());
            }
            catch (System.Exception) { HandleError(err); }
        }
Ejemplo n.º 15
0
 public void waveformAiCtrl1_CacheOverflow(object sender, BfdAiEventArgs e)
 {
 }
 private void waveformAiCtrl1_CacheOverflow(object sender, BfdAiEventArgs e)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 17
0
 public void waveformAiCtrl1_Overrun(object sender, BfdAiEventArgs e)
 {
 }
        private void waveformAiCtrl1_DataReady(object sender, BfdAiEventArgs args)
        {
            Console.WriteLine("halooooooooooooooooooooo");
            try
            {
                //The WaveformAiCtrl has been disposed.
                if (waveformAiCtrl1.State == ControlState.Idle)
                {
                    return;
                }
                if (m_dataScaled.Length < args.Count)
                {
                    m_dataScaled = new double[args.Count];
                }

                ErrorCode err           = ErrorCode.Success;
                int       chanCount     = waveformAiCtrl1.Conversion.ChannelCount;
                int       sectionLength = waveformAiCtrl1.Record.SectionLength;
                err = waveformAiCtrl1.GetData(args.Count, m_dataScaled);

                if (err != ErrorCode.Success && err != ErrorCode.WarningRecordEnd)
                {
                    HandleError(err);
                    return;
                }
                System.Diagnostics.Debug.WriteLine(args.Count.ToString());

                this.Invoke(new Action(() =>
                {
                    arrSumData = new double[chanCount];
                    //listViewAi.BeginUpdate();

                    for (int i = 0; i < sectionLength; i++)
                    {
                        arrData = new string[chanCount];
                        for (int j = 0; j < chanCount; j++)
                        {
                            int cnt        = i * chanCount + j;
                            arrData[j]     = m_dataScaled[cnt].ToString("F4");
                            arrSumData[j] += m_dataScaled[cnt];
                            Console.WriteLine("j ke " + j + " arrsumdata :" + arrSumData[j] + " m_datascaled: " + m_dataScaled[cnt] + " cnt: " + cnt + " chancount: " + chanCount);
                        }
                        //addListViewItems(listViewAi, arrData);
                    }

                    arrAvgData = new string[arrSumData.Length];

                    for (int i = 0; i < arrSumData.Length; i++)
                    {
                        arrAvgData[i] = (arrSumData[i] / sectionLength).ToString("F4");
                        ValueY1.Text  = arrAvgData[0];
                        //label2.Text = arrAvgData[1];
                        //label3.Text = arrAvgData[2];
                        //Console.WriteLine("i ke " + i + " arrsumdata :" + arrSumData[i]);
                        chartXY.Series[0].Points.AddY(arrAvgData[0]);
                    }
                    //editListViewItems(listViewAi, 0, arrAvgData);

                    //listViewAi.EndUpdate();
                }));
            }
            catch (System.Exception) { }
        }