|
- Участник
- Здесь с 21.12.2018
- Сообщений: 19
|
консультация по коммутации входов и программному обеспечению
Добрый день! Купили у Вас Е-502 для ООО "Неоген". Вопрос: Е-502 предполагается использовать как осциллограф лабораторный для отображения сигнала с ультразвукового приемника, записью файла и кое-какой обработкой. У пьезоприемника экран сидит на общей массе-земле, где и минус питания 12 В для Е-502 от аккумулятора. Можно ли для использования диф. входа контакт AGND подсоединить к общему корпусу-земле (между ними около 1,5 В)? Иначе не работает синхронизация по фронту имп. (имп. подается на вход DI_SYN1 относительно общей массы-земли). В данный момент работаем с программой LGraph2, все проверяем на ней. Но программа не вполне устраивает. Вопрос: можно ли для простых применений где либо найти код управления Е-502 для vb.net для написания своей программы, потому что изучать все руководство программиста достаточно сложно, а операция по сути простая - отправить команду и получить в ответ данные измерения. Возможно, кто-то из Ваших программистов готов помочь? Не делать всю программу, а обеспечить коммутацию-управление Е-502 с компьютером. Будем очень благодарны, оплатим. Можем подъехать, так как находимся недалеко. Заранее спасибо за ответ!
|
|
- Сотрудник "Л Кард"
- Здесь с 17.04.2014
- Сообщений: 1,293
|
Re: консультация по коммутации входов и программному обеспечению
Добрый день. Отвечу по программным вопросам. Все существующие примеры выложены на http://www.lcard.ru/support/developer, там помимо прочего есть пример на C# (http://www.lcard.ru/download/examples/l … 502_cs.zip), который также относится к платформе .Net Framework, т.е. в vb.net можно использовать тот же класс. Пример и API модуля сделаны так, что позволяют полностью менять все доступные настройки и т.п.. Если это действительно слишком сложно, и Вы хотите, чтобы Вам написали на vb.net какой-то класс с более простым интерфейсом, выполняющим только нужный Вам набор функций, то Вы можете описать этот набор функциональности или даже лучше описать набор функций класса, который нужно реализовать, а также сроки, и в таком виде отправить письмо в отдел продаж в виде запроса на разработку, тогда можно будет определить возможность такой реализации и прочие вопросы.
|
|
- Инженер-электронщик
- Откуда: "Л Кард"
- Здесь с 21.04.2014
- Сообщений: 4,597
|
Re: консультация по коммутации входов и программному обеспечению
Здравствуйте. Для консультации по подключению не хватает следующих данных: 1. О какой конкретно модификации Е-502 идёт речь (полное название на этикетке снизу корпуса)? 2. Тип пьезокерамического датчика с желательной ссылкой на его документацию. Датчик - со встроенным предусилителем? 3. Максимально полная формулировки задачи измерения, в частности: - Сколько каналов АЦП, ЦАП, цифрового в/в модуля E-502 будут использованы и для какой цели? - Какая максимальная удалённость датчиков от E-502? - Какие физические величины требуется измерять с помощью пьезокерамического датчика? 4. Тип ПК? 5. По какому интерфейсу будете работать (USB, Ethernet)? 6. Удалённость E-502 от ПК? 7. К какому ещё оборудованию будет подключён E-502? 8. Про аккумулятор, питающий E-502 и датчик, подробнее: тип аккумулятора, что ещё будет питаться от этого же аккумулятора, от чего будет запитан ПК? 9. Какая цепь в Вашей системе будет играть роль земли, и как будет соединяться всё оборудование (включая E-502 и ПК) с этой цепью? 10. Условия эксплуатации оборудования - лабораторные? Подробнее, желательно... 11. Какой источник сигнала синхронизации будете использовать, его электрические характеристики? Какие процессы требуется синхронизировать?
|
|
- Участник
- Здесь с 21.12.2018
- Сообщений: 19
|
Re: консультация по коммутации входов и программному обеспечению
Добрый вечер! 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.
|
|
- Инженер-электронщик
- Откуда: "Л Кард"
- Здесь с 21.04.2014
- Сообщений: 4,597
|
Re: консультация по коммутации входов и программному обеспечению
Сергей, по схеме подключения: 1. Ваши сообщения противоречивы (в первом шла речь о ультразвуковом приёмнике, во втором - о системе излучения-приёма на основе одного и того же датчика). Но электрофизически и, с точки зрения вопросов подключения, которыми Вы интересуетесь, - это совершенно разные задачи. 2. По совокупности технических вопросов первого и второго сообщения (а также по описанию задачи), Ваш вопрос о схеме подключения в такой системе - это в чистом виде вопрос уровня разработки Вашей системы - формату техподдержки по E-502 такой вопрос категорически не соответствует! А, по сути, Вам нужен электронщик, который разработает весь электрический уровень системы и, при необходимости, задаст вопрос техподдерже L-Card о технических характеристиках и возможностях E-502, если ему будет недостаточно информации в нашей общедоступной документации по E-502. Но, если Вы готовы обсуждать данные вопросы в контесте "заказа на разработку", обратитесь в наш отдел продаж для начала обсуждения заказа. - Формату "заказа на разработку" Ваши вопросы соответствуют в точности!
|
|
- Участник
- Здесь с 21.12.2018
- Сообщений: 19
|
Re: консультация по коммутации входов и программному обеспечению
ну, а если простой вопрос: можно ли соединить минус по питанию с AGND у Е502?
|
|
- Инженер-электронщик
- Откуда: "Л Кард"
- Здесь с 21.04.2014
- Сообщений: 4,597
|
Re: консультация по коммутации входов и программному обеспечению
"Минус по питанию" - это в руководстве http://www.lcard.ru/download/e-502_users_guide.pdf цепь 0V (цепь нулевого потенциала низковольтного входа питания E-502). Согласно п. 4.2, цепи 0V и AGND гальванически изолированы. С одной стороны, любое соединение цепей "общих проводов" устройств допустимо, если не превышать предельно допустимые сквозные токи по общим проводам (п. 4.5, табл. 4-4), не превышать рабочее напряжение гальванической изоляции (условно до 100 В) и не превышать допустимые напряжения на входах-выходах (п. 4.5, табл. 4-3). С другой стороны, с точки зрения принципов электросовместимости при соединении приборов ( http://www.lcard.ru/download/lcardconnects.pdf ) данное соединение разнородных цепей (сигнальная цепь общего провода с цепью питания) может быть корректным только в одном случае: если точка их соединения - единственная и является общей точкой сигнального заземления всей измерительной системы. В противном случае, Вы получите пролезание помех из цепи питания в цепь измерения.
Отредактировано Гарманов Александр (25.12.2018 18:26:26)
|
|
- Участник
- Здесь с 21.12.2018
- Сообщений: 19
|
Re: консультация по коммутации входов и программному обеспечению
Спасибо, очень доходчиво! Мне нужно еще кое-что уточнить по программе. В данной программе (http://www.lcard.ru/download/examples/l … 502_cs.zip) на C# также идет сбор потока данных, только они не отображаются на графике? И не сохраняются?
|
|
- Инженер-электронщик
- Откуда: "Л Кард"
- Здесь с 21.04.2014
- Сообщений: 4,597
|
Re: консультация по коммутации входов и программному обеспечению
Поскольку Вы будете применять USB, то у Вас цепь GND E-502 будет связана с компьютером через USB. Чтобы не ответвлять динамические токи питания из цепи 0V в цепь GND и в USB, рекомендую использовать отдельный изолированный источник питания для E-502, например, входящий в комплект поставки.
|
|
- Участник
- Здесь с 21.12.2018
- Сообщений: 19
|
Re: консультация по коммутации входов и программному обеспечению
Спасибо, очень доходчиво! Мне нужно еще кое-что уточнить по программе. В данной программе (http://www.lcard.ru/download/examples/l … 502_cs.zip) на C# также идет сбор потока данных, только они не отображаются на графике? И не сохраняются? Если так, то где в программе лучше этот поток вычленить, чтобы сохранить и воспользоваться им?
|
|
- Сотрудник "Л Кард"
- Здесь с 17.04.2014
- Сообщений: 1,293
|
Re: консультация по коммутации входов и программному обеспечению
Да, все правильно. Собирается весь поток, но отображение всех данных не сделано (т.к. демонстрируется именно сбор). Обработка потока данных должна идти после вызова функции ProcessData() в примере. После вызова ProcessData очередные отсчеты содержатся в adcData (adcSize отсчетов). Соответственно это отсчеты от всех каналов в порядке первый отсчет первого разрешенного, первый отсчет второго разрешенного канала ... первый отсчет N-го канала, второй отсчет первого канала и т.д.
|
|
- Участник
- Здесь с 21.12.2018
- Сообщений: 19
|
Re: консультация по коммутации входов и программному обеспечению
Добрый день! Спасибо за помощь, кажется все получается. Уточните, пожалуйста, вопрос чтения данных в программе (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);
|
|
- Сотрудник "Л Кард"
- Здесь с 17.04.2014
- Сообщений: 1,293
|
Re: консультация по коммутации входов и программному обеспечению
Добрый день. Под внешней синхронизацией от DI_SYN1 подразумевается внешний сигнал синхронизации старта или внешняя частота синхронизации (какое поле настроек изменяется)? Что за сигнал подается на DI_SYN1? Можно немного подробней, что подразумевается под "В усеченном виде"? Recv() возвращает значение меньше чем при внутренней синхронизации?
|
|
- Участник
- Здесь с 21.12.2018
- Сообщений: 19
|
Re: консультация по коммутации входов и программному обеспечению
Синхроимпульс от контроллера 5В, 1 млсек. Частота 20 Гц, то есть всего 20 раз в сек. Хотим, чтобы этот имп. являлся стартовым для процесса оцифровки высокочастотного сигнала (до 100 кГц), то есть, чтобы вся развертка начиналась с него (или массив данных). Подаем на вход DI_SIN1 - 37 й, устанавливаем -источник запуска синхронного ввода/вывода по фронту DI_SIN1, но Источник частоты синхронизации остается - внутренний, данные стартуют при подаче синхроимпульса, но синхронизация отсутствует. То есть обычный большой массив без привязки к какой-то команде - старт. Причем, после старта импульс запуска уже не влияет на работу, данные идут постоянно. Выбираем в - Источник частоты синхронизации тоже от DI_SIN1 по фронту, частота сбора данных сильно замедляется, количество данных всего 40 - 70 в массиве, но зато они синхронизированы от начала массива. Получается без внешнего источника частоты синхронизации 2 МГц, получить привязку начала массива к синхроимпульсу не получится? (От входа - внешнего мастера тоже самое). Просим помощи!
|
|
- Сотрудник "Л Кард"
- Здесь с 17.04.2014
- Сообщений: 1,293
|
Re: консультация по коммутации входов и программному обеспечению
Когда Вы включаете источник частоты синхронизации от DI_SYN1, то у Вас сбор отсчетов идет с этой внешней частотой, соответственно логично, что частота сбора уменьшается как и количество отсчетов. В Вашем случае у Вас должно быть около 20 отсчетов в сек. Т.е. для Вашей задачи синхронизация частоты должна быть внутренняя. Синхронизация старта же работает таким образом, что модуль ожидает первого фронта на DI_SYN1, после чего начинает сбор данных с внутренней частотой. При этом сам он автоматически не останавливается, т.е. действительно реагирует только на первый импульс. При этом самое начало сбора должно быть привязано к фронту сигнала на DI_SYN1 (с заданными в руководстве задержками). Если нужно собрать заданное число слов по фронту на DI_SYN и далее ожидать следующего фронта, то сделать это можно двумя способами: 1. Останавливать и перезапускать сбор каждый раз после приема заданного числа отчетов. Это простой способ, но если останов-запуск не успеет произойти до следующего импульса, то сбор кадра по нему будет потерян. 2. Запустить синхронный ввод как с АЦП так и с цифровых линий, при этом на цифровых линиях можно выставить частоту равной частоте кадра. При этом анализировать в принятых данных с цифровых линий бит, соответствующий входу на который подается сигнал синхронизации. Если нет перепада, то данные АЦП все отбрасываются. Если есть перепад и он произошел в N-слове, то N первых кадров из принятых отбрасываются, а остальные передаются на вывод. Далее как на вывод будет передано нужное число слов, Вы снова начинаете отбрасывать данные с АЦП и следить за перепадом состояния DIN в потоке. Т.е. сделать по сути фильтрацию данных АЦП на основе синхронно снятого состояния нужного входа.
|
|
- Участник
- Здесь с 21.12.2018
- Сообщений: 19
|
Re: консультация по коммутации входов и программному обеспечению
Спасибо! Маленькое уточнение для решения 1, для остановки и следующего запуска надо ведь отправить команду в Е-502? А если так, то с какой частотой максимальной можно собирать данные? Процесс остановки сейчас довольно затяжной.
|
|
- Участник
- Здесь с 21.12.2018
- Сообщений: 19
|
Re: консультация по коммутации входов и программному обеспечению
Добрый день. А Вы можете уточнить, может быть все же в Е-502 реализован режим работы по импульсу запуска и останов после выдачи массива измерений, ведь это обычный режим для любого осциллографа?
|
|
- Сотрудник "Л Кард"
- Здесь с 17.04.2014
- Сообщений: 1,293
|
Re: консультация по коммутации входов и программному обеспечению
Аппаратно такой режим к сожалению не поддерживается. Останов сбора идет только по команде с ПК. Для варианта 1 нужно вызывать StreamsStop и снова StreamsStart (конфигурацию заново делать не нужно).
|
|
- Участник
- Здесь с 21.12.2018
- Сообщений: 19
|
Re: консультация по коммутации входов и программному обеспечению
Добрый день! Спасибо за ответы. Остались некоторые уточняющие вопросы для общего понимания. Мы сделали как Вы посоветовали и получили в режиме внешнего источника запуска и внутренней частоты синхронизации около 2 ответов (массивов данных) в сек. Как Вы думаете это для устройства максимальная частота ответов или можно побороться еще? И еще, если не затруднит, нужна последовательность действий или команда асинхронной выдачи любого числа на цифровой выход DO1 - DO16 для изучения этой функции. Спасибо!
|
|
- Участник
- Здесь с 21.12.2018
- Сообщений: 19
|
Re: консультация по коммутации входов и программному обеспечению
Второй вопрос снимается, разобрались.
|
|
- Участник
- Здесь с 21.12.2018
- Сообщений: 19
|
Re: консультация по коммутации входов и программному обеспечению
Добрый день! Вы все таки можете приблизительно оценить максимальную скорость выдачи массивов измерений в режиме от внешнего запуска и внутренней частоты синхронизации максимальной 2000000, с программной остановкой и последующим новым внешним запуском. Хоть примерно, чтобы знать к чему стремиться.
|
|
- Сотрудник "Л Кард"
- Здесь с 17.04.2014
- Сообщений: 1,293
|
Re: консультация по коммутации входов и программному обеспечению
Добрый день. Я сделал тест у себя на ПК, получилось, что запуск занимает 40-70 мс (разброс видимо связан с разбросом задержек Windows при выполнении запросов к драйверу), останов - 5 мс, задержка приема - 25 мс (т.е. время приема блока 25 + время, за которое принимаются отсчеты), итого в моем случае получилось 70-100 мс задержки + собственно время блока, которому соответствуют принимаемые данные, т.е. если я делал старт - прием 20 тыс отсчетов (соответствует 10 мс на 2МГц) + стоп, то цикл занимал 80-110 мс. Это время может зависеть от конкретного ПК и ОС, но я проверял на старой машине еще и с Win10, так что эти времена скорее всего в большинстве случаев достижимы. Если нужно быстрее и не зависеть от ПК, то тогда уже придется использовать второй вариант.
Отредактировано Алексей L Card (15.01.2019 12:33:16)
|
|
- Сотрудник "Л Кард"
- Здесь с 17.04.2014
- Сообщений: 1,293
|
Re: консультация по коммутации входов и программному обеспечению
Это получилось на L-502. Забыл, что у Вас E-502. Для E-502 останов получается значительно больше. Времена получились 32-42, 1 и 215-410 мс соответственно (при работе по USB). Так что Ваш результат похож на правду. В общем частый минимизация времени старта и стопа не было основной задачей. Если это время важно, тогда лучше как уже писал реализовывать фильтрацией данных по значению цифрового входа.
|
|
- Участник
- Здесь с 21.12.2018
- Сообщений: 19
|
Re: консультация по коммутации входов и программному обеспечению
Спасибо! Маленькое уточнение, а программа, написанная для Е-502 подойдет для работы с L-502? Коды управления такие же?
|
|
- Сотрудник "Л Кард"
- Здесь с 17.04.2014
- Сообщений: 1,293
|
Re: консультация по коммутации входов и программному обеспечению
Если использовать библиотеку, то функции работы с модулями одинаковые, т.к. различия скрывает библиотека (только для получения списка устройств на Usb и PCIE отдельные функции). Пример написан как раз так, что он может работать и с E-502 и L-502 (список найденных модулей E-502 и L-502 объединяется при выборе, а дальше все функции одинаковы).
|