예제 #1
0
 public double GetValueV(L502Ch _channel, LCard502Pars _parsLCard502Pars, ref bool _ret)
 {
     if (IsStarted)
     {
         _ret = false;
         return(0);
     }
     double[] buf = new double[1];
     LoadSettings(_parsLCard502Pars, new L502Ch[] { _channel });
     _ret = !CheckError(hnd.AsyncGetAdcFrame(L502.ProcFlags.VOLT, 1000, buf));
     pr("GetValueV=" + buf.ToString());
     return(buf[0]);
 }
예제 #2
0
파일: MainForm.cs 프로젝트: res2001/x502api
        private void btnAsyncAdcFrame_Click(object sender, EventArgs e)
        {
            if (hnd != null)
            {
                /* устанавливаем параметры модуля */
                lpcie.Errs err = setupParams();

                if (err != lpcie.Errs.OK)
                {
                    MessageBox.Show(X502.GetErrorString(err), "Ошибка настройки параметров АЦП",
                                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                }

                if (err == lpcie.Errs.OK)
                {
                    UInt32 lch_cnt = hnd.LChannelCount;

                    /* Создаем массив для приема количества отсчетов, равному количеству
                     * логических каналов */
                    double[] adc_data = new double[lch_cnt];
                    err = hnd.AsyncGetAdcFrame(X502.ProcFlags.VOLT, 1000, adc_data);
                    if (err != lpcie.Errs.OK)
                    {
                        MessageBox.Show(X502.GetErrorString(err), "Ошибка приема кадра АЦП",
                                        MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    else
                    {
                        /* выводим результат */
                        edtLCh1_Result.Text = adc_data[0].ToString("F7");
                        if (lch_cnt >= 2)
                        {
                            edtLCh2_Result.Text = adc_data[1].ToString("F7");
                        }
                        else
                        {
                            edtLCh2_Result.Text = "";
                        }

                        if (lch_cnt >= 3)
                        {
                            edtLCh3_Result.Text = adc_data[2].ToString("F7");
                        }
                        else
                        {
                            edtLCh3_Result.Text = "";
                        }
                    }
                }
            }
        }