Советы по программированию на LabVIEW

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

Activity Silver Автор
expert
expert
Сообщения: 1099
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Репутация: 0
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение Vitekkz88 »

546, И?
Берёте то, что выше приведено и используете как нужно. Вон, там всякие вариации есть :-)
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын

Ана Мих
interested
interested
Сообщения: 3
Зарегистрирован: 16 май 2018, 19:00
Репутация: 0
Версия LabVIEW: 13
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение Ана Мих »

Eugen Graf, Помогите пожалуйста. Нужно сделать программу по сигналу затухающей функции и в последствии добавить шум.

Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
professor
professor
Сообщения: 4924
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Репутация: 0
Версия LabVIEW: 2015, 2016
Откуда: СССР

Re: Советы по программированию на LabVIEW

Сообщение IvanLis »

Ана Мих писал(а):Помогите пожалуйста. Нужно сделать программу по сигналу затухающей функции и в последствии добавить шум.


С такой постановкой вопроса, у Вас как минимум сигнал этой самой функции должен быть.

Ана Мих
interested
interested
Сообщения: 3
Зарегистрирован: 16 май 2018, 19:00
Репутация: 0
Версия LabVIEW: 13
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение Ана Мих »

IvanLis, Сигнал на фото.
Вложения
Сигнал.jpg
Сигнал.jpg (21.29 КБ) 5249 просмотров

Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
professor
professor
Сообщения: 4924
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Репутация: 0
Версия LabVIEW: 2015, 2016
Откуда: СССР

Re: Советы по программированию на LabVIEW

Сообщение IvanLis »

Ана Мих писал(а): Сигнал на фото.

Снимок экрана от 2018-05-17 18-07-50.png

Ана Мих
interested
interested
Сообщения: 3
Зарегистрирован: 16 май 2018, 19:00
Репутация: 0
Версия LabVIEW: 13
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение Ана Мих »

IvanLis, Спасибо! Еще один вопрос. Необходимо из данного сигнала выделить спектр с помощью преобразования Фурье. Потом выделить амплитуду*0,707 (Amax/2 на фото показан примерный уровень), и на этом уровне найти координаты по Х с помощью курсора (точки W1 W0 W2 на фото). Чтобы при изменении этого уровня, выводились автоматически их значения.
Вложения
Преобразование Фурье.jpg

Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
professor
professor
Сообщения: 4924
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Репутация: 0
Версия LabVIEW: 2015, 2016
Откуда: СССР

Re: Советы по программированию на LabVIEW

Сообщение IvanLis »

Ана Мих писал(а):IvanLis, Спасибо! Еще один вопрос. Необходимо из данного сигнала выделить спектр с помощью преобразования Фурье. Потом выделить амплитуду*0,707 (Amax/2 на фото показан примерный уровень), и на этом уровне найти координаты по Х с помощью курсора (точки W1 W0 W2 на фото). Чтобы при изменении этого уровня, выводились автоматически их значения.

Давайте дальше сами, а то как в сказке...
"... так пить хочется, что переночевать негде...."
Тем более алгоритм у Вас имеется, нужно только нужные функции взять

Taba
beginner
beginner
Сообщения: 31
Зарегистрирован: 02 дек 2015, 15:06
Репутация: 0
Версия LabVIEW: 2018
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение Taba »

Всем привет! Столкнулся с проблемой при создании массива в цикле For с помощью Auto-Indexed Tunnel. Сами массивы имеют разные размеры и этот зараза Auto-Indexed Tunnel добавляет нулевые элементы массивам с меньшей размерностью, добивая каждый массив до одного и того же количества элементов.
Короче проще один раз увидеть:
Вложения
Это как то лечится? Хотелось бы массив без нулей в конце.
Это как то лечится? Хотелось бы массив без нулей в конце.

Alex Dem
assistant
assistant
Сообщения: 109
Зарегистрирован: 06 май 2015, 22:24
Репутация: 0
Версия LabVIEW: 2014, 2018
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение Alex Dem »

Проблема в том, что нужно формировать массив, а не инициализировать его в цикле на каждой итерации.

Blackman

Activity
leader
leader
Сообщения: 922
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Репутация: 0
Версия LabVIEW: 6.1,8.5,20
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение Blackman »

Это как то лечится? Хотелось бы массив без нулей в конце.
Ни как :crazy: :labview: не поддерживает тип данных (структуру) массив массивов.
Можно создать массив кластеров массивов, вставив функцию Bundle перед Tunnel.

Taba
beginner
beginner
Сообщения: 31
Зарегистрирован: 02 дек 2015, 15:06
Репутация: 0
Версия LabVIEW: 2018
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение Taba »

