Scan from string Visa Com

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

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 КБ) 4370 просмотров
screenshot 2020-03-21 001.png
LabView 14,18
Аватара пользователя
ladik

Silver
developer
developer
Сообщения: 275
Зарегистрирован: 18 ноя 2014, 11:45
Награды: 1
Версия LabVIEW: 2015, 2019
Откуда: Екатеринбург
Благодарил (а): 4 раза
Поблагодарили: 3 раза
Контактная информация:

Re: Scan from string Visa Com

Сообщение ladik »

Один из множества вариантов
Вложения
example.vi
(11.56 КБ) 118 скачиваний
example.PNG
Дорогу осилит идущий.
Аватара пользователя
Select
developer
developer
Сообщения: 281
Зарегистрирован: 12 дек 2017, 23:56
Версия LabVIEW: 18
Откуда: Врата надежды.
Поблагодарили: 2 раза

Re: Scan from string Visa Com

Сообщение Select »

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

Re: Scan from string Visa Com

Сообщение Select »

При считывании с COM ничего не изменилось, отображение содержимого буфера происходит только в 1 стринг и поочередно всех строк, остальные индикаторы пустые. Кроме того, мне не удалось отфильтровать именно нужные значения, как это сделано изначально у меня.
В Вашем случае, код из одного общего стринга рапределяется верно, но я ведь работаю с непрерывным обновлением содержимого в буфере в и у меня сразу за значением AT0 ...9 отображаются те символы, которые меня не интересуют.
В буфере все происходит не так, как в Вашем примере. !Это не передача из стринга в стринг. Буфер постоянно обновляется новыми значениями в том порядке, в котором я указал, причем каждая строка с частотой прерываний в 10-500 ms.
Кроме того блок очистки буфера, который я могу подключать к процедуре, позволяет мне читать только одну первую строку.
LabView 14,18
Аватара пользователя
Select
developer
developer
Сообщения: 281
Зарегистрирован: 12 дек 2017, 23:56
Версия LabVIEW: 18
Откуда: Врата надежды.
Поблагодарили: 2 раза

Re: Scan from string Visa Com

Сообщение Select »

ladik
по в.у. ситуации :dntknw:
Вложения
screenshot 2020-03-21.png
LabView 14,18
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1236
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 30 раз
Контактная информация:

Re: Scan from string Visa Com

Сообщение Kosist »

Можете так попробовать.
Вложения
Payload into parts.png
Мы делили апельсин - много наших полегло...
Аватара пользователя
Select
developer
developer
Сообщения: 281
Зарегистрирован: 12 дек 2017, 23:56
Версия LabVIEW: 18
Откуда: Врата надежды.
Поблагодарили: 2 раза

Re: Scan from string Visa Com

Сообщение Select »

Kosist,
Проблема не в фильтрации нужных значений строки, с этим я справился.
Буфер при опросе записывает поочередно 10 строк за цикл, далее опять обновление пока не остановлю.
Я перепробовал немало вариантов и все дали отображение только состояния значений массива 0 строки или поочередно всех в зависимости от времени в цикле. Причем в случае при подключении модуля очистки буфера, значение 0 строки отображается в реальном времени, в отключенном - построчное чтение из буфера и он очищается с задержкой по прошествии нескольких циклов, в этом случае отображается история строк а не реальные значения и так же построчно в одном индикаторе а не весь массив.
Возможно мне нужен метод отображения содержимого всего буфера, далее применить такие элементы как Tab Constant, Line Feed Constant и nd of Line Constant.
LabView 14,18
Юрий
leader
leader
Сообщения: 526
Зарегистрирован: 28 фев 2010, 18:04
Версия LabVIEW: LV2018
Благодарил (а): 10 раз
Поблагодарили: 18 раз
Контактная информация:

Re: Scan from string Visa Com

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

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

Activity Gold
expert
expert
Сообщения: 1236
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 30 раз
Контактная информация:

Re: Scan from string Visa Com

Сообщение Kosist »

