Выход и приём звуковухи в одном цикле

Простейшие вопросы в области инженерной разработки
Ответить
Аватара пользователя
Иван2019
beginner
beginner
Сообщения: 14
Зарегистрирован: 14 сен 2018, 16:50
Версия LabVIEW: 16
Контактная информация:

Выход и приём звуковухи в одном цикле

Сообщение Иван2019 »

Всем привет! У меня есть программа в которой в одном файле собран генератор и анализатор сигнала(типа осциллографа). Задействованы выход и вход звуковой карты ПК. Для этого были открыты два цикла. А можно ли все это в одном цикле собрать и если да, то как??? когда я их тупо сбрасываю в один цикл, получается на осциллографе обрезанная синусоида.. что делать? фото ошибки и файл vi прикрепил.
Вложения
скрин проги
скрин проги
ошибка
ошибка
Двухканальный генератор.vi
vi файл
(121.9 КБ) 69 скачиваний
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Выход и приём звуковухи в одном цикле

Сообщение Artem.spb »

частоты различаются примерно в 2 раза, вот выдача половину времени и простаивает.
Аватара пользователя
Иван2019
beginner
beginner
Сообщения: 14
Зарегистрирован: 14 сен 2018, 16:50
Версия LabVIEW: 16
Контактная информация:

Re: Выход и приём звуковухи в одном цикле

Сообщение Иван2019 »

Тоже не получается. Картина немного на осциллографе меняется, но тоже ни чего хорошего..
Вложения
форум_5н.png
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Выход и приём звуковухи в одном цикле

Сообщение Artem.spb »

Вы бы перестали шифроваться и кинули весь ваш неработающий код, нам сразу стало бы проще найти там ошибку.
Аватара пользователя
Иван2019
beginner
beginner
Сообщения: 14
Зарегистрирован: 14 сен 2018, 16:50
Версия LabVIEW: 16
Контактная информация:

Re: Выход и приём звуковухи в одном цикле

Сообщение Иван2019 »

Ну пожалуйста! два файла прикрепил. 1-рабочий, но в двух циклах. 2- файл, там где я сбросил все в один цикл. Ну и та же проблема. осциллограф выдает фигню..
Вложения
Двухканальный генератор.vi
рабочий
(121.9 КБ) 96 скачиваний
Двухканальный генератор один цикл.vi
все в одном цикле...
(120.8 КБ) 81 скачивание
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Выход и приём звуковухи в одном цикле

Сообщение Artem.spb »

size.PNG
size.PNG (10.39 КБ) 3461 просмотр
генератор у вас настроен на 10 Гц, а чтение пытается реже.
Аватара пользователя
Иван2019
beginner
beginner
Сообщения: 14
Зарегистрирован: 14 сен 2018, 16:50
Версия LabVIEW: 16
Контактная информация:

Re: Выход и приём звуковухи в одном цикле

Сообщение Иван2019 »

Artem.spb,
А можно по подробнее, пожалуйста.. Ну у меня генератор должен работать не только на 10 Гц , как быть с одним циклом тогда?
Аватара пользователя
dadreamer

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

Re: Выход и приём звуковухи в одном цикле

Сообщение dadreamer »

А с чем связана необходимость внести всё в один цикл? Обычно наоборот поступают.
Аватара пользователя
Иван2019
beginner
beginner
Сообщения: 14
Зарегистрирован: 14 сен 2018, 16:50
Версия LabVIEW: 16
Контактная информация:

Re: Выход и приём звуковухи в одном цикле

Сообщение Иван2019 »

dadreamer,
Просто в дальнейшем мне нужно отправлять данные с одного цикла в другой. Использование Local Variable немного с запозданием передаёт, и вообще от этой переменной хотелось бы уйти .
Кстати с выставлением значений 3 частот указанных выше, в одном цикле все же заработала программа, но ООООООооочень медленно ...
Аватара пользователя
dadreamer

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

Re: Выход и приём звуковухи в одном цикле

Сообщение dadreamer »

Иван2019 писал(а):dadreamer,
Просто в дальнейшем мне нужно отправлять данные с одного цикла в другой. Использование Local Variable немного с запозданием передаёт, и вообще от этой переменной хотелось бы уйти .
Для этих целей есть замечательная палитра Synchronization, где содержится множество :vi: для коммуникации между параллельными циклами. Например, очереди или уведомители.
dadreamer писал(а):
dadreamer писал(а):Синхронизировать циклы можно через очереди, уведомители и прочие инструменты.
В интернете полно примеров по передаче данных между параллельными циклами. Изучите, как работают механизмы синхронизации, на примере http://www.ni.com/white-paper/3023/en/ (подход "Producer - Consumer"). Посмотрите схожие темы на форуме, например http://www.labviewportal.org/viewtopic. ... 096#p66096 , http://www.labviewportal.org/viewtopic. ... 893#p68893 , http://www.labviewportal.org/viewtopic. ... 28&#p62828

А также вот вам литература и примеры:
1) "LabVIEW Основы II: Разработка" : шаблон «Производитель-потребитель» + материал в главе 2 "Передача данных между несколькими циклами"
2) Питер Блюм "LabVIEW: стиль программирования", в частности глава 8 "Шаблоны" и раздел 8.3.1 "Параллельные циклы"
3) примеры в папке C:\Program Files (x86)\National Instruments\LabVIEW 2014\examples\Synchronization
Аватара пользователя
Иван2019
beginner
beginner
Сообщения: 14
Зарегистрирован: 14 сен 2018, 16:50
Версия LabVIEW: 16
Контактная информация:

Re: Выход и приём звуковухи в одном цикле

Сообщение Иван2019 »

dadreamer,
Спасибо конечно. но пока задача все же в один цикл сбросить
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Выход и приём звуковухи в одном цикле

Сообщение Artem.spb »

Иван2019 писал(а):Artem.spb,
А можно по подробнее, пожалуйста.. Ну у меня генератор должен работать не только на 10 Гц , как быть с одним циклом тогда?
не важно, сколько Гц. Важно, чтобы длины массивов совпадали.
Если 10Гц, то оба 4410 при такой частоте дискретизации. Генератору волны надо заказать другое число отсчётов, или со свуковухи читать не 4410, а 5К
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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