Проблема в том, что нужно формировать массив, а не инициализировать его в цикле на каждой итерации.
Я не понял :dntknw: Можно пример с картинкой? Ну или подробнее.
А я пока времени даром не терял и вроде понял что делать надо.

Хочется иметь такую возможность: объединить несколько array-ев чисел разных размеров в некую кучу и потом иметь возможность считывать из этой кучи (типа Куча index 1 = {1;3;67;-1}; Куча index 22 = {0;55} ит.д.). Вообщем видимо придётся делать типа такого: переводим каждую строчку в текст - > объединяем все тексты в массив из текстов (это и есть Куча) - > далее считывем Куча index 0 получаем текст - > и делаем обратный перевод полученного текста в строку чисел.

Taba
beginner
beginner
Сообщения: 31
Зарегистрирован: 02 дек 2015, 15:06
Репутация: 0
Версия LabVIEW: 2018
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение Taba »

Ни как :crazy: :labview: не поддерживает тип данных (структуру) массив массивов.
Можно создать массив кластеров массивов, вставив функцию Bundle перед Tunnel.
Попробовал по твоему, есть проблема. Но для начала опишу конкретней что я делаю, потому что на самом деле нужен массив массивов не чисел а массив массивов пар (bundle двух чисел) чисел.
Я хочу сделать Vi для раскраски графиков по такой схеме:
1) Задаётся таблица раскраски вида {0-50 1; 51-100 2; 101-500 3} - это означает, что в дальнейшем точки с индексами X от 0 до 50 будут цвета 1, 51-100 цвета 2 ит.д.
2) В property node "Value" графика поставляется array массивов бандлов (X;Y) - каждая пара бандла (X;Y) - 1 точка; каждый массив это множество точек графика одного цвета; ну а array этих массивов - совокупность раскрашенных участков графика.

Проблема такая: раньше я кормил "Value" выходом Vi "Color graph by table". И всё работает, только из-за добивания всех элементов array до одного размера нулями (см. аттач) у многих массивов бандлов XY появлется точка с координатами (0;0), что нехорошо.

Теперь я пробую по твоему и кормлю "Value" выходом Vi "Color graph by table exp 1". И, блин, понимаешь она (property node "Value") его есть не хочет, потому, что "You have connected two terminals of different types: The type of the source is 1D array of cluster of 1 element. The type of the sink is 1D array of cluster of 1 element." - т.е. хз почему :cantbe:
Вложения
Color graph by table.Vi - так было
Color graph by table.Vi - так было
рац предлжение от blackman
рац предлжение от blackman
Корявое решение, которое работает, но только если элементов для покраски мало. Если их будет много, придётся добавлять много элементов вручную.
Корявое решение, которое работает, но только если элементов для покраски мало. Если их будет много, придётся добавлять много элементов вручную.
new method.jpg

zxc_pavel
assistant
assistant
Сообщения: 140
Зарегистрирован: 02 июн 2016, 12:07
Репутация: 0
Версия LabVIEW: 15
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение zxc_pavel »

Если я правильно понял...

Проблема в том, что multiplot XY graph - это:
1. 1d-массив, где элемент -
2. Кластер из 2ух элементов (x и y), где элемент -
3. 1d-МАССИВ точек


У Вас не так:
1. 1d-массив, где элемент -
2. Кластер, где элемент -
3. Массив кластеров

Blackman

Activity
leader
leader
Сообщения: 922
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Репутация: 0
Версия LabVIEW: 6.1,8.5,20
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение Blackman »

Не забываем делать Unbundle :wink:
Вложения
blackman.png
Структуры равны :)
Структуры равны :)
Структуры равны
Структуры равны
blackman 3.png (15.47 КБ) 4240 просмотров
Refactoring code
Refactoring code
Последний раз редактировалось Blackman 09 сен 2018, 11:55, всего редактировалось 1 раз.

Taba
beginner
beginner
Сообщения: 31
Зарегистрирован: 02 дек 2015, 15:06
Репутация: 0
Версия LabVIEW: 2018
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение Taba »

Не забываем делать Unbundle :wink:
Спасибо, работает, багов нет =)
Если я правильно понял...

Проблема в том, что multiplot XY graph - это:
1. 1d-массив, где элемент -
2. Кластер из 2ух элементов (x и y), где элемент -
3. 1d-МАССИВ точек


У Вас не так:
1. 1d-массив, где элемент -
2. Кластер, где элемент -
3. Массив кластеров
Наверное так и есть. Я Labview осваиваю методом тыка. Ткнул на одну кнопку - работает - хорошо; ткнул на другую - перестало работать - больше на неё не тыкай.

Спасибо за ответы, пока всё работает :bye: .
Вложения
Ok.jpg

Ответить

Вернуться в «Для чайников»