Отладка-уменьшение нагрузки напроц VI

Простейшие вопросы в области инженерной разработки
rumit
beginner
beginner
Сообщения: 26
Зарегистрирован: 16 дек 2009, 13:59
Версия LabVIEW: 8.6.1
Контактная информация:

Отладка-уменьшение нагрузки напроц VI

Сообщение rumit »

Здравствуйте. Есть VI, который работает со входом звуковой карты (duration 0,3s;sample r 27500). Задача VI детектировать адресную телефонную информацию. Прибор работает круглосуточно и значительно нагружает процессор. При включении прибора на HP Pavilion AMD Turion 2GHT нагрузка увеличивается на 15-20 иногда аж на 40%
detector.jpg
Как можно уменьшить нагрузку?

То что я уже домыслил
1. купить внешнюю звуковую плату
2. Создать в приборе два режима работы - ожидание, детектирование

По второму варианту нашел Wait For Front Panel Activity Function, можно ли эту функцию для моего случая приспособить?
Еще в топике "советы новичкам" прочитал, что не желательно использовать экспресс ви, а у меня как раз основную работу выполняет Tone Measurement, играет ли это существенную роль на нагрузке?
И еще, уменьшится ли нагрузка если создать exe, извините, что спрашиваю, не могу сам проверить(триал версия)

Для меня очень важно уменьшить нагрузку, потому что предпологается что этот ВИ будет ставиться с другим ПО на старенькую машину. Буду благодарен залюбую помощь, совет, направление
Аватара пользователя
mzu2006

Professionalism Tutorials Black
doctor
doctor
Сообщения: 2456
Зарегистрирован: 16 авг 2008, 02:12
Награды: 3
Версия LabVIEW: 7.1 10 11 12
Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
Контактная информация:

Re: отладка-уменьшение нагрузки напроц VI

Сообщение mzu2006 »

В этом :vi: есть что-то что не влезло на экран? Покажи, plz, всё, что есть.

Мне кажется более перспективной идея о двух режимах + разбитие программы на два потока выполнения: один "слушает" звуковую карту в буффер,
другой производит обработку.

У express :vi: много недостатков. Один из них, важный в твоём случае - AcquireSignal открывает и закрывает звуковую карту. Т.е. - лишняя нагрузка на процессор + ты теряешь некоторые измерения.

Как сделать отдельный поток на звуковуху: посмотри на решения уважаемого FireFly и моё со второго конкурса.
rumit
beginner
beginner
Сообщения: 26
Зарегистрирован: 16 дек 2009, 13:59
Версия LabVIEW: 8.6.1
Контактная информация:

Re: отладка-уменьшение нагрузки напроц VI

Сообщение rumit »

Спасибо большое за ответ
mzu2006 писал(а):В этом :vi: есть что-то что не влезло на экран? Покажи, plz, всё, что есть.
Нет, там больше ни чего нет, могу показать SVI 4
opredelitel.jpg
mzu2006 писал(а):разбитие программы на два потока выполнения: один "слушает" звуковую карту в буффер,
другой производит обработку.
Попробую основную часть в Case structure засунуть. А вот про буфер, не совсем понял. Имеется Ввиду что ЛВ сначала записывает сигнал, а анализ производит с этих записей. Можно по подробней про буфер?
mzu2006 писал(а):Как сделать отдельный поток на звуковуху: посмотри на решения уважаемого FireFly и моё со второго конкурса.
Спасибо сейчас посмотрю.
Аватара пользователя
mzu2006

Professionalism Tutorials Black
doctor
doctor
Сообщения: 2456
Зарегистрирован: 16 авг 2008, 02:12
Награды: 3
Версия LabVIEW: 7.1 10 11 12
Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
Контактная информация:

Re: отладка-уменьшение нагрузки напроц VI

Сообщение mzu2006 »

Вот например, там рамочка. От чего это рамочка? Выложи весь VI
rumit
beginner
beginner
Сообщения: 26
Зарегистрирован: 16 дек 2009, 13:59
Версия LabVIEW: 8.6.1
Контактная информация:

Re: отладка-уменьшение нагрузки напроц VI

Сообщение rumit »

выкладываю
Вот здесь кратко описана работа http://labviewportal.org/viewtopic.php?f=52&t=1668
Для полноценно работы нужен софтфон подключенный к программной АТС или к VoIP провайдеру
На днях офрмлю все в "проектах"
Вложения
detector.rar
(112.52 КБ) 104 скачивания
rumit
beginner
beginner
Сообщения: 26
Зарегистрирован: 16 дек 2009, 13:59
Версия LabVIEW: 8.6.1
Контактная информация:

Re: отладка-уменьшение нагрузки напроц VI

Сообщение rumit »

Извиняюсь, старую версию скинул, вот поновее, она не так тупит
ampl lib желательно 0,02 поставить
Вложения
detector2.rar
(171.92 КБ) 118 скачиваний
Аватара пользователя
Pavel Krivozubov

Activity Bronze
professor
professor
Сообщения: 4421
Зарегистрирован: 07 фев 2008, 16:39
Награды: 3
Версия LabVIEW: 7.0 - 2013
Откуда: г. Электросталь
Благодарил (а): 24 раза
Поблагодарили: 9 раз
Контактная информация:

Re: отладка-уменьшение нагрузки напроц VI

Сообщение Pavel Krivozubov »

Такое злоупотребление экспресами до добра не доводит :nono:
посмотри в Example Finder примеры на слова Sound, Filter, так же обрати внимание на палитру WaveForm Measurements.
Там все реализовано и без всяких экспрессов.
И еще - я не увидел задержки в цикле - это тоже может стать причиной загрузки процессора. 100 мс для данной задачи вполне хватит.
Аватара пользователя
mzu2006

