LabView:вопросы и ответы

Обсуждаем цифровые устройства...
orinoko

Re: LabView:вопросы и ответы

Сообщение orinoko »

Децибел - это логарифмическая функция, и в дополнение относительная. Ничто не мешает обработать данные, чтобы массив стал этим логарифмом, какой вам нужен. Оси графика можно переименовать. А можно использовать другой тип графика. Исходник бы, и массив данных, с которым я бы мог поиграться.
Реклама
Dm-P
Родился
Сообщения: 17
Зарегистрирован: Сб мар 19, 2011 18:04:39

Re: LabView:вопросы и ответы

Сообщение Dm-P »

Массива данных нет - я не умею записывать в файл. Могу попробовать сделать вручную..
Скажу пока только, что этот массив можно представить как последовательность байт HI и LO (в двоичной системе будет понятнее), например:
HI_______LO
00000011 11000000
00101011 11000000
01011010 01000000
... и т.д.
Старшие два бита LO значащие, остальные - нет.
Вложения
Test_FFT.rar
(25.17 КБ) 202 скачивания
Реклама
Dm-P
Родился
Сообщения: 17
Зарегистрирован: Сб мар 19, 2011 18:04:39

Re: LabView:вопросы и ответы

Сообщение Dm-P »

Вот массив данных - синусоида. Время между отсчётами = 1 мс.
Вложения
Синусоида.xls
(25.5 КБ) 227 скачиваний
orinoko

Re: LabView:вопросы и ответы

Сообщение orinoko »

Прошу прощения, что долго не отвечал. Было некогда. К сожалению, в данных функциях я немного плаваю. Но могу посоветовать просмотреть примеры (В начальном окне "Find Examples"), там есть похожие на ваши задачи - целый раздел (Analising and process signal -> FFT and fraquency analisis). Возможно почерпнёте что-то полезное
Я ещё поиграюсь с вашей задачей. И, я так понял, вам логарифм. шкала нужна во втором графике? или нет?
Реклама
Эиком - электронные компоненты и радиодетали
Dm-P
Родился
Сообщения: 17
Зарегистрирован: Сб мар 19, 2011 18:04:39

Re: LabView:вопросы и ответы

Сообщение Dm-P »

Извините, я тоже опоздал с ответом - исправлял ошибки :)) Теперь всё работает почти как надо.
Да, во втором графике нужна логарифмическая шкала. Дело в том, что логарифмический масштаб по обеим осям я поставил, но хочется как у осциллографа в режиме FFT: по оси Y - в децибелах (допустим, относительно чего это посчитать, я определюсь), по оси Х - в герцах. Возможно ли переименовать оси графиков? Как это сделать?
Третий график вообще "погоду" показывает, не обращайте внимания.
Реклама
orinoko

Re: LabView:вопросы и ответы

Сообщение orinoko »

Чтобы была возможность переименовывать оси, сначала необходимо иметь информацию о дискретизации. У вас она отсутствует. Поэтому по оси Х у вас попугаи. Посмотрите пример "Power Spectrum Measurement". Если я правильно понимаю, вам нужно именно так?
Вложения
Test_FFT_lv11.zip
(16.98 КБ) 230 скачиваний
Spectral-FrontPanel1.png
(26.44 КБ) 550 скачиваний
Spectral-BlockDiagram1.png
(21.38 КБ) 677 скачиваний
Реклама
Dm-P
Родился
Сообщения: 17
Зарегистрирован: Сб мар 19, 2011 18:04:39

Re: LabView:вопросы и ответы

Сообщение Dm-P »

Да, именно так. Огромное вам спасибо, это стоило бы мне кучу времени.
Ну что же, очевидно, что без глубоких знаний LV начинающему даже такую задачу не решить. Визуальное программирование требует особых навыков...
Ещё раз спасибо.
Аватара пользователя
foxit
Грызет канифоль
Сообщения: 262
Зарегистрирован: Пт ноя 16, 2007 00:40:17
Откуда: Украина

