Побайтовое разделение данных с COM-порта и вывод на график

VISA, TCP/IP, USB, CAN, GPIB и подобные протоколы
Julia25
beginner
beginner
Сообщения: 12
Зарегистрирован: 11 май 2019, 12:20
Репутация: 0
Версия LabVIEW: 16
Контактная информация:

Побайтовое разделение данных с COM-порта и вывод на график

Сообщение Julia25 »

Здравствуйте! С микроконтроллера поступают данные через COM порт. Они поступают в следующем виде по одиночному каналу. Байты идут по порядку c 6 датчиков. С датчика идет 2 байта. Примерно так: { 11, 12, 21, 22, 31, 32, 41, 42, 51, 52, 61, 62}. Их нужно объединить так, что, например, 12-старшая часть, 11-младшая (это пока не принципиально). То есть данные с первого- 1112, со второго-2122. Затем нужно эти полученные значения вывести в виде зависимости от времени на 6 графиков (но лучше на 2 по 3 зависимости). Буду рада оказанной помощи :).

Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
professor
professor
Сообщения: 4924
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Репутация: 0
Версия LabVIEW: 2015, 2016
Откуда: СССР

Re: Побайтовое разделение данных с COM-порта и вывод на граф

Сообщение IvanLis »

Julia25 писал(а):Здравствуйте! С микроконтроллера поступают данные через COM порт. Они поступают в следующем виде по одиночному каналу. Байты идут по порядку c 6 датчиков. С датчика идет 2 байта. Примерно так: { 11, 12, 21, 22, 31, 32, 41, 42, 51, 52, 61, 62}. Их нужно объединить так, что, например, 12-старшая часть, 11-младшая (это пока не принципиально). То есть данные с первого- 1112, со второго-2122. Затем нужно эти полученные значения вывести в виде зависимости от времени на 6 графиков (но лучше на 2 по 3 зависимости). Буду рада оказанной помощи :).
Данные разобрать можно следующим образом:
Снимок экрана от 2019-05-11 13-14-00.png
Untitled 1.vi
lv2016
(8.77 КБ) 68 скачиваний
для отображения используйте Waveform Chart
думаю сами уже справитесь :brows:

Julia25
beginner
beginner
Сообщения: 12
Зарегистрирован: 11 май 2019, 12:20
Репутация: 0
Версия LabVIEW: 16
Контактная информация:

Re: Побайтовое разделение данных с COM-порта и вывод на граф

Сообщение Julia25 »

Спасибо, разбираюсь... Такое разделение применимо для данных в формате HEX?

Blackman

Activity
leader
leader
Сообщения: 921
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Репутация: 0
Версия LabVIEW: 6.1,8.5,20
Контактная информация:

Re: Побайтовое разделение данных с COM-порта и вывод на граф

Сообщение Blackman »

Julia25 писал(а): ... Такое разделение применимо для данных в формате HEX?
:wink:
Вложения
Parsing hex string.png
Parsing hex string.png (19.48 КБ) 2574 просмотра
Parsing hex string.vi
Version 2016
(7.28 КБ) 53 скачивания

Julia25
beginner
beginner
Сообщения: 12
Зарегистрирован: 11 май 2019, 12:20
Репутация: 0
Версия LabVIEW: 16
Контактная информация:

Re: Побайтовое разделение данных с COM-порта и вывод на граф

Сообщение Julia25 »

Создала программу по заданным условиям. Есть ли в ней ошибки? Благодарю за предыдущие ответы! :)
http://prnt.sc/nn6ozx

Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
professor
professor
Сообщения: 4924
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Репутация: 0
Версия LabVIEW: 2015, 2016
Откуда: СССР

Re: Побайтовое разделение данных с COM-порта и вывод на граф

Сообщение IvanLis »

Julia25 писал(а):Есть ли в ней ошибки?
Так запустите и проверьте...

А выкладывать файлы на сторонние ресурсы запрещено правилами форума :nono:

Julia25
beginner
beginner
Сообщения: 12
Зарегистрирован: 11 май 2019, 12:20
Репутация: 0
Версия LabVIEW: 16
Контактная информация:

Re: Побайтовое разделение данных с COM-порта и вывод на граф

Сообщение Julia25 »

Я по структуре думала узнать :) После выходных смогу только подключить оборудование :) А так она запускается

Ой, так это просто ссылка на скриншот... Просто мне нельзя прикреплять файлы...

Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
professor
professor
Сообщения: 4924
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Репутация: 0
Версия LabVIEW: 2015, 2016
Откуда: СССР

Re: Побайтовое разделение данных с COM-порта и вывод на граф

Сообщение IvanLis »

