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


E20-10В и запуск по уровню

Вы не вошли.

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

Sergey
11.06.2008 08:20:59
#1

Гость

E20-10В и запуск по уровню

Здравствуйте! Как корректно запустить сбор данных по уровню сигнала в Е20-10 (В), простая установка требуемых параметров в примере приводит к TimeOut-y. Какие параметры прописать для ReadData?

11.06.2008 09:49:13
#2

Сотрудник "Л Кард"
Здесь с 24.04.2014
Сообщений: 1,535

Re: E20-10В и запуск по уровню

Timeout следует использовать только тогда, когда Вы примерно знаете сколько времени должен занять сбор заданного кол-ва данных. В ином случае, когда время сбора не определено, нужно бесконечно долго ожидать завершения запроса, используя для этого одну из стандартных WinAPI функций: либо WaitForSingleObject() с INFINITE, либо GetOverlappedResult(), либо HasOverlappedIoCompleted().

Sergey
11.06.2008 10:57:56
#3

Гость

Re: E20-10В и запуск по уровню

Спасибо, понятно. Вот какой вылез момент - при просмотре данные на канале, который используется как синхронизирующий, они "выпрямленные", т.е. только положительные. На других каналах - вроде нормальные.

11.06.2008 11:51:19
#4

Сотрудник "Л Кард"
Здесь с 24.04.2014
Сообщений: 1,535

Re: E20-10В и запуск по уровню

Если выбрать синхронизацию по уровню и на все каналы подать один и тотже синус, то все данные должны быть "выпрямленные". Если иначе - что-то не то с модулем.

Sergey
11.06.2008 12:04:16
#5

Гость

Re: E20-10В и запуск по уровню

Да, если сигнал один и тот-же, то везде "выпрямленные", если разные то вроде не везде, но с какими-то искажениями. Вы не могли бы описать логику работы модуля в этом режиме и что собственно происходит с данными?

Sergey
11.06.2008 12:17:42
#6

Гость

Re: E20-10В и запуск по уровню

Кажется нашел в руководстве ответ на свой вопрос )) Но дело в том, что мне нужно получать не только данные, которые превысили порог, но и некоторую "пред- и послеисторию" сигнала. Я полагал, что при запуске по уровню будет собрано N кадров непрерывных данных, после чего будет останов...

11.06.2008 13:31:07
#7

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: E20-10В и запуск по уровню

Sergey. Смысл режима "по уровню" в этом и заключается, чтобы по уровню выполнять запуск/останов без каких-нибудь дополнительных условий.
Если требуется останавливать по факту сбора N кадров, тогда используйте запуск по фронту/спаду (переходу через заданный уровень в выбранном канале).

Sergey
11.06.2008 14:26:15
#8

Гость

Re: E20-10В и запуск по уровню

Спасибо, уже что-то получается. Однако, очередные грабли - запуск почему-то происходит только когда SynchroPars.StopAfterNKadrs равен нулю, но тогда запускается и льет непрерывно. Если этот параметр не равен нулю - запуска не происходит вообще.

11.06.2008 15:05:31
#9

Сотрудник "Л Кард"
Здесь с 24.04.2014
Сообщений: 1,535

Re: E20-10В и запуск по уровню

При работе в этом режиме следует быть внимательным. Если у Вас условие синхронизации выполняется однократно, а размер запроса  NumberOfWordsToPass больше чем StopAfterNKadrs, то с очевидностью запрос не завершится.

Sergey
11.06.2008 15:21:07
#10

Гость

Re: E20-10В и запуск по уровню

Так, понятно. Уменьшил DataStep, увеличил StopAfterNKadrs, данные пришли. Но у меня как раз условие синхронизации выполняется многократно, а сбор останавливается почему-то после получения первой пачки данных и больше не возобновляется.

11.06.2008 16:17:14
#11

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: E20-10В и запуск по уровню

Sergey. В принципе, в сегодняшней реализации программируемой логики E20-10 после получения запрошенного N кадров данных E20-10 останавливается и ждёт рестарта с верхнего программного уровня. При этом, время рестарта составит порядка десятка миллисекунд (зависит от загрузки компьютера).
Другое дело, если такое время реакции Вас принципиально не устраивает, то вполне реально дополнить E20-10 функцией аппаратного рестарта (аналогично тому, как это сделано при работе "по уровню"), правда такое обновление прошивки E20-10 может быть сделано не очень быстро (скажем, за 1-2 месяца).
Какое минимальное время рестарта E20-10 после сбора N кадров Вам необходимо?

Sergey
11.06.2008 17:34:59
#12

Гость

Re: E20-10В и запуск по уровню

Получается, что в моей задаче после сбора N кадров рестарт должен быть мгновенный, и если сигнал еще присутствует, то сбор должен быть продолжен без останова и пропуска данных. Закладывать сразу большое кол-во кадров неоправдано, да и длительность регистрируемого процесса заранее не известна. Программно я реализовывал такой алгоритм - счетчик последних N кадров собираемых данных сбрасывался при появлении очередного признака запуска. Если признак запуска больше не появляется в течении N кадров, то сбор останавливается. Но конечно очень хотелось бы возложить это на аппаратную часть. Но вот другая проблема (?) при аппаратной реализации - мне еще нужно фиксировать дату-время каждого регистрируемого процесса - может как-то зашивать в виде того-же маркера в данные? Но и предлагаемое Вами обновление прошивки  я бы подождал, спасибо.

11.06.2008 23:28:34
#13

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: E20-10В и запуск по уровню

Sergey. Возможность аппаратного рестарта после сбора N-кадров постараемся реализовать, поскольку эта функция вполне общеупотребительна, универсальна и поэтому вполне оправдана.

Теперь по поводу вставки в формат данных даты/времени:
1. Формат данных E20-10 не индексный, там нет естественного места для даты/времени.
2. Эта функция не является общеупотребительной (крайне экзотична)
Я думаю, что по этим причинам эта функция не будет реализована в E20-10.
С другой стороны, если Вы используете непрерывный сбор данных, время начала которого известно, то нестабильность частоты сбора данных в E20-10 составляет +-50 ppm (здесь учитываются все факторы нестабильности)-- это стабильность частоты хороших часов, и по сэмплам от E20-10 вполне можно отсчитывать время...

07.07.2008 15:49:46
#14

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: E20-10В и запуск по уровню

Sergey.
Высылаю Вам обещанную мной прошивку версии 02.00.04 для E20-10.
Эта прошивка, помимо остальных ранее декларированных функций E20-10,
реализует также режим сбора N кадров при запуске по переходу
снизу вверх (сверзу вниз) через заданный уровень сигнала в
выбранном канале, но этот режим теперь не требует программного рестарта сбора
следующих N-кадров, поскольку рестарт сбора данных
произойдёт автоматически (аппаратно).

Для повышения помехоустойчивости процесса синхронизации для всех
режимов "по переходу снизу вверх (сверзу вниз) через заданный уровень сигнала в
выбранном канале" введён гистерезис "по умолчанию"  +-4 значения кода АЦП
относительно установленного порога синхронизации.

Эта прошивка не требует какого-либо обновления библиотек и другого
программного обеспечения.

Сообщите пожалуйста результат Вашего тестирования этой прошивки.

Дальнейшие технические предложения по развитию функциональности E20-10
принимаются к рассмотрению!

Контакты

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

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

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

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