Re: LabView:вопросы и ответы

Сообщение foxit »

Orinoko, а как организовать прием строки NMEA от GPS, декодировать ее и вывести данные на экран?\
Спасибо.
Аватара пользователя
Roman Venom
Сверлит текстолит когтями
Сообщения: 1135
Зарегистрирован: Сб июл 11, 2009 18:42:21
Откуда: Украина, г.Николаев

Re: LabView:вопросы и ответы

Сообщение Roman Venom »

foxit
Ну вы молодец, конечно. Вопрос в стиле "как построить ракету". Отвечу: точно так же как принять любую другую строку. Декодируется NMEA по идентификатору вначале строки и номеру символа через запятую в строке (протокол стандартный и подробно описан на просторах интернета).
Успех - императив!
orinoko

Re: LabView:вопросы и ответы

Сообщение orinoko »

Dm-P писал(а):Да, именно так. Огромное вам спасибо, это стоило бы мне кучу времени.
Ну что же, очевидно, что без глубоких знаний LV начинающему даже такую задачу не решить. Визуальное программирование требует особых навыков...
Ещё раз спасибо.
вы мне льстите :oops: . У меня весьма неглубокие познания, по сравнению с некоторыми.
Кстати, у ваших данных есть один нюанс. В них присутствует постоянная составляющая. Её нужно убрать. Иначе всегда будет присутствовать гармоника с частотой 0. И изменить при инициализации кластера Waveform переменную dT - это период следования семплов в секундах (там сейчас 0,001, а вам вроде надо 0,01)
orinoko

Re: LabView:вопросы и ответы

Сообщение orinoko »

foxit писал(а):Orinoko, а как организовать прием строки NMEA от GPS, декодировать ее и вывести данные на экран?\
Спасибо.
http://edu.dvgups.ru/METDOC/GDTRAN/NTS/ ... ame/14.htm
http://www.labviewportal.eu/viewtopic.php?f=142&t=4432

В роботиксе есть готовая функция по декодированию GPS
Dm-P
Родился
Сообщения: 17
Зарегистрирован: Сб мар 19, 2011 18:04:39

Re: LabView:вопросы и ответы

Сообщение Dm-P »

orinoko писал(а): Кстати, у ваших данных есть один нюанс. В них присутствует постоянная составляющая. Её нужно убрать. Иначе всегда будет присутствовать гармоника с частотой 0. И изменить при инициализации кластера Waveform переменную dT - это период следования семплов в секундах (там сейчас 0,001, а вам вроде надо 0,01)
Понято. С этим для меня уже легче.
sergey_mak
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Ср май 30, 2012 16:49:20

Re: LabView:вопросы и ответы

Сообщение sergey_mak »

Здравствуйте всем. Такой вопрос, есть устройство, которое в СОМ порт выдает число от 300 до 9000, в зависимости от измеренного параметра. Я с помощью функции scan fron string вывожу эти числа на waveform chart, проблема в том, что из-за помех и наводок иногда в порт прилетает число, которое намного превышает верхний диапазон, и ничего с аппаратной точки зрения я сделать не могу, в эту железку не залезть. Если подключиться терминалом, то это выглядит так:

Код: Выделить всё

800
850
1000
1200
1256
2567
46986589065
2678
3000
3567
4321
5789
6538
98765470878466
7000
7476
соответственно когда этот мусор прилетает, на графике выбросы. Как в лабвью это фильтровать получше?
orinoko

Re: LabView:вопросы и ответы

Сообщение orinoko »

Есть несколько вариантов, в зависимости от реализации
1. Сравнивать с максимально возможным (9000) и, если такое пришло, его отбрасывать (игнорировать дальнейшую обработку - использовать case-структуру), или заменять его предыдущим корректным
2. Дополнительно, если пришедшая строка больше, чем например 4, то аналогично игнорировать.
Предыдущее значение внутри цикла можно получить, используя shift-регистр.
Лучше совместить, так как у вас может получиться переполнение и неверный результат.
sergey_mak
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Ср май 30, 2012 16:49:20

