Определение направления
-
- junior
- Сообщения: 59
- Зарегистрирован: 03 мар 2011, 19:30
- Версия LabVIEW: 7.1
- Контактная информация:
Re: Определение направления
получается индексы записываются независимо от сработки порога, а когда доходят до максимального значения не обнавляются
-
- junior
- Сообщения: 59
- Зарегистрирован: 03 мар 2011, 19:30
- Версия LabVIEW: 7.1
- Контактная информация:
Re: Определение направления
[quote="dadreamer"]Ну, вот приблизительный пример, в вашем случае нужно будет вместо контрола "Элемент" вставить всё хозяйство, начинающееся после DAQ Assistant'а, и кончающееся выдачей элементов 1-4. Также, скорее всего, стоит сделать 4 отдельных массива по каждому датчику. На Condition Terminal цикла надо привести анализ размера каждого из 4-х массивов (в моем примере в массив записываются данные, пока его размер не будет равен четырем). Запись сделайте независимо по каждому датчику, а когда все 4 массива будут заполнены, можете их объединить. Если же вам нужно получить по одному значению, то можно обойтись и одним массивом, конечно.
[/quote ]правильно я понял как делать?-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Определение направления
В целом да, но я вам привёл примерный вид, а из него вы уже должны получить свою программу. Я ни разу не пользовался теми голубыми инструментами, даже сомневаюсь, что у меня они есть. Поэтому не могу утверждать, что точно должно работать именно так.
DAQ Assistant - это разве не конфигуратор платы? Если да, то ему самое место в начале, до цикла. Если нет, то пусть остаётся :) Зря выкинули Wait Until Next ms Multiple, у вас процессор без передышки занят только задачей получения сигналов с датчиков, и загрузка 100%. Необходимы паузы в цикле длиной хотя бы 10 мс, иначе будут наблюдаться сильные тормоза. Массиву вначале надо присвоить пустое значение (константу), а то так там будет непонятно что (см. мою картинку). И я думал, вы будете записывать координату, а вы записываете индекс. Понятно, что он может меняться лишь от 0 до 3 (так как в массиве 4 элемента). Хотя по нему тоже можно судить о движении. Если делать, как написал IvanLis, то всё должно получиться:
update: автор темы сказал, что у него всё получилось и заработало :)
DAQ Assistant - это разве не конфигуратор платы? Если да, то ему самое место в начале, до цикла. Если нет, то пусть остаётся :) Зря выкинули Wait Until Next ms Multiple, у вас процессор без передышки занят только задачей получения сигналов с датчиков, и загрузка 100%. Необходимы паузы в цикле длиной хотя бы 10 мс, иначе будут наблюдаться сильные тормоза. Массиву вначале надо присвоить пустое значение (константу), а то так там будет непонятно что (см. мою картинку). И я думал, вы будете записывать координату, а вы записываете индекс. Понятно, что он может меняться лишь от 0 до 3 (так как в массиве 4 элемента). Хотя по нему тоже можно судить о движении. Если делать, как написал IvanLis, то всё должно получиться:
У меня такое ощущение, что не хватает условия на то, какой силы сигнал... То есть, если слабый, то ничего никуда не пишем, а если сильный, то нужно внести показания в массив.на каждой итерации цикла регистрируем
1. наличие сигнала и если он есть, то:
2. время обнаружения
3. номер датчика
потом просто сортируем массив (Время, Номер датчика) и смотрим как двигался объект
update: автор темы сказал, что у него всё получилось и заработало :)