Синхронизация АЦП и счетчика на плате NI USB-6251

VISA, TCP/IP, USB, CAN, GPIB и подобные протоколы
Ответить
Fylhtq2u
beginner
beginner
Сообщения: 19
Зарегистрирован: 04 фев 2010, 19:32
Версия LabVIEW: 10, 11
Откуда: Таганрог

Синхронизация АЦП и счетчика на плате NI USB-6251

Сообщение Fylhtq2u »

Добрый день!

Есть плата NI USB-6251.
На нее поступают меандры с углового энкодера на счетчик в режиме измерения позиции (X4) и аналоговый сигнал на АЦП.
Сбор данных с этих устройств происходит в произвольный момент времени (по запросу программы).

Такой вопрос:
Как выполнить измерение аналогового сигнала и положение энкодера в один момент времени?

Первоначальная задумка была такая:
При запуске АЦП (ai/StartTrigger) подается сигнал на счетчик (ArmStart) для снятия его показаний.
Однако таким образом сконфигурировать плату не вышло.

Как правильно запрограммировать плату?
Или как еще можно засинхронизировать АЦП и счечик.

Описание платы и программа на LV2010 прилагается.
Вложения
counter2.vi
LV2010
(35.26 КБ) 126 скачиваний
User Manual_USB-6251 (M Series).pdf
(8.78 МБ) 156 скачиваний
Аватара пользователя
Andrew Lunev

Activity Professionalism
VIP
VIP
Сообщения: 957
Зарегистрирован: 11 дек 2010, 12:31
Награды: 2
Версия LabVIEW: 2014-2021
Откуда: Москва
Благодарил (а): 4 раза
Поблагодарили: 10 раз

Re: Синхронизация АЦП и счетчика на плате NI USB-6251

Сообщение Andrew Lunev »

Задачка у вас не стандартная, но, как мне кажется, решаемая.
Используйте буферизированные измерения с счетчика. Как это делается показано на рисунке. На вход Source подайте AI Sample Clock, тогда на каждое измерение АЦП значение регистра счетчика будет передаваться в буфер. Вам остается только в цикле считывать эти буферы и обрабатывать. Каждое измерение счетчика будет аппаратно привязано к тактам АЦП.
Вложения
CNTtime.png
Fylhtq2u
beginner
beginner
Сообщения: 19
Зарегистрирован: 04 фев 2010, 19:32
Версия LabVIEW: 10, 11
Откуда: Таганрог

Re: Синхронизация АЦП и счетчика на плате NI USB-6251

Сообщение Fylhtq2u »

Сегодня смог проверить работу платы в непрерывном режиме считывания, как было предложено выше.
Постоянно появлялась ошибка -200279 при считывании данных.
Как я понял ошибка возникала при считывании данных с буфера, когда они еще не доступны.
Исправить эту ошибку помогла следующая ссылка: http://digital.ni.com/public.nsf/allkb/ ... 80006F0E62.
Может быть кому-то пригодится пример программы, как это было сделано.

Основная задача была решена.
Спасибо Андрею Луневу за подсказку.
Вложения
counter3.vi
LV2010
(456.94 КБ) 137 скачиваний
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Коммуникация с приборами»