Определение направления

Захват, обработка и генерирование сигнала
lSATl
junior
junior
Сообщения: 59
Зарегистрирован: 03 мар 2011, 19:30
Версия LabVIEW: 7.1
Контактная информация:

Re: Определение направления

Сообщение lSATl »

Спасибо, сейчас поколдую)
lSATl
junior
junior
Сообщения: 59
Зарегистрирован: 03 мар 2011, 19:30
Версия LabVIEW: 7.1
Контактная информация:

Re: Определение направления

Сообщение lSATl »

получается индексы записываются независимо от сработки порога, а когда доходят до максимального значения не обнавляются
lSATl
junior
junior
Сообщения: 59
Зарегистрирован: 03 мар 2011, 19:30
Версия LabVIEW: 7.1
Контактная информация:

Re: Определение направления

Сообщение lSATl »

[quote="dadreamer"]Ну, вот приблизительный пример, в вашем случае нужно будет вместо контрола "Элемент" вставить всё хозяйство, начинающееся после DAQ Assistant'а, и кончающееся выдачей элементов 1-4. Также, скорее всего, стоит сделать 4 отдельных массива по каждому датчику. На Condition Terminal цикла надо привести анализ размера каждого из 4-х массивов (в моем примере в массив записываются данные, пока его размер не будет равен четырем). Запись сделайте независимо по каждому датчику, а когда все 4 массива будут заполнены, можете их объединить. Если же вам нужно получить по одному значению, то можно обойтись и одним массивом, конечно.
Безымянный56.png
[/quote ]правильно я понял как делать?
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 127 раз
Контактная информация:

Re: Определение направления

Сообщение dadreamer »

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

DAQ Assistant - это разве не конфигуратор платы? Если да, то ему самое место в начале, до цикла. Если нет, то пусть остаётся :) Зря выкинули Wait Until Next ms Multiple, у вас процессор без передышки занят только задачей получения сигналов с датчиков, и загрузка 100%. Необходимы паузы в цикле длиной хотя бы 10 мс, иначе будут наблюдаться сильные тормоза. Массиву вначале надо присвоить пустое значение (константу), а то так там будет непонятно что (см. мою картинку). И я думал, вы будете записывать координату, а вы записываете индекс. Понятно, что он может меняться лишь от 0 до 3 (так как в массиве 4 элемента). Хотя по нему тоже можно судить о движении. Если делать, как написал IvanLis, то всё должно получиться:
на каждой итерации цикла регистрируем
1. наличие сигнала и если он есть, то:
2. время обнаружения
3. номер датчика

потом просто сортируем массив (Время, Номер датчика) и смотрим как двигался объект
У меня такое ощущение, что не хватает условия на то, какой силы сигнал... То есть, если слабый, то ничего никуда не пишем, а если сильный, то нужно внести показания в массив.

update: автор темы сказал, что у него всё получилось и заработало :)
lSATl
junior
junior
Сообщения: 59
Зарегистрирован: 03 мар 2011, 19:30
Версия LabVIEW: 7.1
Контактная информация:

Re: Определение направления

Сообщение lSATl »

:thank: :thank: :thank: :thank: :thank: спасибо)))))
Ответить

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