Scan from string Visa Com

Простейшие вопросы в области инженерной разработки
Аватара пользователя
Select
developer
developer
Сообщения: 261
Зарегистрирован: 12 дек 2017, 23:56
Репутация: 0
Версия LabVIEW: 18
Откуда: Врата надежды.

Scan from string Visa Com

Сообщение Select »

Помогите пожалуйста решить проблему извлечения данных со стороны Visa (COM):
Это 10 строчный принимаемый массив переменных значений.
выглядит так:
AT0:12345.678R
AT1:12345.678R
AT2:12345.678R
AT3:12345.678R
AT4:12345.678R
AT5:12345.678R
AT6:12345.678R
AT7:12345.678R
AT8:12345.678R
AT9:12345.678R

Приведенная Блок диаграмма позволяет мне извлекать эти значения построчно и поочередно в зависимости от задаваемой задержки в цикле 10 - 500 ms только в String indicator 0 и 1
Нужно все разделить в отдельные индикаторы как показано на панели.
Как должен выглядеть синтаксис блока Scan from string такого представления и другие настройки для каждой конкретных строк?
Вложения
screenshot 2020-03-21 002.png
screenshot 2020-03-21 002.png (9.68 КБ) 2173 просмотра
screenshot 2020-03-21 001.png
LabView 14

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

Silver
adviser
adviser
Сообщения: 245
Зарегистрирован: 18 ноя 2014, 11:45
Награды: 1
Репутация: 0
Версия LabVIEW: 2011, 2015
Откуда: Астана
Контактная информация:

Re: Scan from string Visa Com

Сообщение ladik »

Один из множества вариантов
Вложения
example.vi
(11.56 КБ) 50 скачиваний
example.PNG
Дорогу осилит идущий.

Аватара пользователя
Select
developer
developer
Сообщения: 261
Зарегистрирован: 12 дек 2017, 23:56
Репутация: 0
Версия LabVIEW: 18
Откуда: Врата надежды.

Re: Scan from string Visa Com

Сообщение Select »

ladik,
премного благодарен, буду пробовать совместно с коммуникацией.
По результату отпишусь
LabView 14

Аватара пользователя
Select
developer
developer
Сообщения: 261
Зарегистрирован: 12 дек 2017, 23:56
Репутация: 0
Версия LabVIEW: 18
Откуда: Врата надежды.

Re: Scan from string Visa Com

Сообщение Select »

При считывании с COM ничего не изменилось, отображение содержимого буфера происходит только в 1 стринг и поочередно всех строк, остальные индикаторы пустые. Кроме того, мне не удалось отфильтровать именно нужные значения, как это сделано изначально у меня.
В Вашем случае, код из одного общего стринга рапределяется верно, но я ведь работаю с непрерывным обновлением содержимого в буфере в и у меня сразу за значением AT0 ...9 отображаются те символы, которые меня не интересуют.
В буфере все происходит не так, как в Вашем примере. !Это не передача из стринга в стринг. Буфер постоянно обновляется новыми значениями в том порядке, в котором я указал, причем каждая строка с частотой прерываний в 10-500 ms.
Кроме того блок очистки буфера, который я могу подключать к процедуре, позволяет мне читать только одну первую строку.
LabView 14

Аватара пользователя
Select
developer
developer
Сообщения: 261
Зарегистрирован: 12 дек 2017, 23:56
Репутация: 0
Версия LabVIEW: 18
Откуда: Врата надежды.

Re: Scan from string Visa Com

Сообщение Select »

ladik
по в.у. ситуации :dntknw:
Вложения
screenshot 2020-03-21.png
LabView 14

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

Activity Gold
expert
expert
Сообщения: 1069
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Репутация: 0
Версия LabVIEW: 2013-2017
Контактная информация:

Re: Scan from string Visa Com

Сообщение Kosist »

Можете так попробовать.
Вложения
Payload into parts.png
Мы делили апельсин - много наших полегло...

Аватара пользователя
Select
developer
developer
Сообщения: 261
Зарегистрирован: 12 дек 2017, 23:56
Репутация: 0
Версия LabVIEW: 18
Откуда: Врата надежды.

Re: Scan from string Visa Com

Сообщение Select »

Kosist,
Проблема не в фильтрации нужных значений строки, с этим я справился.
Буфер при опросе записывает поочередно 10 строк за цикл, далее опять обновление пока не остановлю.
Я перепробовал немало вариантов и все дали отображение только состояния значений массива 0 строки или поочередно всех в зависимости от времени в цикле. Причем в случае при подключении модуля очистки буфера, значение 0 строки отображается в реальном времени, в отключенном - построчное чтение из буфера и он очищается с задержкой по прошествии нескольких циклов, в этом случае отображается история строк а не реальные значения и так же построчно в одном индикаторе а не весь массив.
Возможно мне нужен метод отображения содержимого всего буфера, далее применить такие элементы как Tab Constant, Line Feed Constant и nd of Line Constant.
LabView 14

Юрий
professional
professional
Сообщения: 350
Зарегистрирован: 28 фев 2010, 18:04
Репутация: 0
Версия LabVIEW: LV2015
Контактная информация:

Re: Scan from string Visa Com

Сообщение Юрий »

Данные могут приходить не все сразу особенно на высоких скоростях, поэтому на следующей итерации надо учитывать, что осталось от предыдущей.
COM.png
Вложения
COM.vi
(22.84 КБ) 56 скачиваний

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

Activity Gold
expert
expert
Сообщения: 1069
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Репутация: 0
Версия LabVIEW: 2013-2017
Контактная информация:

