Запуск и остановка по триггеру

Захват, обработка и генерирование сигнала
Ответить
Darkagent
interested
interested
Сообщения: 3
Зарегистрирован: 09 сен 2013, 09:30
Версия LabVIEW: 2011

Запуск и остановка по триггеру

Сообщение Darkagent »

Доброго времени суток.

Подскажите, пожалуйста, как сделать запуск и остановку по триггеру? Есть АЦП NI usb-6363. Есть некие датчики, регистрирующие сигнал в течении каждого оборота двигателя. С них мы записываем сигнал. На валу двигателя есть датчик положения, с которого приходит TTL синхросигнал. Необходимо по первому синхросигналу начать запись данных с датчиков и по второму (когда сделает один оборот) закончить. Очень жесткая привязка по времени. Необходимо получить данные ровно от 1 оборота (ну или чем ближе это будет к правде тем лучше). Для понимания - регистрация сигнала с частотой 1ггц, частота вращения вала - 10-50кгц.

Я пытался сделать через триггеры: запуск задачи - настройка часов - start digital edge trigger - reference digital edge trigger - цикл считывания данных, но застрял т.к. данные либо теряются в кольцевом буфере, либо триггер вообще не срабатывает.
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Запуск и остановка по триггеру

Сообщение Borjomy_1 »

"Для понимания - регистрация сигнала с частотой 1ггц,"
NI USB-6363
NI X Series multifunction DAQ devices for USB provide a new level of performance with NI-STC3 timing and synchronization technology, NI Signal Streaming for high ... Analog Inputs: 32 SE/16 DIFF · 2 MS/s · 16 bits
Analog Outputs: 4 · 2.86 MS/s · 16 bits
Digital I/O: 48 DIO · 1 MHz
Counter/Timers: 4 · 32 bits · 100 MHz
Measurement Type: Digital, Frequency, Quadrature encoder, Voltage

Если предположить, что сигнал с частотой не 1 ГГц, а 1 МГц, то получается в лучшем случае 100 отсчетов на оборот. А такой объем в кольцевом буфере никак не может теряться.
Аватара пользователя
Andrew Lunev

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

Re: Запуск и остановка по триггеру

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

Запуск по триггеру делается элементарно, а вот про останов по триггеру первый раз слышу. Если получится реализовать такое на стандартном DAQmx, то расскажите как.
Однако, не понятно, зачем это надо.
Если хотите снять показания и потом их обработать, то совершенно не обязательно останавливать задачу в определенное время, лишние данные можно потом отрезать.
Если же хотите перезапускать задачу на каждом обороте, то это не получится делать даже с частотой 100 Гц.

Я бы вашу задачу делал на cRIO, там можно и запуск и останов сделать по сигналу с датчика оборотов.

Единственное, что можно сделать с вашей платой, это настроить сбор конечного числа точек с перезапуском старта по триггеру. То есть данные будут начинать собираться по срабатыванию триггера, но останавливаться через определенное время (кол-во точек). При следующем активном фронте с триггера данные снова начнут собираться. Это позволит сократить время на перезапуск задачи.
Darkagent
interested
interested
Сообщения: 3
Зарегистрирован: 09 сен 2013, 09:30
Версия LabVIEW: 2011

Re: Запуск и остановка по триггеру

Сообщение Darkagent »

Да, действительно, я описался. Так и получается, 100 точек на оборот

Вот что тут http://www.ni.com/white-paper/4329/en пишут:
Pretriggered Acquisition on a Digital Reference Trigger
Once the trigger signal is received, a specified number of points before and after the trigger are returned to the calling application (e.g., LabVIEW, C++, etc.) by the driver.

Таким образом он выдает такую длину сигнала, которая указа в samples per channel: pretriggered samples per channel до триггера и разницу после триггера. Т.е. это не один оборот, а больше.

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

Вот кусок той проги.
https://www.dropbox.com/s/9fghp2j81i9if ... %D0%B9.jpg

Триггер А запускает, триггер Б останавливает.

В данной задаче не важна скорость перезапуска. Главное собрать точно с 1 оборота.
Аватара пользователя
Andrew Lunev

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

Re: Запуск и остановка по триггеру

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

