LabView:вопросы и ответы
-
orinoko
Re: LabView:вопросы и ответы
Децибел - это логарифмическая функция, и в дополнение относительная. Ничто не мешает обработать данные, чтобы массив стал этим логарифмом, какой вам нужен. Оси графика можно переименовать. А можно использовать другой тип графика. Исходник бы, и массив данных, с которым я бы мог поиграться.
- Реклама
Re: LabView:вопросы и ответы
Массива данных нет - я не умею записывать в файл. Могу попробовать сделать вручную..
Скажу пока только, что этот массив можно представить как последовательность байт HI и LO (в двоичной системе будет понятнее), например:
HI_______LO
00000011 11000000
00101011 11000000
01011010 01000000
... и т.д.
Старшие два бита LO значащие, остальные - нет.
Скажу пока только, что этот массив можно представить как последовательность байт HI и LO (в двоичной системе будет понятнее), например:
HI_______LO
00000011 11000000
00101011 11000000
01011010 01000000
... и т.д.
Старшие два бита LO значащие, остальные - нет.
- Вложения
-
- Test_FFT.rar
- (25.17 КБ) 202 скачивания
Re: LabView:вопросы и ответы
Вот массив данных - синусоида. Время между отсчётами = 1 мс.
- Вложения
-
- Синусоида.xls
- (25.5 КБ) 227 скачиваний
-
orinoko
Re: LabView:вопросы и ответы
Прошу прощения, что долго не отвечал. Было некогда. К сожалению, в данных функциях я немного плаваю. Но могу посоветовать просмотреть примеры (В начальном окне "Find Examples"), там есть похожие на ваши задачи - целый раздел (Analising and process signal -> FFT and fraquency analisis). Возможно почерпнёте что-то полезное
Я ещё поиграюсь с вашей задачей. И, я так понял, вам логарифм. шкала нужна во втором графике? или нет?
Я ещё поиграюсь с вашей задачей. И, я так понял, вам логарифм. шкала нужна во втором графике? или нет?
Re: LabView:вопросы и ответы
Извините, я тоже опоздал с ответом - исправлял ошибки
Теперь всё работает почти как надо.
Да, во втором графике нужна логарифмическая шкала. Дело в том, что логарифмический масштаб по обеим осям я поставил, но хочется как у осциллографа в режиме FFT: по оси Y - в децибелах (допустим, относительно чего это посчитать, я определюсь), по оси Х - в герцах. Возможно ли переименовать оси графиков? Как это сделать?
Третий график вообще "погоду" показывает, не обращайте внимания.
Да, во втором графике нужна логарифмическая шкала. Дело в том, что логарифмический масштаб по обеим осям я поставил, но хочется как у осциллографа в режиме FFT: по оси Y - в децибелах (допустим, относительно чего это посчитать, я определюсь), по оси Х - в герцах. Возможно ли переименовать оси графиков? Как это сделать?
Третий график вообще "погоду" показывает, не обращайте внимания.
- Реклама
-
orinoko
Re: LabView:вопросы и ответы
Чтобы была возможность переименовывать оси, сначала необходимо иметь информацию о дискретизации. У вас она отсутствует. Поэтому по оси Х у вас попугаи. Посмотрите пример "Power Spectrum Measurement". Если я правильно понимаю, вам нужно именно так?
- Вложения
-
- Test_FFT_lv11.zip
- (16.98 КБ) 230 скачиваний
-
- Spectral-FrontPanel1.png
- (26.44 КБ) 550 скачиваний
-
- Spectral-BlockDiagram1.png
- (21.38 КБ) 677 скачиваний
Re: LabView:вопросы и ответы
Да, именно так. Огромное вам спасибо, это стоило бы мне кучу времени.
Ну что же, очевидно, что без глубоких знаний LV начинающему даже такую задачу не решить. Визуальное программирование требует особых навыков...
Ещё раз спасибо.
Ну что же, очевидно, что без глубоких знаний LV начинающему даже такую задачу не решить. Визуальное программирование требует особых навыков...
Ещё раз спасибо.
Re: LabView:вопросы и ответы
Orinoko, а как организовать прием строки NMEA от GPS, декодировать ее и вывести данные на экран?\
Спасибо.
Спасибо.
- Roman Venom
- Сверлит текстолит когтями
- Сообщения: 1135
- Зарегистрирован: Сб июл 11, 2009 18:42:21
- Откуда: Украина, г.Николаев
Re: LabView:вопросы и ответы
foxit
Ну вы молодец, конечно. Вопрос в стиле "как построить ракету". Отвечу: точно так же как принять любую другую строку. Декодируется NMEA по идентификатору вначале строки и номеру символа через запятую в строке (протокол стандартный и подробно описан на просторах интернета).
Ну вы молодец, конечно. Вопрос в стиле "как построить ракету". Отвечу: точно так же как принять любую другую строку. Декодируется NMEA по идентификатору вначале строки и номеру символа через запятую в строке (протокол стандартный и подробно описан на просторах интернета).
Успех - императив!
-
orinoko
Re: LabView:вопросы и ответы
вы мне льститеDm-P писал(а):Да, именно так. Огромное вам спасибо, это стоило бы мне кучу времени.
Ну что же, очевидно, что без глубоких знаний LV начинающему даже такую задачу не решить. Визуальное программирование требует особых навыков...
Ещё раз спасибо.
Кстати, у ваших данных есть один нюанс. В них присутствует постоянная составляющая. Её нужно убрать. Иначе всегда будет присутствовать гармоника с частотой 0. И изменить при инициализации кластера Waveform переменную dT - это период следования семплов в секундах (там сейчас 0,001, а вам вроде надо 0,01)
-
orinoko
Re: LabView:вопросы и ответы
http://edu.dvgups.ru/METDOC/GDTRAN/NTS/ ... ame/14.htmfoxit писал(а):Orinoko, а как организовать прием строки NMEA от GPS, декодировать ее и вывести данные на экран?\
Спасибо.
http://www.labviewportal.eu/viewtopic.php?f=142&t=4432
В роботиксе есть готовая функция по декодированию GPS
Re: LabView:вопросы и ответы
Понято. С этим для меня уже легче.orinoko писал(а): Кстати, у ваших данных есть один нюанс. В них присутствует постоянная составляющая. Её нужно убрать. Иначе всегда будет присутствовать гармоника с частотой 0. И изменить при инициализации кластера Waveform переменную dT - это период следования семплов в секундах (там сейчас 0,001, а вам вроде надо 0,01)
-
sergey_mak
- Первый раз сказал Мяу!
- Сообщения: 29
- Зарегистрирован: Ср май 30, 2012 16:49:20
Re: LabView:вопросы и ответы
Здравствуйте всем. Такой вопрос, есть устройство, которое в СОМ порт выдает число от 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:вопросы и ответы
Есть несколько вариантов, в зависимости от реализации
1. Сравнивать с максимально возможным (9000) и, если такое пришло, его отбрасывать (игнорировать дальнейшую обработку - использовать case-структуру), или заменять его предыдущим корректным
2. Дополнительно, если пришедшая строка больше, чем например 4, то аналогично игнорировать.
Предыдущее значение внутри цикла можно получить, используя shift-регистр.
Лучше совместить, так как у вас может получиться переполнение и неверный результат.
1. Сравнивать с максимально возможным (9000) и, если такое пришло, его отбрасывать (игнорировать дальнейшую обработку - использовать case-структуру), или заменять его предыдущим корректным
2. Дополнительно, если пришедшая строка больше, чем например 4, то аналогично игнорировать.
Предыдущее значение внутри цикла можно получить, используя shift-регистр.
Лучше совместить, так как у вас может получиться переполнение и неверный результат.
-
sergey_mak
- Первый раз сказал Мяу!
- Сообщения: 29
- Зарегистрирован: Ср май 30, 2012 16:49:20
Re: LabView:вопросы и ответы
спасибо, буду пытаться сделать.
Re: LabView:вопросы и ответы
Доброго времени суток, уважаемые форумчане !
Недавно озадачился темой, чтобы подружить LabView и датчик DS18B20
Собрал по схеме с диодами и стабилитронами, нашел программу, называется именем самого датчика, там все прекрасно работает, этому я был рад)
Но вот в лабвью отказывается.. Из блока Visa configure serial port в режиме отладки все проходит со знаком ОК, а далее задерживается в блоке VISA Read и оттуда уже пошли ошибки.. Бьюсь уже долгое время, но пока без результатно
Так же не знаю какое число нужно ввести в блок byte count, по идее если датчик имеет 64-битный последовательный код, то нужно туда записать цифру 8 (байт), но тоже самое выходит..

