1D Массив

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

1D Массив

Postby Alexandra on 10 Sep 2017, 08:17

Здравствуйте!
Подскажите, пожалуйста. Вот есть DAQ Assiatant, который считывает напряжение по 2м каналам. Что надо добавить в мой прибор, чтоб первые 10 значений с канала №1 записались в массив Array1, а среднее арифметическое частных от первых 10-ти значений с данными канала №2 - соответственно в Numeric indicator?

Спасибо)
Attachments
vopros-array.vi
(88.56 KiB) Downloaded 19 times
Alexandra
beginner
beginner
 
Posts: 15
Joined: 10 Sep 2017, 07:55
Location: Republic of Korea
LabVIEW Version: 2013
Karma: 0

Re: 1D Массив

Postby zxc_pavel on 10 Sep 2017, 09:07

Если значения постоянно приходят по одному, то запоминать надо, брать последние 10 и делить уже
Attachments
10.09.png
10.09.png (8.2 KiB) Viewed 817 times
zxc_pavel
user
user
 
Posts: 73
Joined: 02 Jun 2016, 12:07
LabVIEW Version: 14
Karma: 64

Re: 1D Массив

Postby Alexandra on 10 Sep 2017, 11:39

:thank: Большое-большое спасибо!!!!
Alexandra
beginner
beginner
 
Posts: 15
Joined: 10 Sep 2017, 07:55
Location: Republic of Korea
LabVIEW Version: 2013
Karma: 0

Re: 1D Массив

Postby IvanLis on 10 Sep 2017, 12:28

Alexandra wrote:Здравствуйте!
Подскажите, пожалуйста. Вот есть DAQ Assiatant, который считывает напряжение по 2м каналам. Что надо добавить в мой прибор, чтоб первые 10 значений с канала №1 записались в массив Array1, а среднее арифметическое частных от первых 10-ти значений с данными канала №2 - соответственно в Numeric indicator?

Спасибо)


Можно использовать инструменты PtByPt:
Для формирования массива (FIFO) Data Queue PtByPt VI.
А из массива уже считать Mean, но можно из той же палитры взять Mean PtByPt VI.
Будет проще и нагляднее.
User avatar
IvanLis
professor
professor
 
Posts: 4458
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 690
hardware VIP bloggers teachers

Re: 1D Массив

Postby Blackman on 10 Sep 2017, 15:54

...первые 10 значений с канала №1 записались в массив Array1, а среднее арифметическое частных от первых 10-ти значений с данными канала №2 - соответственно в Numeric indicator?
Attachments
DAQ Assist 10 Samples.png
Blackman
leader
leader
 
Posts: 671
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 166

Re: 1D Массив

Postby Alexandra on 11 Sep 2017, 05:49

Vsem ogromnoe spasibo! :super:

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:
metod2.png

metod1.png
Alexandra
beginner
beginner
 
Posts: 15
Joined: 10 Sep 2017, 07:55
Location: Republic of Korea
LabVIEW Version: 2013
Karma: 0

Re: 1D Массив

Postby Alexandra on 17 Sep 2017, 16:48

