1D Массив
-
- beginner
- Сообщения: 15
- Зарегистрирован: 10 сен 2017, 07:55
- Версия LabVIEW: 2013
- Откуда: Republic of Korea
- Контактная информация:
1D Массив
Здравствуйте!
Подскажите, пожалуйста. Вот есть DAQ Assiatant, который считывает напряжение по 2м каналам. Что надо добавить в мой прибор, чтоб первые 10 значений с канала №1 записались в массив Array1, а среднее арифметическое частных от первых 10-ти значений с данными канала №2 - соответственно в Numeric indicator?
Спасибо)
Подскажите, пожалуйста. Вот есть DAQ Assiatant, который считывает напряжение по 2м каналам. Что надо добавить в мой прибор, чтоб первые 10 значений с канала №1 записались в массив Array1, а среднее арифметическое частных от первых 10-ти значений с данными канала №2 - соответственно в Numeric indicator?
Спасибо)
- Вложения
-
- vopros-array.vi
- (88.56 КБ) 115 скачиваний
- zxc_pavel
- adviser
- Сообщения: 242
- Зарегистрирован: 02 июн 2016, 12:07
- Версия LabVIEW: 15
- Благодарил (а): 9 раз
- Поблагодарили: 23 раза
- Контактная информация:
Re: 1D Массив
Если значения постоянно приходят по одному, то запоминать надо, брать последние 10 и делить уже
- Вложения
-
- 10.09.png (8.2 КБ) 8980 просмотров
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 87 раз
Re: 1D Массив
Можно использовать инструменты PtByPt:Alexandra писал(а):Здравствуйте!
Подскажите, пожалуйста. Вот есть DAQ Assiatant, который считывает напряжение по 2м каналам. Что надо добавить в мой прибор, чтоб первые 10 значений с канала №1 записались в массив Array1, а среднее арифметическое частных от первых 10-ти значений с данными канала №2 - соответственно в Numeric indicator?
Спасибо)
Для формирования массива (FIFO) Data Queue PtByPt VI.
А из массива уже считать Mean, но можно из той же палитры взять Mean PtByPt VI.
Будет проще и нагляднее.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
- leader
- Сообщения: 932
- Зарегистрирован: 17 янв 2016, 15:02
- Награды: 1
- Версия LabVIEW: 6.1,8.5,20
Re: 1D Массив
...первые 10 значений с канала №1 записались в массив Array1, а среднее арифметическое частных от первых 10-ти значений с данными канала №2 - соответственно в Numeric indicator?
-
- beginner
- Сообщения: 15
- Зарегистрирован: 10 сен 2017, 07:55
- Версия LabVIEW: 2013
- Откуда: Republic of Korea
- Контактная информация:
Re: 1D Массив
Vsem ogromnoe spasibo!
Pro to, kak polzovatsya PtByPt ya ne ponyala... No ya sdelala 2 drugih varianta, kak mne tut posovetovali. Otlichno rabotayut oba, spasibo)
Vot tak poluchilos, esli interesno:
![super :super:](./images/smilies/icon_hey.gif)
Pro to, kak polzovatsya PtByPt ya ne ponyala... No ya sdelala 2 drugih varianta, kak mne tut posovetovali. Otlichno rabotayut oba, spasibo)
Vot tak poluchilos, esli interesno:
-
- beginner
- Сообщения: 15
- Зарегистрирован: 10 сен 2017, 07:55
- Версия LabVIEW: 2013
- Откуда: Republic of Korea
- Контактная информация:
Re: 1D Массив
В продолжении темы еще вопрос возник. Посоветуйте, пожалуйста!
У меня в программе сначала 8 цифровых каналов перебираются, с каждого из них последовательно обрабатываются данные, на выходе получается число. А как это число обратно в перебор каналов отправить, чтобы программа остановилась на выбранном канале?
На первой картинке все работает, но число в конце не отправляется.
А на второй картинке что-то работает, но не как надо...(
У меня в программе сначала 8 цифровых каналов перебираются, с каждого из них последовательно обрабатываются данные, на выходе получается число. А как это число обратно в перебор каналов отправить, чтобы программа остановилась на выбранном канале?
На первой картинке все работает, но число в конце не отправляется.
А на второй картинке что-то работает, но не как надо...(
- Вложения
-
- vopros-kanal-2.vi
- (143.68 КБ) 112 скачиваний
- zxc_pavel
- adviser
- Сообщения: 242
- Зарегистрирован: 02 июн 2016, 12:07
- Версия LabVIEW: 15
- Благодарил (а): 9 раз
- Поблагодарили: 23 раза
- Контактная информация:
Re: 1D Массив
На втором рисунке у Вас когда закончится цикл
левая часть кода уже выполнится - индикатор считается старый. Выполняйте запись после правого кейса8 цифровых каналов перебираются, с каждого из них последовательно обрабатываются данные, на выходе получается число
-
- beginner
- Сообщения: 15
- Зарегистрирован: 10 сен 2017, 07:55
- Версия LabVIEW: 2013
- Откуда: Republic of Korea
- Контактная информация:
Re: 1D Массив
Это как понять? Вставить еще один перебор каналов сзади? Так что-то после нескольких запусков переполняется и перестает работать...zxc_pavel писал(а):Выполняйте запись после правого кейса
-
Kosist
- expert
- Сообщения: 1236
- Зарегистрирован: 21 фев 2011, 23:44
- Награды: 2
- Версия LabVIEW: 2013-2020
- Благодарил (а): 23 раза
- Поблагодарили: 30 раз
- Контактная информация:
Re: 1D Массив
Используйте сдвиговый регистр (shift register); и делайте расчет нужного канала внутри (а не за циклом) -> записывайте значение линии в шифт регистр, и используйте как вход для булевых значений.
Далее, число в булеан массив можно преобразовать проще немного, (функция Number to Boolean Array)...
Ну, и классика - код в студию... На пальцах показывать не очень удобно )))
Далее, число в булеан массив можно преобразовать проще немного, (функция Number to Boolean Array)...
Ну, и классика - код в студию... На пальцах показывать не очень удобно )))
Мы делили апельсин - много наших полегло...
-
- beginner
- Сообщения: 15
- Зарегистрирован: 10 сен 2017, 07:55
- Версия LabVIEW: 2013
- Откуда: Republic of Korea
- Контактная информация:
Re: 1D Массив
![suicide :suicide:](./images/smilies/icon_suicide.gif)
Вот прибор со сдвиговыми регистрами и прибор, который работает, но неправильно.
- Вложения
-
- shift reg.vi
- (78.91 КБ) 115 скачиваний
-
- vopros-kanal-3.vi
- (187.12 КБ) 109 скачиваний
-
- leader
- Сообщения: 932
- Зарегистрирован: 17 янв 2016, 15:02
- Награды: 1
- Версия LabVIEW: 6.1,8.5,20
Re: 1D Массив
В основном все нормально. Однако после выполнения For Loop необходимо сделать очистку задачи DAQ Assist2 (терминал task out), чтобы освободить ресурсы (железо) для DAQ Assist3. Смотри вложение.... и прибор, который работает, но неправильно.
Да, в обоих задач 0 физический канал (линия 0) порта находится в самом конце списка виртуальных каналов -> он будет включаться при записи в порт значения 128
- Вложения
-
- vopros-kanal-3Edited.vi
- (175.83 КБ) 104 скачивания
-
- beginner
- Сообщения: 15
- Зарегистрирован: 10 сен 2017, 07:55
- Версия LabVIEW: 2013
- Откуда: Republic of Korea
- Контактная информация:
-
- leader
- Сообщения: 932
- Зарегистрирован: 17 янв 2016, 15:02
- Награды: 1
- Версия LabVIEW: 6.1,8.5,20
Re: 1D Массив
Да небольшой промах). Надо уменьшить размер входного массива данных в DAQ Asisst2 и DAQ Asisst3. Сообщение в ошибке прямо указывает на это: Количество каналов в задаче 8, а размер входного массива данных 32. У меня при проверке естественно была другая ошибка DAQmx: Device not found.
- Вложения
-
- vopros-kanal-3Edited.vi
- (176.62 КБ) 111 скачиваний
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 6 Ответы
- 1062 Просмотры
-
Последнее сообщение JohnChaban