файл проекта так же прилагаю http://gfile.ru/a7Nur
Недавно озадачился темой, чтобы подружить LabView и датчик DS18B20
Собрал по схеме с диодами и стабилитронами, нашел программу, называется именем самого датчика, там все прекрасно работает, этому я был рад)
Но вот в лабвью отказывается.. Из блока Visa configure serial port в режиме отладки все проходит со знаком ОК, а далее задерживается в блоке VISA Read и оттуда уже пошли ошибки.. Бьюсь уже долгое время, но пока без результатно
Так же не знаю какое число нужно ввести в блок byte count, по идее если датчик имеет 64-битный последовательный код, то нужно туда записать цифру 8 (байт), но тоже самое выходит..
файл проекта так же прилагаю http://gfile.ru/a7Nur
-
orinoko
Re: LabView:вопросы и ответы
Датчик является устройством, которое само никогда ничего не отсылает на хост. Только по запросу. И где посылка запроса? И в 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) скорее всего программно формирует сигналы, необходимые для работы с датчиком. Если мне кто-то ткнёт в алгоритм работы этой программы, то тогда можно и поиграться будет. Так как обычных команд запись-чтение, думается мне будет мало
Вот вам ссылка за русское описание DS18B20 http://www.ugolok-mastera.ru/ds18b20-rus_pic_v2.pdf
Опять же, многое зависит от схемы подключения, так как COM-порт - это RS232, а DS18B20 - это 1-Wire. Данное приложение (DS18B20.exe) скорее всего программно формирует сигналы, необходимые для работы с датчиком. Если мне кто-то ткнёт в алгоритм работы этой программы, то тогда можно и поиграться будет. Так как обычных команд запись-чтение, думается мне будет мало
Re: LabView:вопросы и ответы
Cпасибо за подробный ответ, теперь понял, что не все так просто)
Но как общаться с датчиком через лабвью так и не понятно..я прочел описание, для меня проще было бы написать программу на Си для микроконтроллера чем в LabView
А может есть какие то примерные наработки уже на эту тему, разве никто не пытался такую задумку осуществить ?
Но как общаться с датчиком через лабвью так и не понятно..я прочел описание, для меня проще было бы написать программу на Си для микроконтроллера чем в LabView
А может есть какие то примерные наработки уже на эту тему, разве никто не пытался такую задумку осуществить ?
Re: LabView:вопросы и ответы
Нашел в теме ваш проект "работа с портом", попытаюсь поразбираться в нем что и как. Как я понял он для нескольких датчиков, думаю для одного датчика все будет попроще немного
Re: LabView:вопросы и ответы
А почему мы в том проекте записываем в буфер и отправляем именно символ Т ? Это просто для примера ?
Как же все те алгоритмы для датчика на Си, как без инициализации вообще..
Как же все те алгоритмы для датчика на Си, как без инициализации вообще..


