Российский производитель и разработчик сертифицированного измерительного оборудования с 1987 года

Форум

Вы не вошли.

 Поиск | Регистрация | Вход 

#1 Re: Техническая поддержка » консультация по коммутации входов и программному обеспечению » 14.05.2019 22:39:29

Добрый день! Спасибо за ответы, вроде все получается. Есть небольшие недостатки при синхронизации. Если запуск от внешнего имп., то развертка стоит как мертвая, все четко. А если работа в режиме внутреннего запуска и синхронизация по имп. на цифровом входе, то картинка иногда подрагивает, как бы срыв синхронизации. Не сильно, а на 10 - 20 точек по горизонтали. Для синхронизации и в том и другом случае используется один и тот же имп. и вход один. Может у Вас есть советы какие-нибудь по этому вопросу?

#2 Re: Техническая поддержка » консультация по коммутации входов и программному обеспечению » 07.05.2019 22:24:04

Спасибо! А не подскажете где в принятом массиве искать этот перепад уровня сигнала по цифровой линии для обработки массива данных АЦП. Или как правильнее в программе осуществить эту синхронизацию. Когда я считал количество циклов в режиме непрерывных преобразований, то получилось 3,7 в сек, не сильно быстрее, чем в режиме внешнего старта.

#3 Re: Техническая поддержка » консультация по коммутации входов и программному обеспечению » 06.05.2019 20:50:12

Добрый день!
Продолжая заниматься обработкой данных Е-502, хочу уточнить непонятный программный вопрос.  Нас по прежнему интересует скорость преобразования. Следуя Вашему совету сделал синхронизацию потока по импульсу с цифрового входа, но скорость обмена данными также мала  и составляет 3,5 кадра в сек в режиме непрерывного преобразования. В связи с этим возникла идея: можно ли использовать асинхронный ввод кадра, получаем по асинхр. входу с цифровой линии имп. и сразу выполняем команду асинхр. ввод кадра. Скорость выдачи кадров уже должна быть существенная, более 10 Гц, так как ее можно задать от таймера.
Вот это код:   
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 = "";

                    }
                }

            }

        }
Только этот оператор читает одно первое значение, а не массив?   Правильно я понимаю? И можно ли в режиме асинхронного ввода кадра АЦП, задав срабатывание по таймеру, получить массив данных целиком (кадр)?
Может так сработать? Помогите пожалуйста.

#4 Re: Техническая поддержка » консультация по коммутации входов и программному обеспечению » 03.04.2019 13:20:43

Добрый день! А уточните пож. модификацию модуля L-502..., с которым Вы тестировали скорость (ПУНКТ 23).
В отделе продаж нам написали:  Уточните модификацию: http://www.lcard.ru/products/boards/l-5 … =2#qt-ltab
L-502-P-EU-D - такой модификации никогда не было.
А мы хотели купить именно L-502..., на котором Вы тестировали (сейчас у нас Е-502-P-EU-D)/

#6 Re: Техническая поддержка » консультация по коммутации входов и программному обеспечению » 02.04.2019 13:04:15

Добрый день! А помогите пож. 15й ответ 2й пункт,( 2. Запустить синхронный ввод как с АЦП так и с цифровых линий, при этом на цифровых линиях можно выставить частоту равной частоте кадра. )  не вполне ясно, как выставить частоту на цифр. линиях равную частоте кадра. Не получается, синхронизировать чтение данных по имп. с цифрового входа.  И еще а L-502 ЕСТЬ В НАЛИЧИИ?

#7 Re: Техническая поддержка » консультация по коммутации входов и программному обеспечению » 15.01.2019 18:47:06

Спасибо!  Маленькое уточнение, а программа, написанная для Е-502 подойдет для работы с L-502? Коды управления такие же?

#8 Re: Техническая поддержка » консультация по коммутации входов и программному обеспечению » 14.01.2019 13:40:58

Добрый день! Вы все таки можете приблизительно оценить максимальную скорость выдачи массивов измерений в режиме от внешнего запуска и внутренней частоты синхронизации максимальной 2000000, с программной остановкой и последующим новым внешним запуском. Хоть примерно, чтобы знать к чему стремиться.

#10 Re: Техническая поддержка » консультация по коммутации входов и программному обеспечению » 13.01.2019 12:51:58

Добрый день! Спасибо за ответы. Остались некоторые уточняющие вопросы для общего понимания.
Мы сделали как Вы посоветовали и получили в режиме внешнего источника запуска и внутренней частоты синхронизации около 2 ответов (массивов данных) в сек. Как Вы думаете это для устройства максимальная частота ответов или можно побороться еще?
И еще, если не затруднит, нужна последовательность действий или команда асинхронной выдачи любого числа на цифровой выход DO1 - DO16 для изучения этой функции.
Спасибо!

