Помогите чайнику

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

Помогите чайнику

Postby beginner on 08 Dec 2009, 20:57

Передо мной стоит задача получать сигнал определённый промежуток времени. Для примера 10 мс. И в течении этих самых 10 мс. наблюдать как этот сигнал изменяется.
Для простоты я прошу объяснить на моем примере как это работает. Картинки и саму программу прикладываю.
Программка получает новые значения через 1 мс. в течении 10 раз. А я хочу что бы она получала значения в течении 10 мс. т.к. за 1 мс. может прилететь 2 и более значений.
И еще один вопрос. Я для интереса попытался измерить сколько времени необходимо для выполнения программы. Измерял двумя способами с помощью Time Count ms. и с помощью Time Stamp и получил два разных результата.(результаты выделил красным) Наверное я что-то не понимаю. Объясните пожалуйста.
Заранее большое спасибо.
Picture1.jpg
Attachments
Picture2.jpg
time.vi
(14.69 KiB) Downloaded 70 times
beginner
interested
interested
 
Posts: 7
Joined: 24 Nov 2009, 12:24
LabVIEW Version: 2009
Karma: 0

Re: Помогите чайнику

Postby Eugen Graf on 08 Dec 2009, 21:05

В реальных условиях используется Timeout (а не Wait) при чтении поточечного сигнала.
Либо же считываются 10 точек сразу массивом.

В Windows OS минимальное разрешение по времени 1 мс, но даже при использовании задержки в 10 мс гарантий правильного выполнения нет, т.к. винда распределяет время между параллельными процессами динамически + по приоритетам.

Чтобы задержка была гарантированной, нужно использовать систему Real Time.
User avatar
Eugen Graf
guru
guru
 
Posts: 6502
Joined: 13 Nov 2007, 02:20
Location: Saarbrücken
Medals: 4
Activity (1) Professionalism (1) Silver (1) Black (1)
LabVIEW Version: 2009
Karma: 303
CLAD I/O VIP bloggers internet

Re: Помогите чайнику

Postby beginner on 09 Dec 2009, 19:27

Я думаю что я не совсем корректно объяснил мою задачу. Мне необходимо получать сигнал постоянно в течении определенного промежутка времени. Например 10мс., 1сек., 10сек., 1 мин.
Примерно вот так.смотри Graphic1
Graphic1.tif
(276.96 KiB) Downloaded 75 times

А на своем примере я хотел показать что я лишь могу сделать ВП который может получать только одно значение через определенный промежуток времени 1мс. (т.е. с задержкой)
Вы абсолютно правы мне необходимо Real Time measurments. Не могли бы вы на примере показать как сделать ВП который постоянно получает значение например в течении 10 сек или как вам угодно .(с помощью Real Time или без).
Я посмотрел моя плата серии Real Time DAQ. T.e. я как понимаю могу воспользоваться функциями системы Real Time. А как пользоваться этой системой? Это программное обеспечение, библиотека или модуль какой-то? Входит ли система Real Time в основной пакет LabView Professional Development System?
beginner
interested
interested
 
Posts: 7
Joined: 24 Nov 2009, 12:24
LabVIEW Version: 2009
Karma: 0

Re: Помогите чайнику

Postby Eugen Graf on 09 Dec 2009, 19:37

Вроде становится более понятно, но ещё не совсем.

Я предлагаю использовать буфферное чтение сигнала. То есть с ВП "отправляется сигнал" на катру сбора данных, она их собирает в массив и через определённое время пересылает этот массив обратно в ВП.
В ВП весь этот массив разом отображается на графике. При этом можно достичь огромных частот и точности по времени.

Если же считывать сигнал по одной точке за определённый промежуток времени, то тайминг должен регулироваться в ВП. И как раз здесь могут возникнуть проблемы с частотой сбора и точностью по времени.

Модуль Real Time не входит в LabView Professional Development System и стоит довольно дорого, плюс нужно дополнительное железо.
User avatar
Eugen Graf
guru
guru
 
Posts: 6502
Joined: 13 Nov 2007, 02:20
Location: Saarbrücken
Medals: 4
Activity (1) Professionalism (1) Silver (1) Black (1)
LabVIEW Version: 2009
Karma: 303
CLAD I/O VIP bloggers internet

Re: Помогите чайнику

Postby mzu2006 on 10 Dec 2009, 00:28

Да, судя по задаче RT модуль не нужен.
А если потребуется, то можно запустить с минимумом доп железа: на другом PC
Вот похожий Топик у нас: link
User avatar
mzu2006
doctor
doctor
 
Posts: 2456
Joined: 16 Aug 2008, 02:12
Location: St-Petersburg (RU), Phila, Boston, Washington DC
Medals: 3
Professionalism (1) Tutorials (1) Black (1)
LabVIEW Version: 7.1 10 11 12
Karma: 279
CLAD CLD I/O PDA VIP vision bloggers teachers

Re: Помогите чайнику

Postby beginner on 11 Dec 2009, 14:23

Для того что бы все стало более понятнее я постараюсь объяснить более подробно. Я аспирант и моя тема биохимия. Мне необходимо сделать программу которая управляет электродом через Labview.
Этот электрод детектирует выделение кислорода когда образец освещается вспышками света. Что бы сильно не забивать голову в вкратце объясню принцип работы. Электрод постоянно поляризуется напряжением 750 mV. И когда образец освещается вспышкой света происходит выделение кислорода. Электрод детектирует это выделение в мили вольтах и по разности можно судить о количестве и интенсивности выделевшегося кислорода. Этот процесс длиться от 1 до 10 ms. И в течении этого времени необходимо непрерывно наблюдать выделение кислорода
Я поделил свою задачу на две части. 1 – Научиться производить вспышки. И эта задача решена. 2-получать сигнал, наблюдать его на мониторе и записывать.
Для простоты я взял фотодиод и освещая его научился получать сигнал.Но я ни как не могу получать сигнал постоянно определенный промежуток времени.

У меня есть еще один вопрос. На данный момент я испольную NI-6534Digital card. Но для решения моей проблемы мне нужна карта которая понимает как цифровой сигнал так и аналоговый сигнал. Прошу посоветовать карту для моих целей
Большое спасибо за советы.
beginner
interested
interested
 
Posts: 7
Joined: 24 Nov 2009, 12:24
LabVIEW Version: 2009
Karma: 0

Re: Помогите чайнику

Postby mzu2006 on 12 Dec 2009, 01:53

Нужно мерять по стробу с того, что у тебя включает лампочку, целый буффер. Смотри примеры на DAQmx в районе Measurment Fundamentals и Timing and Triggering.

Посоветовать тип карточки можно только если знать сколько отсчётов тебе нужно собрать за эти 10ms. ТЫ ведь потом получившуюся кривую (экспоненту?) фитовать будешь, так? Сколько тебе нужно точек, чтобы зафитовать свою кривую с необходимой тебе погрешностью? Сделай примитивное моделирование...
User avatar
mzu2006
doctor
doctor
 
Posts: 2456
Joined: 16 Aug 2008, 02:12
Location: St-Petersburg (RU), Phila, Boston, Washington DC
Medals: 3
Professionalism (1) Tutorials (1) Black (1)
LabVIEW Version: 7.1 10 11 12
Karma: 279
CLAD CLD I/O PDA VIP vision bloggers teachers


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

Who is online

Users browsing this forum: Bing [Bot], Maksim and 9 guests

cron