Помощь с фильтрацией сигнала и выводом в graph

Простейшие вопросы в области инженерной разработки

Помощь с фильтрацией сигнала и выводом в graph

Postby GuRax on 29 Oct 2018, 12:31

Добрый день.
В Measurement & Automation создана симуляция прибора ni-6024e
В лабвью добавляем сигнал daq assistant (voltage, 1 sample (on demand)).

Вопрос № 1. Как правильно отразить его в Waveform graph? (как добавить метку времени)

Вопрос № 2. Сигнал имеет форму синусойды. К примеру: мы пускаем двигатель. В Waveform видим, что броски тока идут как отрицательные, так и положительные. Как нам отфильтровать сигнал, чтоб значение было только положительным и без волн (к примеру сигнал отфильтрован по максимальным амплитудам волн)

Спасибо.
GuRax
interested
interested
 
Posts: 6
Joined: 29 Oct 2018, 12:23
LabVIEW Version: 2011
Karma: 0

Re: Помощь с фильтрацией сигнала и выводом в graph

Postby Artem.spb on 29 Oct 2018, 12:44

1) учитесь работать без daq assistant, жизнь станет намного проще.
2) отобразить 1 точку на графике невозможно. Если хочется именно по такой сnранной схеме, исполmтзуйте chart.
3) опять же, как из одной точки вы получаете синус?
если сигнал накоплен, то используйте Amplitude and Levels VI из палитры Waveform Measurements VIs
Ну и в целом по той палитре прогуляйтесь. может более интересную функцию найдёте.
Artem.spb
expert
expert
 
Posts: 1422
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 246
CLD hardware I/O VIP freelance

Re: Помощь с фильтрацией сигнала и выводом в graph

Postby GuRax on 29 Oct 2018, 13:00

2 - проблема как раз с накоплением. Так понимаю на вход graph надо подавать массив. Как его создать?
3 - исходя из вышеуказанного массива делать преобразования.
Amplitude and Levels я так понял выдает число, а не сам график. (к примеру в сети напряжение скачет 220 и -220, а чтоб график показывал только 220

на XY Graph удалось отрисовать график.

К примеру как на рисунке, входной сигнал мы получаем как белой линией, а на графике хотим видеть красным

запрещено грузить фото на сторонние ресурсы
GuRax
interested
interested
 
Posts: 6
Joined: 29 Oct 2018, 12:23
LabVIEW Version: 2011
Karma: 0

Re: Помощь с фильтрацией сигнала и выводом в graph

Postby Artem.spb on 29 Oct 2018, 13:13

1) работать с оборудованием в таком режиме - циничное извращённое издевательство.
На каждом цикле вы создаёте DAQ-задачу, берёте точку и удаляете задачу.
Первый и третий шаги жрут ресурсов в несколько раз больше, чем второй. Если уж никак без ассистентов, запрашивайте сразу массив данных.
2) про огибающую можно порыскать не форуме, например, тут обсуждали
Artem.spb
expert
expert
 
Posts: 1422
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 246
CLD hardware I/O VIP freelance

Re: Помощь с фильтрацией сигнала и выводом в graph

Postby GuRax on 29 Oct 2018, 13:24

Ну как инженер на лекции niglobal показывал, так и пытаюсь сделать. Пока плохо разбираюсь.
Вы можете подсказать, как мне правильно при получении единичного сигнала, добавить к нему метку времени, сохранить в массив и затем по истечении какого-то времени вывести график в graph?
GuRax
interested
interested
 
Posts: 6
Joined: 29 Oct 2018, 12:23
LabVIEW Version: 2011
Karma: 0

Re: Помощь с фильтрацией сигнала и выводом в graph

Postby Artem.spb on 29 Oct 2018, 13:47

У меня есть ощущение, что опытные ползователи :labview: не понимают, что такое динамический сигнал и не умеют им пользоваться. Эту мысль даже на форуме NI встречал
Так что НЕ подскажу.
Ещё раз. В настройках ассистента берите не одну точку, а массив. И его отображайте на графике.
А ещё лучше посмотрите стандартные примеры, там есть и про то, как с DAQ работать. Точное название сказать не могу, на этой машине DAQ не стоит.
У вас вообще этот период фиксирован, или меняется? Если первое, то надо сразу запрашивать известное кодичество точек. Если второе, то придётся поколдовать. Но в любом случае, если нужен массив, глупо собирать его по одной точке.
Artem.spb
expert
expert
 
Posts: 1422
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 246
CLD hardware I/O VIP freelance

Re: Помощь с фильтрацией сигнала и выводом в graph

Postby Artem.spb on 29 Oct 2018, 13:49

вот обзор функций
http://www.ni.com/product-documentation/2835/en/
Artem.spb
expert
expert
 
Posts: 1422
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 246
CLD hardware I/O VIP freelance

Re: Помощь с фильтрацией сигнала и выводом в graph

Postby GuRax on 29 Oct 2018, 14:02

Задача в следующем, может поможет в общем понимании.

Есть двигатель. Трансформатор тока включен в схему питания двигателя.
С него мы получаем значение силы тока (синусойда от -5В до +5В).
Необходимо видеть мгновенный график тока и исторический.
как одновременно их получить? Считываем сигнал (on demand). С мгновенным графиком проблем нет, как нам накопить данные для исторического?

Пробовал. Считывал период, graph строится, но возникает проблема с chart.