#11 Re: Техническая поддержка » консультация по коммутации входов и программному обеспечению » 10.01.2019 12:41:14

Добрый день. А Вы можете уточнить, может быть все же в Е-502 реализован режим работы по импульсу запуска и останов после выдачи массива измерений, ведь это обычный режим для любого осциллографа?

#12 Re: Техническая поддержка » консультация по коммутации входов и программному обеспечению » 09.01.2019 20:43:48

Спасибо! Маленькое уточнение для решения 1, для остановки и следующего запуска надо ведь отправить команду в Е-502? А если так, то с какой частотой максимальной можно собирать данные? Процесс остановки сейчас довольно затяжной.

#13 Re: Техническая поддержка » консультация по коммутации входов и программному обеспечению » 09.01.2019 18:52:58

Синхроимпульс от контроллера  5В, 1 млсек. Частота 20 Гц, то есть всего 20 раз в сек. Хотим, чтобы этот имп. являлся стартовым для процесса оцифровки высокочастотного сигнала (до 100 кГц), то есть, чтобы вся развертка начиналась с него (или массив данных).  Подаем на вход DI_SIN1 - 37 й, устанавливаем -источник запуска синхронного ввода/вывода по фронту DI_SIN1, но Источник частоты синхронизации остается - внутренний, данные стартуют при подаче синхроимпульса, но синхронизация отсутствует. То есть обычный большой массив без привязки к какой-то команде - старт. Причем, после старта импульс запуска уже не влияет на работу, данные идут постоянно. Выбираем в  - Источник частоты синхронизации тоже от DI_SIN1 по фронту, частота сбора данных сильно замедляется, количество данных всего 40 - 70 в массиве, но зато они синхронизированы от начала массива. Получается без внешнего источника частоты синхронизации 2 МГц, получить привязку начала массива к синхроимпульсу не получится? (От входа - внешнего мастера тоже самое). Просим помощи!

#14 Re: Техническая поддержка » консультация по коммутации входов и программному обеспечению » 09.01.2019 11:46:20