Professionalism Tutorials Black
doctor
doctor
Сообщения: 2456
Зарегистрирован: 16 авг 2008, 02:12
Награды: 3
Версия LabVIEW: 7.1 10 11 12
Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
Контактная информация:

Re: отладка-уменьшение нагрузки напроц VI

Сообщение mzu2006 »

Indey писал(а):И еще - я не увидел задержки в цикле. 100 мс для данной задачи вполне хватит.
Этот цикл у rumit, занимается сбором данных с карты. Ему нельзя прерываться.
rumit
beginner
beginner
Сообщения: 26
Зарегистрирован: 16 дек 2009, 13:59
Версия LabVIEW: 8.6.1
Контактная информация:

Re: отладка-уменьшение нагрузки напроц VI

Сообщение rumit »

Спасибо, сейчас же этим займусь.
rumit
beginner
beginner
Сообщения: 26
Зарегистрирован: 16 дек 2009, 13:59
Версия LabVIEW: 8.6.1
Контактная информация:

Re: отладка-уменьшение нагрузки напроц VI

Сообщение rumit »

Example Finder помог, все составляющие нашел, только везде используются масивы, а я их пока плохо знаю, начал книжку Трэвиса читать. Но эт ладно, не проблема.
Проблема вот в чем - собрал схемку Finite Sound Input.vi (самое простое, что нашел) и Wareform Graph и сразу таск менеджер выдал мне 40% загрузки. Дальше считаю нет смысла работать со схемой, если на входе сразу такая нагрузка.
Возможно Finite Sound Input.vi не то, что мне нужно? Или же это стандартная нагрузка для такой задачи?
toto

Activity Gold Black
professional
professional
Сообщения: 390
Зарегистрирован: 07 мар 2008, 09:26
Награды: 3
Версия LabVIEW: 6i-16
Откуда: Санкт-Петербург
Контактная информация:

Re: отладка-уменьшение нагрузки напроц VI

Сообщение toto »

Нет, такая нагрузка из-за неправильного программирования, у меня в проекте работает две звуковые карты два потока цифруют, один поток выводит, плюсом к этому еще идет огромный вал информации с цифрового приемника и проц не перегружается.
Аватара пользователя
mzu2006

Professionalism Tutorials Black
doctor
doctor
Сообщения: 2456
Зарегистрирован: 16 авг 2008, 02:12
Награды: 3
Версия LabVIEW: 7.1 10 11 12
Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
Контактная информация:

Re: отладка-уменьшение нагрузки напроц VI

Сообщение mzu2006 »

rumit писал(а):выдал мне 40% загрузки
toto писал(а):Нет, такая нагрузка из-за неправильного программирования
Согласен, посмотри решения ко второму конкурсу, о которых я говорил. Там идёт постоянное поточное общение со звуковухой - 0% загрузка...
Аватара пользователя
Pavel Krivozubov

Activity Bronze
professor
professor
Сообщения: 4421
Зарегистрирован: 07 фев 2008, 16:39
Награды: 3
Версия LabVIEW: 7.0 - 2013
Откуда: г. Электросталь
Благодарил (а): 24 раза
Поблагодарили: 9 раз
Контактная информация:

Re: отладка-уменьшение нагрузки напроц VI

Сообщение Pavel Krivozubov »

rumit писал(а):Example Finder помог, все составляющие нашел, только везде используются масивы, а я их пока плохо знаю, начал книжку Трэвиса читать. Но эт ладно, не проблема.
Проблема вот в чем - собрал схемку Finite Sound Input.vi (самое простое, что нашел) и Wareform Graph и сразу таск менеджер выдал мне 40% загрузки. Дальше считаю нет смысла работать со схемой, если на входе сразу такая нагрузка.
Возможно Finite Sound Input.vi не то, что мне нужно? Или же это стандартная нагрузка для такой задачи?
Верной дорогой идешь :D
Попробуй теперь пример Continius Sound Input. Так же глянь пример Simulate Sound IO. Я на нем отлаживаю все свои приложения связанные со звуком.
40% - это ненормальная загрузка при такой задаче. Начни по шагам - запусти Simulate Sound IO, посмотри сколько жрёт. Добавь график, посмотри. Потом фильтр добавь (не экспресс), а из палитры Filters. Ну и так далее. Только так, по шагам можно выяснить причину такой большой загрузки процессора.
rumit
beginner
beginner
Сообщения: 26
Зарегистрирован: 16 дек 2009, 13:59
Версия LabVIEW: 8.6.1
Контактная информация:

Re: отладка-уменьшение нагрузки напроц VI

Сообщение rumit »

Спасибо всем, ответ нашелся после указаний Indey. Только я пошел дальше и замерил работу пустого ВИ - 35%. Пара мне систему перебивать ей уже второй год :). Извините, получается пост на пустом месте создал, зато узнал очень много полезного, нарисовался план действий. Сейчас начну все заново и переделаю схемку.
Еще раз всем большое спасибо.
rumit
beginner
beginner
Сообщения: 26
Зарегистрирован: 16 дек 2009, 13:59
Версия LabVIEW: 8.6.1
Контактная информация:

Re: отладка-уменьшение нагрузки напроц VI

Сообщение rumit »

!!!!!! Заработало. Использовал Continius Sound Input, фильтры и измерители тона из signal procssing. Нагрузка 7-10%. И это еще не все, раньше для распознования тона нужно было удерживать клавишу секунду, сейчас достаточно мгновенного нажатия. Хотя есть и минус иногда на одно нажатие 2 цифры проскакивают, думаю как теперь обуздать такую энергию :D
Спасибо огромное, сам бы я до этого еще месяц доходил!!!
PS так и не понял почему пустой VI дает такую огромную нагрузку
Ответить

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