Юрий, по умолчанию функция на открытие порта имеет конфигурацию на использование терминирующего символа переноса строки. Так что скорее всего данные с предыдущей итерации не так и важны, т.к. за один цикл чтения будет получен целый рядок (данные с одного канала АТ), т.е. рядок не будет разбит на части.
Select, так это потом вопрос к самому устройству, которое Вам посылает данные. Когда Вы используете функцию VISA Read, Вы читаете данные с буфера, тем самым очищая его. И если там находятся старые данные - сам прибор не посылает их правильно. Какая частота обновлений на стороне устройства, и какая частота чтения в приложении? Вы можете "выключить" терминирующий символ, и будете читать целую строку, все данные одним рядком. Посмотрите, какие данные получаете в таком случае. Ведь проблема потом не в парсинге данных, а в том, какие данные Вам прибор посылает.
Попробуйте еще использовать RealTerm - при его помощи можно писать полученные данные в лог-файл, или отображать в строке. Увидите, что там будет, и какая частота обновлений...
Мы делили апельсин - много наших полегло...
Аватара пользователя
Select
developer
developer
Сообщения: 281
Зарегистрирован: 12 дек 2017, 23:56
Версия LabVIEW: 18
Откуда: Врата надежды.
Поблагодарили: 2 раза

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 КБ) 137 скачиваний
LabView 14,18
Юрий
leader
leader
Сообщения: 526
Зарегистрирован: 28 фев 2010, 18:04
Версия LabVIEW: LV2018
Благодарил (а): 10 раз
Поблагодарили: 18 раз
Контактная информация:

Re: Scan from string Visa Com

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

Юрий, вариант вообще не читается.
У меня всё читается. Перезалил в 16 версию.
Вложения
Untitled 2.vi
(22.37 КБ) 107 скачиваний
Аватара пользователя
Select
developer
developer
Сообщения: 281
Зарегистрирован: 12 дек 2017, 23:56
Версия LabVIEW: 18
Откуда: Врата надежды.
Поблагодарили: 2 раза

Re: Scan from string Visa Com

Сообщение Select »

Юрий,
Мало что понял из Вашего примера, предпринял попытку построить код предложенным методом, результат никакой.
Прикрепил этот вариант после доработки, так же есть здесь и мой рабочий.
Если это не сложно, покажите пожалуйста мою модель с ABC.vi c 10 строками
Вложения
Untitled 2.vi
(23.38 КБ) 117 скачиваний
LabView 14,18
Аватара пользователя
Select
developer
developer
Сообщения: 281
Зарегистрирован: 12 дек 2017, 23:56
Версия LabVIEW: 18
Откуда: Врата надежды.
Поблагодарили: 2 раза

Re: Scan from string Visa Com

Сообщение Select »

По ходу значения "1234" в каждой строке как и остальные, являются переменными и они не нужны
LabView 14,18
Юрий
leader
leader
Сообщения: 526
Зарегистрирован: 28 фев 2010, 18:04
Версия LabVIEW: LV2018
Благодарил (а): 10 раз
Поблагодарили: 18 раз
Контактная информация:

Re: Scan from string Visa Com

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

Select, Если это не сложно, покажите пожалуйста мою модель с ABC.vi c 10 строками
Не понял, о чём здесь просьба. Прибора нет, проверить не могу. Единственное, что пришло в голову, так это создать простенькую модель приёма данных. Выкладываю свой и ваш вариант с этой моделью. Результаты оцените сами. Её можно усилить для выяснения своих недоумений. Если файлы опять не читаются, то, страшно подумать, неужели коронавирус добрался и до моего LV. Добавлб ещё, что так я делаю, когда о протоколе прибора ничего не известно.
Вложения
COM.vi
(47.02 КБ) 126 скачиваний
ABC (2).vi
(32.27 КБ) 124 скачивания
Аватара пользователя
Select
developer
developer
Сообщения: 281
Зарегистрирован: 12 дек 2017, 23:56
Версия LabVIEW: 18
Откуда: Врата надежды.
Поблагодарили: 2 раза

Re: Scan from string Visa Com

Сообщение Select »

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

Парсинг в терминале и мой рабочий далеко не совершенный код с одноканальным отображением в реальном времени  и многоканальный в с разной итерацией, где наблюдаем историю буфера  измеряемого напряжения.
Значение на 0 канале меняю резистивно подстроечником, напряжение 0 - 3.300V остальные 9 каналов подтянуты к земле через резисторы во избежание шумов
Последний раз редактировалось Select 26 мар 2020, 01:44, всего редактировалось 5 раз.
LabView 14,18
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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