Julia25 писал(а):Ой, так это просто ссылка на скриншот... Просто мне нельзя прикреплять файлы...
Почему нельзя?
Как прикрепить файл к сообщению, см. в подписи или здесь: http://www.labviewportal.ru/viewtopic.p ... 144#p27391

А программа работать будет не так как Вы ожидаете...

Julia25
beginner
beginner
Сообщения: 12
Зарегистрирован: 11 май 2019, 12:20
Репутация: 0
Версия LabVIEW: 16
Контактная информация:

Re: Побайтовое разделение данных с COM-порта и вывод на граф

Сообщение Julia25 »

Поняла ошибку... Но не поняла, почему все же значения не выводятся на графики
Вложения
COM.vi
(152.61 КБ) 51 скачивание

Julia25
beginner
beginner
Сообщения: 12
Зарегистрирован: 11 май 2019, 12:20
Репутация: 0
Версия LabVIEW: 16
Контактная информация:

Re: Побайтовое разделение данных с COM-порта и вывод на граф

Сообщение Julia25 »

Нашла еще ошибки и исправила... Пока не понимаю, что еще не так. Буду рада вашей помощи! :)
Вложения
COM.vi
(153.69 КБ) 50 скачиваний

Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
professor
professor
Сообщения: 4924
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Репутация: 0
Версия LabVIEW: 2015, 2016
Откуда: СССР

Re: Побайтовое разделение данных с COM-порта и вывод на граф

Сообщение IvanLis »

Julia25 писал(а):Поняла ошибку... Но не поняла, почему все же значения не выводятся на графики
Потому, что графики за пределами цикла и на них информация поступит только после их остановки.

Да и с размером буфера мне кажется Вы ошибаетесь...
Там же в байтах, а не числах. Вы забыли о запятой и пробеле...

Я убрал из Вашей программы работу с реальным портом и заменил его для имитации очередью.

Сейчас там передаются 12 двуразрядных HEX.
Но видимо и с типами путаница тоже, т.к. двуразрядное HEX это 16-bit, а не 8-bit, как у Вас.

Пока больше вопросов, чем ответов.
Вам нужно точно знать формат посылки, используется терминальный бит или нет, с помощью него на много проще определять окончание пакета.
Почитайте: http://www.labviewportal.org/viewtopic. ... 250#p65849

Короче, поиграйтесь с примером, когда сами во всем разберетесь и все приедете в норму, по изменить источник информации не так долго.
COM-Receiver.vi
lv2016
(155.14 КБ) 56 скачиваний

Julia25
beginner
beginner
Сообщения: 12
Зарегистрирован: 11 май 2019, 12:20
Репутация: 0
Версия LabVIEW: 16
Контактная информация:

Re: Побайтовое разделение данных с COM-порта и вывод на граф

Сообщение Julia25 »

Спасибо! Разбираюсь. В программе, которую Вы отправили, я внесла вывод на графики в цикл, но почему-то данные снова не выводятся. Количество байт я настроила. Может быть проблема в используемой функции вывода графика?
Вложения
COM-Receiver.vi
(154.41 КБ) 48 скачиваний

Julia25
beginner
beginner
Сообщения: 12
Зарегистрирован: 11 май 2019, 12:20
Репутация: 0
Версия LabVIEW: 16
Контактная информация:

Re: Побайтовое разделение данных с COM-порта и вывод на граф

Сообщение Julia25 »

Двойной клик по блоку Build XY Graph, уберите галочку с Clear data on each call, тогда увидите на графиках историю.

Спасибо! Теперь в обеих программах видны графики :). А как быть, если данные просто идут по порядку, не разделяются запятой или пробелом?

Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
professor
professor
Сообщения: 4924
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Репутация: 0
Версия LabVIEW: 2015, 2016
Откуда: СССР

Re: Побайтовое разделение данных с COM-порта и вывод на граф

Сообщение IvanLis »

Julia25 писал(а):Спасибо! Теперь в обеих программах видны графики :). А как быть, если данные просто идут по порядку, не разделяются запятой или пробелом?
Опять же, в каком формате они идут?
Если в ANSII кодах, то так:
Снимок экрана от 2019-05-12 12-19-19.png
Untitled 1.vi
lv2016
(8.21 КБ) 48 скачиваний

Julia25
beginner
beginner
Сообщения: 12
Зарегистрирован: 11 май 2019, 12:20
Репутация: 0
Версия LabVIEW: 16
Контактная информация:

Re: Побайтовое разделение данных с COM-порта и вывод на граф

Сообщение Julia25 »

В HEX формате

Ответить

Вернуться в «Коммуникация с приборами»