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

Обсуждаем цифровые устройства...
exersizze
Родился
Сообщения: 4
Зарегистрирован: Ср июл 04, 2012 11:39:29
Контактная информация:

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

Сообщение exersizze »

делал по примеру отсюда http://easyelectronics.ru/znakomimsya-s-labview.html

Изображение

микроконтроллер отправляет в порт просто набор из 7 цифр, но в том то и дело когда отправляет все запускается.

ну да пофиг, сейчас решил проблему с помощью костыля: добавил склеивание строки из данных из буфера и "пустой строки"", когда данных в буфере uart нет, подставляю в пустую строку 0
вот как сейчас у меня это выглядит с имитацией пакета данных
Изображение
orinoko

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

Сообщение orinoko »

Нехорошо у вас как-то это всё реализовано. Пройдитесь по данной теме. Выкладывалось много примеров работы. Если мне не изменяет память, то входной параметр для VISA Read, который 200 - это количество ожидаемых символов, только после приёма которых произойдёт нормальный выход. У вас скорее всего возникает ошибка на жёлтом проводе, эту ошибку нужно обработать. Советую посылать в конце пакета маркер "конца пакета", например код 0x0D, для разделения пакетов, иначе в процессе работы могут возникнуть глюки.
Конечно, одно дело, если сделать "лишь бы как", или сделать "чтобы корректно". Определитесь с реализацией. Счас у вас сделано по первому варианту.
Вложите архив с вашей программой. Вечером гляну.
exersizze
Родился
Сообщения: 4
Зарегистрирован: Ср июл 04, 2012 11:39:29
Контактная информация:

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

Сообщение exersizze »

ну буду благодарен любым идеям
http://goo.gl/qOX0Sc
orinoko

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

Сообщение orinoko »

Примерно вот так. Конечно, есть недостатки, но лучше. чем исходный вариант. Так как пакет никак не обрамляется, то при длительной работе возможен сдвиг данных. Есть ещё место для творчества.
Мы ожидаем пакет из 7 байт, и их обрабатываем. Пакет, соответственно, не должен приходить чаще, чем задержка ("метроном")
Вложения
scanfromstring1.zip
(18.07 КБ) 324 скачивания
exersizze
Родился
Сообщения: 4
Зарегистрирован: Ср июл 04, 2012 11:39:29
Контактная информация:

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

Сообщение exersizze »

orinoko, спасибо! принцип уяснил.
Еще такой вопрос, как сделать отображение всех полученных данных? Как в терминале. Вот сейчас у меня полученный пакет отображается в строке (String Indicator). Но там находится только текущий пакет, а все предыдущие затираются. Как то надо складывать строки и разделять их переносом строки, но пока не нашел как это сделать. Или же есть какой-то другой способ это сделать?
orinoko

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

Сообщение orinoko »

Использовать Массив строк и Shift Register. В каждой итерации добавлять новый элемент в массив
alexei888
Родился
Сообщения: 1
Зарегистрирован: Чт фев 06, 2014 16:16:56

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

Сообщение alexei888 »