Добрый день!
Спасибо за помощь, кажется все получается.
Уточните, пожалуйста, вопрос чтения данных  в программе (http://www.lcard.ru/download/examples/l … 502_cs.zip) на C#.
В режиме внутренней синхронизации данные читаются нормально и все получается. А в режиме внешней синхронизации от DI_SYN1 данные передаются, но читаются не полностью, а в очень усеченном виде. Это код из вашей программы, может быть там кое-что не так. Спасибо!
                     /* принимаем данные синхронного ввода */
                    Int32 rcv_size = hnd.Recv(rcv_buf, RECV_BUF_SIZE, RECV_TOUT);
                    /* значение меньше нуля означает ошибку... */
                    if (rcv_size < 0)
                        err = (lpcie.Errs)rcv_size;
                    else if (rcv_size > 0)
                    {
                        /* если больше нуля - значит приняли новые данные */
                        dinSize = RECV_BUF_SIZE;
                        adcSize = RECV_BUF_SIZE;
                        /* получаем номер лог. какнала, соответствующий первому
                            отсчету АЦП, так как до этого могли обработать
                            некратное количество кадров */
                        firstLch = hnd.NextExpectedLchNum;
     
                        /* разбираем данные на синхронный ввод и отсчеты АЦП и
                            переводим АЦП в Вольты */
                        err = hnd.ProcessData(rcv_buf, (uint)rcv_size, X502.ProcFlags.VOLT,
                                              adcData, ref adcSize, dinData, ref dinSize);

#15 Re: Техническая поддержка » консультация по коммутации входов и программному обеспечению » 26.12.2018 11:00:40

Спасибо, очень доходчиво!
Мне нужно еще кое-что уточнить по программе.
В данной программе (http://www.lcard.ru/download/examples/l … 502_cs.zip) на C# также идет сбор потока данных, только они не отображаются на графике? И не сохраняются?  Если так, то где в программе лучше этот поток вычленить, чтобы сохранить и воспользоваться им?

#16 Re: Техническая поддержка » консультация по коммутации входов и программному обеспечению » 25.12.2018 18:36:32

Спасибо, очень доходчиво!
Мне нужно еще кое-что уточнить по программе.
В данной программе (http://www.lcard.ru/download/examples/l … 502_cs.zip) на C# также идет сбор потока данных, только они не отображаются на графике? И не сохраняются?

#18 Re: Техническая поддержка » консультация по коммутации входов и программному обеспечению » 25.12.2018 10:22:43

Добрый вечер!
1. Модель E-502-P-EU-D.
2. Тип пьезокерамического датчика П111-0,1-М26, без предусилителя (одни и те
же на излучение и прием).
3. Задействованы 2 канала АЦП и 2 канала ЦАП (для передачи команд в
излучатель), каналы АЦП - регистрация кривой развертки принятого сигнала,
запись его в txt формате (или другом) в файл, обработка-накопление и
сохранение.
Удаленность макс 3 метра, экранированный кабель, оплетка - это земля и
сигнал по центральной жиле. Регистрируется упругая деформация образца,
затухание и т.д., то есть скоростные параметры.
4. Ноутбук с автономным питанием, и питание Е-502 тоже автономное, так как
измерения в полях.
5. Связь по USB (пока в отладочном проекте).
6. Комп рядом с АЦП (1-2 м) .
7. Через Е-502 планируем управлять включением и регулировкой частоты
импульсов излучения источника через ЦАП по двум проводам (в устройстве еще
предусмотрен контроллер для управления излучателем).
8. ПК питается от своего автономного источника (полевой вариант), один
аккумулятор свинцовый малогабаритный 7 А.Ч. для питания Е-502 (потребление
400 мА/час), второй такой же для питания излучателя (потребление 300
мА/час).
9. Общая земля - это минус питания аккумулятора, все экраны
пьезокерамических излучателей-приемников, минус питания излучателя и Е-502
(все проверено и работает).
10. Условия в основном полевые, данное изделие планируется использовать в
море на судне, весь комплект оборудования помещается в специальный кейс,
комп тоже спец. исполнения.  Windows 7.
11. Источник синхронизации - импульс  5В, выдаваемый управляющим
контроллером в момент подачи имп. разрядки на силовые тиристоры (их 2).  Это
начало оцифровки, затем через определенное время фиксируется сигнал через
среду, он есть у вас в описании программы LGrag2, типичный сигнал от
сейсмоприемника. То есть на экране мы видим повторяющуюся фиксированную
развертку. Период и амплитуду выбираем такими, чтобы вошел весь сигнал.
Уровень сигнала с датчика без усилителя вроде достаточный.  Вот таким
образом каждое изл. фиксируется, заносится в память, суммируется со
следующим (накопление) и так столько раз, сколько необходимо для анализа,
количеством излучений управляет оператор через программу. Фактически, это
микросейсмическая установка.
Это действительно первое изделие, опытный образец. Хотелось бы все учесть.
Е-502 выбрали именно потому, что есть возможность программно управлять
излучателем.  Силовая часть готова, работает нормально, наводок нет, хотя
напряжение накачки 2 кВ. На приемнике в проге LGrag2 тоже нормально
фиксируется сигнал, даже на диапазоне 5В. Только не синхронизируется, хотя
установлены спец. флажки, а подключить AGND или DGND на общую землю боимся,
что сгорит что-то на входе Е-502.

#19 Техническая поддержка » консультация по коммутации входов и программному обеспечению » 21.12.2018 14:03:06

Добрый день! 
Купили у Вас Е-502 для ООО "Неоген".
Вопрос: Е-502 предполагается использовать как осциллограф лабораторный для отображения сигнала с ультразвукового приемника, записью файла и кое-какой обработкой. У пьезоприемника экран сидит на общей массе-земле, где и минус питания 12 В для Е-502 от аккумулятора. Можно ли для использования диф. входа контакт AGND подсоединить к общему корпусу-земле (между ними около 1,5 В)? Иначе не работает синхронизация по фронту имп. (имп. подается на вход DI_SYN1 относительно общей массы-земли).
В данный момент работаем с программой LGraph2, все проверяем на ней. Но программа не вполне устраивает.
Вопрос: можно ли для простых применений где либо найти код управления Е-502 для vb.net для написания своей программы, потому что изучать все руководство программиста достаточно сложно, а операция по сути простая - отправить команду и получить в ответ данные измерения. Возможно, кто-то из Ваших программистов готов помочь? Не делать всю программу, а обеспечить коммутацию-управление Е-502 с компьютером. Будем очень благодарны, оплатим. Можем подъехать, так как находимся недалеко.
Заранее спасибо за ответ!

Контакты

Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4, стр. 2

Многоканальный телефон:
+7 (495) 785-95-25

Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru

Время работы: с 9-00 до 19-00 мск