Re: LabView:вопросы и ответы

Сообщение sergey_mak »

спасибо, буду пытаться сделать.
Dimanslm
Первый раз сказал Мяу!
Сообщения: 31
Зарегистрирован: Чт янв 31, 2013 19:07:00

Re: LabView:вопросы и ответы

Сообщение Dimanslm »

Доброго времени суток, уважаемые форумчане !
Недавно озадачился темой, чтобы подружить LabView и датчик DS18B20
Собрал по схеме с диодами и стабилитронами, нашел программу, называется именем самого датчика, там все прекрасно работает, этому я был рад)
Но вот в лабвью отказывается.. Из блока Visa configure serial port в режиме отладки все проходит со знаком ОК, а далее задерживается в блоке VISA Read и оттуда уже пошли ошибки.. Бьюсь уже долгое время, но пока без результатно

Так же не знаю какое число нужно ввести в блок byte count, по идее если датчик имеет 64-битный последовательный код, то нужно туда записать цифру 8 (байт), но тоже самое выходит..

Изображение

файл проекта так же прилагаю http://gfile.ru/a7Nur
orinoko

Re: LabView:вопросы и ответы

Сообщение orinoko »

Датчик является устройством, которое само никогда ничего не отсылает на хост. Только по запросу. И где посылка запроса? И в byte count нужно указывать число байт, которое предполагается принять. Если на время таймаута, определённое при конфигурации, не пришло это количество байт, то и будет ошибка. Сначала вам нужно убедиться в том, что вся эта связка работает, из терминала пообщаться с датчиком. Далее вам нужно понять, что сразу датчик температуру не выводит. Сначала подать команду "конвертирование", не менее чем через 750 мс подать команду "чтение данных" , при этом не забыть, что принимаемый пакет весит 9 байт (последний CRC8), проверить CRC (мало ли), если всё окей, то взять первые 2 байта и их преобразовать для выдачи на индикатор.
Вот вам ссылка за русское описание DS18B20 http://www.ugolok-mastera.ru/ds18b20-rus_pic_v2.pdf
Опять же, многое зависит от схемы подключения, так как COM-порт - это RS232, а DS18B20 - это 1-Wire. Данное приложение (DS18B20.exe) скорее всего программно формирует сигналы, необходимые для работы с датчиком. Если мне кто-то ткнёт в алгоритм работы этой программы, то тогда можно и поиграться будет. Так как обычных команд запись-чтение, думается мне будет мало
Dimanslm
Первый раз сказал Мяу!
Сообщения: 31
Зарегистрирован: Чт янв 31, 2013 19:07:00

Re: LabView:вопросы и ответы

Сообщение Dimanslm »

Cпасибо за подробный ответ, теперь понял, что не все так просто)
Но как общаться с датчиком через лабвью так и не понятно..я прочел описание, для меня проще было бы написать программу на Си для микроконтроллера чем в LabView :facepalm:
А может есть какие то примерные наработки уже на эту тему, разве никто не пытался такую задумку осуществить ?
Dimanslm
Первый раз сказал Мяу!
Сообщения: 31
Зарегистрирован: Чт янв 31, 2013 19:07:00

Re: LabView:вопросы и ответы

Сообщение Dimanslm »

Нашел в теме ваш проект "работа с портом", попытаюсь поразбираться в нем что и как. Как я понял он для нескольких датчиков, думаю для одного датчика все будет попроще немного
Dimanslm
Первый раз сказал Мяу!
Сообщения: 31
Зарегистрирован: Чт янв 31, 2013 19:07:00

Re: LabView:вопросы и ответы

Сообщение Dimanslm »

А почему мы в том проекте записываем в буфер и отправляем именно символ Т ? Это просто для примера ?
Как же все те алгоритмы для датчика на Си, как без инициализации вообще..
1397891735-clip-39kb.png
(38.77 КБ) 676 скачиваний
Ответить

Вернуться в «Цифровая техника»