В продолжении темы еще вопрос возник. Посоветуйте, пожалуйста!
У меня в программе сначала 8 цифровых каналов перебираются, с каждого из них последовательно обрабатываются данные, на выходе получается число. А как это число обратно в перебор каналов отправить, чтобы программа остановилась на выбранном канале?
На первой картинке все работает, но число в конце не отправляется.
А на второй картинке что-то работает, но не как надо...(
Attachments
rabotaet.png
ne-rabotaet.png
vopros-kanal-2.vi
(143.68 KiB) Downloaded 14 times
Alexandra
beginner
beginner
 
Posts: 15
Joined: 10 Sep 2017, 07:55
Location: Republic of Korea
LabVIEW Version: 2013
Karma: 0

Re: 1D Массив

Postby zxc_pavel on 17 Sep 2017, 19:50

На втором рисунке у Вас когда закончится цикл
8 цифровых каналов перебираются, с каждого из них последовательно обрабатываются данные, на выходе получается число

левая часть кода уже выполнится - индикатор считается старый. Выполняйте запись после правого кейса
zxc_pavel
user
user
 
Posts: 73
Joined: 02 Jun 2016, 12:07
LabVIEW Version: 14
Karma: 64

Re: 1D Массив

Postby Alexandra on 18 Sep 2017, 09:12

zxc_pavel wrote:Выполняйте запись после правого кейса
Это как понять? Вставить еще один перебор каналов сзади? Так что-то после нескольких запусков переполняется и перестает работать...
Attachments
variant3.png
Alexandra
beginner
beginner
 
Posts: 15
Joined: 10 Sep 2017, 07:55
Location: Republic of Korea
LabVIEW Version: 2013
Karma: 0

Re: 1D Массив

Postby Kosist on 18 Sep 2017, 11:29

Используйте сдвиговый регистр (shift register); и делайте расчет нужного канала внутри (а не за циклом) -> записывайте значение линии в шифт регистр, и используйте как вход для булевых значений.
Далее, число в булеан массив можно преобразовать проще немного, (функция Number to Boolean Array)...
Ну, и классика - код в студию... На пальцах показывать не очень удобно )))
Мы делили апельсин - много наших полегло...
User avatar
Kosist
leader
leader
 
Posts: 763
Joined: 21 Feb 2011, 23:44
Location: СумГУ
Medals: 2
Activity (1) Gold (1)
LabVIEW Version: 2013-2017
Karma: 225
CLAD I/O VIP students

Re: 1D Массив

Postby Alexandra on 18 Sep 2017, 12:13

:suicide: Извините, я нииичего не поняла...( Булеан массив из чего?
Вот прибор со сдвиговыми регистрами и прибор, который работает, но неправильно.
Attachments
shift reg.vi
(78.91 KiB) Downloaded 16 times
vopros-kanal-3.vi
(187.12 KiB) Downloaded 15 times
Alexandra
beginner
beginner
 
Posts: 15
Joined: 10 Sep 2017, 07:55
Location: Republic of Korea
LabVIEW Version: 2013
Karma: 0

Re: 1D Массив

Postby Blackman on 18 Sep 2017, 18:57

... и прибор, который работает, но неправильно.

В основном все нормально. Однако после выполнения For Loop необходимо сделать очистку задачи DAQ Assist2 (терминал task out), чтобы освободить ресурсы (железо) для DAQ Assist3. Смотри вложение.
Да, в обоих задач 0 физический канал (линия 0) порта находится в самом конце списка виртуальных каналов -> он будет включаться при записи в порт значения 128
Attachments
vopros-kanal-3Edited.vi
(175.83 KiB) Downloaded 15 times
Blackman
leader
leader
 
Posts: 671
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 166

Re: 1D Массив

Postby Alexandra on 19 Sep 2017, 12:51

А у Вас оно работает? Мне выдает ошибку... И я не понимаю,что оно хочет сказать(
Attachments
error.png
Alexandra
beginner
beginner
 
Posts: 15
Joined: 10 Sep 2017, 07:55
Location: Republic of Korea
LabVIEW Version: 2013
Karma: 0

Re: 1D Массив

Postby Blackman on 19 Sep 2017, 13:37

Да небольшой промах). Надо уменьшить размер входного массива данных в DAQ Asisst2 и DAQ Asisst3. Сообщение в ошибке прямо указывает на это: Количество каналов в задаче 8, а размер входного массива данных 32. У меня при проверке естественно была другая ошибка DAQmx: Device not found.
Attachments
vopros-kanal-3Edited.vi
(176.62 KiB) Downloaded 13 times
Blackman
leader
leader
 
Posts: 671
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 166

Re: 1D Массив

Postby Alexandra on 20 Sep 2017, 13:15

Ай, спасибо! Спасибо!!!! Все работает отлично) :dance:
Alexandra
beginner
beginner
 
Posts: 15
Joined: 10 Sep 2017, 07:55
Location: Republic of Korea
LabVIEW Version: 2013
Karma: 0


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

Who is online

Users browsing this forum: Google and 15 guests

cron