Пример вашей программы реализован на TraditionalDAQ, не знаю, на сколько его поддерживает новая плата, но он уже лет 10, как считается устаревшим. Возможно в нем и можно задать триггер на останов, в этом я не разбирался, давно это было...
Вам же скорее всего придется реализовывать программу с DAQmx, а в нем про триггер останова я не слышал. Скорее всего реализовать полный аналог не получится.
Darkagent писал(а):В данной задаче не важна скорость перезапуска. Главное собрать точно с 1 оборота.
Так заводите сигнал с триггера на канал AI, собирайте данные с запасом, а потом в файле удаляйте лишние данные. Это конечно не автоматизированный процесс получается, но позволяет собрать данные точно с одного оборота. А если время обработки не критично, то процесс отбрасывания лишних данных можно и автоматизировать программно.
Darkagent
interested
interested
Сообщения: 3
Зарегистрирован: 09 сен 2013, 09:30
Версия LabVIEW: 2011

Re: Запуск и остановка по триггеру

Сообщение Darkagent »

Проблема решена, спасибо Andrew Lunev. Сигнал с PFI0 продублировал на аналоговый вход. Запускаю по триггеру, собираю чуть больше данных, чем нужно, обрезаю функцией Trigger and gate по продублированному синхросигналу. Благо на скорости АЦП доп. канал не сказывается.
Elena_frz
beginner
beginner
Сообщения: 10
Зарегистрирован: 25 фев 2016, 11:27
Версия LabVIEW: 2014
Контактная информация:

Re: Запуск и остановка по триггеру

Сообщение Elena_frz »

Darkagent писал(а):Проблема решена, спасибо Andrew Lunev. Сигнал с PFI0 продублировал на аналоговый вход. Запускаю по триггеру, собираю чуть больше данных, чем нужно, обрезаю функцией Trigger and gate по продублированному синхросигналу. Благо на скорости АЦП доп. канал не сказывается.
Доброе время суток :bye: пишу похожую программу, но пока ничего путного не выходить. не могли бы Вы мне показать ход работы на своем примере, может я что-то упускаю(
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Запуск и остановка по триггеру

Сообщение Blackman »

How Do I Use a Digital Trigger in LabVIEW to Start and Stop Acquiring Data?
http://digital.ni.com/public.nsf/allkb/ ... FE0032CCEB
Здесь есть готовый пример.

Tips and Techniques in Data Acquisition Triggering - NI-DAQmx
http://www.ni.com/tutorial/4329/en/
C. Pretriggered Acquisition with Start and Reference Triggers
You can also set up an acquisition that uses both a start and reference (stop) trigger. In this case, a digital or analog trigger starts the acquisition instead of a software function. Once the acquisition starts, a circular buffering scheme (similar to the previous case) is implemented until the reference trigger signal is received. The data returned consists of the specified number of pretrigger and posttrigger samples relative to the reference trigger signal (Figure 9).
Elena_frz
beginner
beginner
Сообщения: 10
Зарегистрирован: 25 фев 2016, 11:27
Версия LabVIEW: 2014
Контактная информация:

Re: Запуск и остановка по триггеру

Сообщение Elena_frz »

большое спасибо за помощь!
Elena_frz
beginner
beginner
Сообщения: 10
Зарегистрирован: 25 фев 2016, 11:27
Версия LabVIEW: 2014
Контактная информация:

Re: Запуск и остановка по триггеру

Сообщение Elena_frz »

Я видела эти статьи про триггер и только запуталась. Возможно я неправильно решаю задачу. По задаче, у меня есть 2 цифровых линии, на этих линиях необходимо поймать сигналы и измерить длительность этих сигналов. Данную задачу решила решать с помощью счетчика и триггера. Если у вас есть какие-то идеи или Вы знаете решение этой задачи, прошу поделиться со мной! я в тупике!
Аватара пользователя
Jakob Brontfeyn

Activity Gold Silver Black
expert
expert
Сообщения: 1729
Зарегистрирован: 28 фев 2008, 11:01
Награды: 6
Благодарил (а): 1 раз
Контактная информация:

Re: Запуск и остановка по триггеру

Сообщение Jakob Brontfeyn »

Elena_frz писал(а):Я видела эти статьи про триггер и только запуталась. Возможно я неправильно решаю задачу. По задаче, у меня есть 2 цифровых линии, на этих линиях необходимо поймать сигналы и измерить длительность этих сигналов. Данную задачу решила решать с помощью счетчика и триггера. Если у вас есть какие-то идеи или Вы знаете решение этой задачи, прошу поделиться со мной! я в тупике!
smotri demo s knopkoy
Вложения
demo_s_knopkoy.vi
(28.5 КБ) 215 скачиваний
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Обработка сигнала»