Хотелось бы, чтобы я нажал кнопку, пошло отображение мгновенного графика (chart) в виде синусойды. Мы увидели пусковые токи.
По истечении 3х секунд двигатель останавливается, мгновенный график тоже. у нас накапливается массив данных с метками времени. мы его обрабатываем по своему усмотрению и выводим в graph.
GuRax
interested
interested
 
Posts: 6
Joined: 29 Oct 2018, 12:23
LabVIEW Version: 2011
Karma: 0

Re: Помощь с фильтрацией сигнала и выводом в graph

Postby Artem.spb on 29 Oct 2018, 14:19

В вашем варианте (опрос по запросу) вы кучу данных потерять можете, если там пик проскочит между запросами.
За 3 секунды существенного ничего не произойдёт, так что можно смело набирать график, а потом отображать.
Если прям хочется на лету обновлять, то при мерно так
daq.png

Только берите с DAQ не одну точку, а кусок в 100-200 мс. Визуально разницы никто не заметит, а машине гораздо проще будет.

повторяю, DAQ тут не стоит, поэтому картинками приходится
Artem.spb
expert
expert
 
Posts: 1422
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 246
CLD hardware I/O VIP freelance

Re: Помощь с фильтрацией сигнала и выводом в graph

Postby GuRax on 29 Oct 2018, 15:22

Что-то я не учел про потерю данных. Вы правы.
Я думал, что в цикле если я поставлю таймер на 0.002с, то этого будет достаточно, чтобы отловить скачки в обычной промышленной 50Гц сети.

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

И еще вопросик задам. Считываю массив данных по 500 измерений. Вывожу их в chart, график как бы периодически обновляется и продолжается. эти же данные добавляю в массив с помощью Build Array и вывожу и после окончания цикла в graph. Отрисовывает только последний набор данных из 500 измерений. Получается Build Array создает массив массивов. Как мне сделать двухмерный продолжающийся массив? чтоб каждый раз я добавлял в конец массива данные (как в стеках)
GuRax
interested
interested
 
Posts: 6
Joined: 29 Oct 2018, 12:23
LabVIEW Version: 2011
Karma: 0

Re: Помощь с фильтрацией сигнала и выводом в graph

Postby Artem.spb on 29 Oct 2018, 15:25

простой эксперимент
time.png
time.png (13.15 KiB) Viewed 280 times

покажет, что 2 мс - недостижимая скорость в вашей конфигурации. старт-стоп задачи требует не порядки больше времени.

Build Array работает в двух режимах.
вам нужен второй
Attachments
array.png
array.png (4.82 KiB) Viewed 280 times
Artem.spb
expert
expert
 
Posts: 1422
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 246
CLD hardware I/O VIP freelance

Re: Помощь с фильтрацией сигнала и выводом в graph

Postby taras_33 on 29 Oct 2018, 15:54

Посмотрите, может так подойдет.
Ai Continuous.png

Continuous Ai.png

________________________________________
Update: Задержка в Wile loop не нужна, она будет обеспечена Read.vi и при текущих установках составит около 100mS

Длина истории Chart установлена в 400 000, следовательно делим на Sample rate в итоге выходит что на график вмещается около 13 секунд. Думаю достаточно. Запустили VI, запустили мотор, подождали секунд 5 остановили VI и используя zoom
zoom.png
zoom.png (5.32 KiB) Viewed 262 times

анализируем пики тока. Либо вместо остановки VI, поставить на паузу chart
Pause.png
Pause.png (2.88 KiB) Viewed 262 times


А вообще по большому счету, нужно разделять управление от сбора данных....
Attachments
Example Continuous Ai Task.vi
(30.2 KiB) Downloaded 8 times
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
User avatar
taras_33
developer
developer
 
Posts: 254
Joined: 31 Oct 2009, 18:25
Location: Minsk -> Miami
Medals: 1
Activity (1)
LabVIEW Version: 2016
Karma: 121
CLD VIP

Re: Помощь с фильтрацией сигнала и выводом в graph

Postby GuRax on 30 Oct 2018, 10:27

Большое спасибо вам за уделенное время. Буду разбираться.

Если убрать галочку с Transpose array, то пишет, что не хватает памяти

И вопрос еще, а если мне надо три аналоговых сигнала считывать, три таких структуры делать, как на рисунке?
GuRax
interested
interested
 
Posts: 6
Joined: 29 Oct 2018, 12:23
LabVIEW Version: 2011
Karma: 0

Re: Помощь с фильтрацией сигнала и выводом в graph

Postby Artem.spb on 30 Oct 2018, 11:02

GuRax wrote:И вопрос еще, а если мне надо три аналоговых сигнала считывать, три таких структуры делать, как на рисунке?

какие структуры?
все три канала надо читать в одной задаче. На выходе будет 2D массив или его аналог.
На один тип каналов на одном устройстве вы не сможете навесить три разные задачи.
Artem.spb
expert
expert
 
Posts: 1422
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 246
CLD hardware I/O VIP freelance

Re: Помощь с фильтрацией сигнала и выводом в graph

Postby Blackman on 30 Oct 2018, 11:54

GuRax wrote:... если мне надо три аналоговых сигнала считывать, три таких структуры делать, как на рисунке?

Мenu -> File -> Create Project ...-> в окне Create Project в дереве слева выбрать -> Sample Project -> в списке справа выбрать проект Continuous Measurement and Logging (NI-DAQmx) -> button Next -> создаем новый проект -> в нем все ответы на Ваши вопросы:)
Blackman
leader
leader
 
Posts: 798
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 234
VIP

Next

Return to Для чайников

Who is online

Users browsing this forum: Baidu and 8 guests

cron