Страница 1 из 2

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

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

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

Добавлено: 11 май 2019, 13:16
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 КБ) 148 скачиваний
для отображения используйте Waveform Chart
думаю сами уже справитесь :brows:

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

Добавлено: 11 май 2019, 13:51
Julia25
Спасибо, разбираюсь... Такое разделение применимо для данных в формате HEX?

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

Добавлено: 11 май 2019, 14:30
Blackman
Julia25 писал(а): ... Такое разделение применимо для данных в формате HEX?
:wink:

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

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

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

Добавлено: 11 май 2019, 15:34
IvanLis
Julia25 писал(а):Есть ли в ней ошибки?
Так запустите и проверьте...

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

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

Добавлено: 11 май 2019, 16:01
Julia25
Я по структуре думала узнать :) После выходных смогу только подключить оборудование :) А так она запускается

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

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

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

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

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

Добавлено: 11 май 2019, 20:33
Julia25
Поняла ошибку... Но не поняла, почему все же значения не выводятся на графики

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

Добавлено: 11 май 2019, 21:03
Julia25
Нашла еще ошибки и исправила... Пока не понимаю, что еще не так. Буду рада вашей помощи! :)

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

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

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

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

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

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

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

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

Добавлено: 12 май 2019, 09:45
Julia25
Спасибо! Разбираюсь. В программе, которую Вы отправили, я внесла вывод на графики в цикл, но почему-то данные снова не выводятся. Количество байт я настроила. Может быть проблема в используемой функции вывода графика?

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

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

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

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

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

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

Добавлено: 12 май 2019, 13:04
Julia25
В HEX формате