Re: Scan from string Visa Com

Сообщение Kosist »

Юрий, по умолчанию функция на открытие порта имеет конфигурацию на использование терминирующего символа переноса строки. Так что скорее всего данные с предыдущей итерации не так и важны, т.к. за один цикл чтения будет получен целый рядок (данные с одного канала АТ), т.е. рядок не будет разбит на части.
Select, так это потом вопрос к самому устройству, которое Вам посылает данные. Когда Вы используете функцию VISA Read, Вы читаете данные с буфера, тем самым очищая его. И если там находятся старые данные - сам прибор не посылает их правильно. Какая частота обновлений на стороне устройства, и какая частота чтения в приложении? Вы можете "выключить" терминирующий символ, и будете читать целую строку, все данные одним рядком. Посмотрите, какие данные получаете в таком случае. Ведь проблема потом не в парсинге данных, а в том, какие данные Вам прибор посылает.
Попробуйте еще использовать RealTerm - при его помощи можно писать полученные данные в лог-файл, или отображать в строке. Увидите, что там будет, и какая частота обновлений...
Мы делили апельсин - много наших полегло...

Аватара пользователя
Select
developer
developer
Сообщения: 261
Зарегистрирован: 12 дек 2017, 23:56
Репутация: 0
Версия LabVIEW: 18
Откуда: Врата надежды.

Re: Scan from string Visa Com

Сообщение Select »

Юрий, вариант вообще не читается.
Kosist, я возможно чего-то недопонимаю, отключение в Visa терминирующий символ?
RealTerm - в каком тулките он лежит?
Прибор MCU STM32F103C8T6, кварц 8.000
Скорость обмена 115200
В моем случае на :vi: итерация настраивается для проверки. Производитель рекомендует до 500 ms.
С какой частотой происходит обновление данных на железе, трудно понять, при парсинге через терминал строки отображаются сразу всем пакетом с итерацией которая задана MCU. :dntknw:
Прикрепил на всякий случай свой рабочий :vi:
Вложения
ABC.vi
(21.27 КБ) 58 скачиваний
LabView 14

Юрий
professional
professional
Сообщения: 350
Зарегистрирован: 28 фев 2010, 18:04
Репутация: 0
Версия LabVIEW: LV2015
Контактная информация:

Re: Scan from string Visa Com

Сообщение Юрий »

Юрий, вариант вообще не читается.
У меня всё читается. Перезалил в 16 версию.
Вложения
Untitled 2.vi
(22.37 КБ) 37 скачиваний

Аватара пользователя
Select
developer
developer
Сообщения: 261
Зарегистрирован: 12 дек 2017, 23:56
Репутация: 0
Версия LabVIEW: 18
Откуда: Врата надежды.

Re: Scan from string Visa Com

Сообщение Select »

Юрий,
Мало что понял из Вашего примера, предпринял попытку построить код предложенным методом, результат никакой.
Прикрепил этот вариант после доработки, так же есть здесь и мой рабочий.
Если это не сложно, покажите пожалуйста мою модель с ABC.vi c 10 строками
Вложения
Untitled 2.vi
(23.38 КБ) 39 скачиваний
LabView 14

Аватара пользователя
Select
developer
developer
Сообщения: 261
Зарегистрирован: 12 дек 2017, 23:56
Репутация: 0
Версия LabVIEW: 18
Откуда: Врата надежды.

Re: Scan from string Visa Com

Сообщение Select »

По ходу значения "1234" в каждой строке как и остальные, являются переменными и они не нужны
LabView 14

Юрий
professional
professional
Сообщения: 350
Зарегистрирован: 28 фев 2010, 18:04
Репутация: 0
Версия LabVIEW: LV2015
Контактная информация:

Re: Scan from string Visa Com

Сообщение Юрий »

Select, Если это не сложно, покажите пожалуйста мою модель с ABC.vi c 10 строками
Не понял, о чём здесь просьба. Прибора нет, проверить не могу. Единственное, что пришло в голову, так это создать простенькую модель приёма данных. Выкладываю свой и ваш вариант с этой моделью. Результаты оцените сами. Её можно усилить для выяснения своих недоумений. Если файлы опять не читаются, то, страшно подумать, неужели коронавирус добрался и до моего LV. Добавлб ещё, что так я делаю, когда о протоколе прибора ничего не известно.
Вложения
COM.vi
(47.02 КБ) 54 скачивания
ABC (2).vi
(32.27 КБ) 58 скачиваний

Аватара пользователя
Select
developer
developer
Сообщения: 261
Зарегистрирован: 12 дек 2017, 23:56
Репутация: 0
Версия LabVIEW: 18
Откуда: Врата надежды.

Re: Scan from string Visa Com

Сообщение Select »

Юрий,
Я тебе очень благодарен за твой вклад, но увы, баян не мой, код так и не пошел.
Выкладываю здесь отснятый ролик для наглядности
https://youtu.be/UJcM3xTuZ5A
Парсинг в терминале и мой рабочий далеко не совершенный код с одноканальным отображением в реальном времени  и многоканальный в с разной итерацией, где наблюдаем историю буфера  измеряемого напряжения.
Значение на 0 канале меняю резистивно подстроечником, напряжение 0 - 3.300V остальные 9 каналов подтянуты к земле через резисторы во избежание шумов
Последний раз редактировалось Select 26 мар 2020, 01:44, всего редактировалось 5 раз.
LabView 14

Ответить

Вернуться в «Для чайников»