Здравствуйте
! Мне Очень нужна Ваша помощь. Хочу собрать Cчетчик расхода жидкости.
Принцип работы прибора основан на перепаде давления (есть Верхний
придел 6кг/см и есть Нижний придел 5кг/см (в процессе эксплуатации
Значеия Нижнего и Верхнего Давления будут менятся) При подаче жидкости
через Элклапан в Обьеме поднимается давление дошло до 6кг/см Выкл.
Элклапан жидкость расходуется и давление падает до 5кг/см
В этот момент Элклапан ВКЛючается и давление поднимается до 6кг/см и
опять Откл Элклапан.
Когда давление падает до 5кг/см в этот момент происходит Счет (Цена
импульса 0,0025+0,0025=)
Программа это Считает.
Помогите .Дайте Пожалуйста Совет как соеденить Датчик давления с
Программой и как отпровить Команду на ВКЛ Элклапана и Откл.Элклапана
управляемой Программой (Я применил Датчик Давления от ав-ля ММ370
давления масла( Напряжение при Давление 10кг/см= 5Вольт при 0кг/см=
4Вольта) На нем напряжение 12Вольт я переделал чтоб был Максимум выход
был 5Вольт
Соединение устройства хотел бы через USB так как на моем Ноутбуке нет
Com-port
Я по специальности Техник- Мехайник немного далек (мяго сказанно) от
LabVIEW
Я это устройство собрал на основе Мех манометра калькулятора и
секундомера –это каменый век.
На экране Ноутбука смотрется будет современно.Программу если надо я
orinoko

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

Сообщение orinoko »

ну сначала вам нужно организовать аппаратную часть, создать контроллер управления используя МК, продумать схему сопряжения датчиков и исполнительных механизмов с МК, продумать протокол обмена, Написать программу для МК, а вот уже потом дело дойдёт до программной реализации на компьютере. Это как рассказать "Войну и мир" в двух словах. По объёму это хороший диплом написать. Эта задача не для механика. Кстати, Лабвиев там уже на последнем этапе. И вашу задачу можно решить просто на автономном контроллере с подключённым индикатором, ноут там лишний. И непонятна размерность расхода жидкости - какие то попугаи по количеству срабатываний. Загадочное изделие получается.
А секундомер там зачем?
sergey_mak
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Ср май 30, 2012 16:49:20

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

Сообщение sergey_mak »

А как на LabView сделать парсинг, к примеру, вот таких данных, которые шлет микроконтроллер в последовательный порт.

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

RPM = 995  PWM = 90.0320129394 SET = 1000
RPM = 995  PWM = 90.0320129394 SET = 1000
RPM = 996  PWM = 89.2460174560 SET = 1000
RPM = 996  PWM = 89.2460174560 SET = 1000
RPM = 998  PWM = 89.2460174560 SET = 1000
RPM = 998  PWM = 89.2460174560 SET = 1000
RPM = 999  PWM = 88.2495117187 SET = 1000
RPM = 999  PWM = 88.2495117187 SET = 1000
RPM = 999  PWM = 88.2495117187 SET = 1000
RPM = 997  PWM = 88.2495117187 SET = 1000
RPM = 997  PWM = 90.2100143432 SET = 1000


Нужно строить график, по значениям RPM, PWM и SET. Ну или хотя бы RPM и SET
orinoko

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

Сообщение orinoko »

есть несколько вариантов. Можно в лоб - конвертировать с конкретной позиции после определённых символов. Один из вариантов в файле. Но на вход вы должны подавать уже готовый стринг, целиком.
График, я думаю, уже сами сможете организовать
Вложения
Untitled1.zip
(4.17 КБ) 260 скачиваний
ParseStr.png
(22.56 КБ) 761 скачивание
sergey_mak
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Ср май 30, 2012 16:49:20

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

Сообщение sergey_mak »

Спасибо большое! буду пробовать. :)
Dm-P
Родился
Сообщения: 17
Зарегистрирован: Сб мар 19, 2011 18:04:39

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

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

Здравствуйте.
Помогите пожалуйста исправить ошибку: Scan From String ругается Error 85.

Микроконтроллер по RS-232 передаёт байт данных - 8-разрядный код АЦП. Всего проводится около 400 измерений с частотой примерно 100 раз в секунду, после чего контроллер ждёт нажатия на кнопку для очередного цикла измерений. Необходимо преобразовать каждый байт в число и вывести на график.
Пробовал передавать отдельные байты, байты и символ CR, ничего не получается. Почему появляется ошибка? Может лучше использовать что-нибудь вместо Scan From String?
Кстати, вообще процесс передачи идёт - Hyper Terminal отлично принимает символы ASCII, соответствующие реальным значениям напряжения в вольтах (например, от батарейки).
Вложения
VI.rar
(10 КБ) 218 скачиваний
Err85.png
(21.91 КБ) 678 скачиваний
orinoko

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

Сообщение orinoko »

Если я правильно понял, вы передаёте значение АЦП в виде 1 байта (0...255). 400 таких байт. Тогда вам ScanFromString не поможет. Он выполняет другую функцию. Вам нужно использовать StringToByteArray - и вы сразу получаете массив байт в количестве принятых символов
Dm-P
Родился
Сообщения: 17
Зарегистрирован: Сб мар 19, 2011 18:04:39

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

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

Попробовал сделать вот так - получилось. Здесь МК передаёт два байта в пакете: HI и LO, т.к. вообще-то АЦП 10-разрядный.
Сейчас обрабатываю только байт HI (8-разрядный режим) - всё работает. Отображается график, код АЦП и т.д.
Вот только теперь не пойму - как 2 байта превратить в 10-разрядное число? Хочу полностью задействовать АЦП и вывести данные на анализатор спектра.
Вложения
Vi.png
(34.49 КБ) 731 скачивание
orinoko

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

Сообщение orinoko »

есть функция Join. Счас негде показать. Домой доберусь вечером. Как то вы тут немного усложнили
Аватара пользователя
Roman Venom
Сверлит текстолит когтями
Сообщения: 1135
Зарегистрирован: Сб июл 11, 2009 18:42:21
Откуда: Украина, г.Николаев

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

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

Dm-P писал(а):Попробовал сделать вот так - получилось. Здесь МК передаёт два байта в пакете: HI и LO, т.к. вообще-то АЦП 10-разрядный.
Сейчас обрабатываю только байт HI (8-разрядный режим) - всё работает. Отображается график, код АЦП и т.д.
Вот только теперь не пойму - как 2 байта превратить в 10-разрядное число? Хочу полностью задействовать АЦП и вывести данные на анализатор спектра.

Точно так же как в любом другом языке. Создать переменную типа unsigned int, потом логически сложить HI и LO.
Успех - императив!
Dm-P
Родился
Сообщения: 17
Зарегистрирован: Сб мар 19, 2011 18:04:39

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

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

Сделал так (Vi.png). Думаю что элемент String Subset теперь не нужен. Напряжение 1,056 В соответствует посаженной батарейке.
Подскажите пожалуйста, как теперь выполнить преобразование Фурье чтобы получить спектр?
Вложения
Vi.png
(62.4 КБ) 387 скачиваний
Dm-P
Родился
Сообщения: 17
Зарегистрирован: Сб мар 19, 2011 18:04:39

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

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

Roman Venom писал(а): Точно так же как в любом другом языке. Создать переменную типа unsigned int, потом логически сложить HI и LO.

Да, конечно, но в LV всё выглядит как-то необычно... Поэтому воспользовался советом и сделал через Join Numbers.
orinoko

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

Сообщение orinoko »

Вот набор функций, которые вам должны подойти. Я, правда, с ними не работал, поэтому более конкретно не смогу рассказать
Вложения
Spectral.png
(16.19 КБ) 685 скачиваний
Dm-P
Родился
Сообщения: 17
Зарегистрирован: Сб мар 19, 2011 18:04:39

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

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

orinoko, большое спасибо вам за подсказку.
Попробовал эти функции, однако им для работы требуется, видимо, какой-то другой массив данных, не похожий на мой. После поисков выяснилось, что с моим "набором байтов" работают инструменты "Point by Point". В результате получились кое-какие графики (Front Panel.png).
Если вы работаете с графиками, подскажите пожалуйста, можно отображать данные в децибелах по вертикальной шкале? Ну и в общем, привести их в "надлежащий вид" - отображать по оси X частоту, а не время?

Заранее благодарен за любой совет.
Вложения
Front Panel.png
(43.74 КБ) 684 скачивания
Ответить

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