Scan from string Visa Com

Простейшие вопросы в области инженерной разработки

Scan from string Visa Com

Postby Select on 21 Mar 2020, 20:18

Помогите пожалуйста решить проблему извлечения данных со стороны 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 такого представления и другие настройки для каждой конкретных строк?
Attachments
screenshot 2020-03-21 002.png
screenshot 2020-03-21 002.png (9.68 KiB) Viewed 725 times
screenshot 2020-03-21 001.png
LabView 14
User avatar
Select
adviser
adviser
 
Posts: 240
Joined: 12 Dec 2017, 23:56
Location: Врата надежды.
LabVIEW Version: 18
Karma: 5

Re: Scan from string Visa Com

Postby ladik on 21 Mar 2020, 21:11

Один из множества вариантов
Attachments
example.vi
(11.56 KiB) Downloaded 11 times
example.PNG
Дорогу осилит идущий.
User avatar
ladik
adviser
adviser
 
Posts: 242
Joined: 18 Nov 2014, 11:45
Location: Астана
Medals: 1
Silver (1)
LabVIEW Version: 2011, 2015
Karma: 88
hardware I/O VIP

Re: Scan from string Visa Com

Postby Select on 21 Mar 2020, 21:52

ladik,
премного благодарен, буду пробовать совместно с коммуникацией.
По результату отпишусь
LabView 14
User avatar
Select
adviser
adviser
 
Posts: 240
Joined: 12 Dec 2017, 23:56
Location: Врата надежды.
LabVIEW Version: 18
Karma: 5

Re: Scan from string Visa Com

Postby Select on 22 Mar 2020, 00:27

При считывании с COM ничего не изменилось, отображение содержимого буфера происходит только в 1 стринг и поочередно всех строк, остальные индикаторы пустые. Кроме того, мне не удалось отфильтровать именно нужные значения, как это сделано изначально у меня.
В Вашем случае, код из одного общего стринга рапределяется верно, но я ведь работаю с непрерывным обновлением содержимого в буфере в и у меня сразу за значением AT0 ...9 отображаются те символы, которые меня не интересуют.
В буфере все происходит не так, как в Вашем примере. !Это не передача из стринга в стринг. Буфер постоянно обновляется новыми значениями в том порядке, в котором я указал, причем каждая строка с частотой прерываний в 10-500 ms.
Кроме того блок очистки буфера, который я могу подключать к процедуре, позволяет мне читать только одну первую строку.
LabView 14
User avatar
Select
adviser
adviser
 
Posts: 240
Joined: 12 Dec 2017, 23:56
Location: Врата надежды.
LabVIEW Version: 18
Karma: 5

Re: Scan from string Visa Com

Postby Select on 22 Mar 2020, 00:37

ladik
по в.у. ситуации :dntknw:
Attachments
screenshot 2020-03-21.png
LabView 14
User avatar
Select
adviser
adviser
 
Posts: 240
Joined: 12 Dec 2017, 23:56
Location: Врата надежды.
LabVIEW Version: 18
Karma: 5

Re: Scan from string Visa Com

Postby Kosist on 22 Mar 2020, 19:30

Можете так попробовать.
Attachments
Payload into parts.png
Мы делили апельсин - много наших полегло...
User avatar
Kosist
expert
expert
 
Posts: 1031
Joined: 21 Feb 2011, 23:44
Medals: 2
Activity (1) Gold (1)
LabVIEW Version: 2013-2017
Karma: 283
CLAD I/O VIP students

Re: Scan from string Visa Com

Postby Select on 23 Mar 2020, 21:29

Kosist,
Проблема не в фильтрации нужных значений строки, с этим я справился.
Буфер при опросе записывает поочередно 10 строк за цикл, далее опять обновление пока не остановлю.
Я перепробовал немало вариантов и все дали отображение только состояния значений массива 0 строки или поочередно всех в зависимости от времени в цикле. Причем в случае при подключении модуля очистки буфера, значение 0 строки отображается в реальном времени, в отключенном - построчное чтение из буфера и он очищается с задержкой по прошествии нескольких циклов, в этом случае отображается история строк а не реальные значения и так же построчно в одном индикаторе а не весь массив.
Возможно мне нужен метод отображения содержимого всего буфера, далее применить такие элементы как Tab Constant, Line Feed Constant и nd of Line Constant.
LabView 14
User avatar
Select
adviser
adviser
 
Posts: 240
Joined: 12 Dec 2017, 23:56
Location: Врата надежды.
LabVIEW Version: 18
Karma: 5

Re: Scan from string Visa Com

Postby Юрий on 23 Mar 2020, 23:18

Данные могут приходить не все сразу особенно на высоких скоростях, поэтому на следующей итерации надо учитывать, что осталось от предыдущей.
COM.png
Attachments
COM.vi
(22.84 KiB) Downloaded 10 times
Юрий
professional
professional
 
Posts: 348
Joined: 28 Feb 2010, 18:04
LabVIEW Version: LV2015
Karma: 55

Re: Scan from string Visa Com

Postby Kosist on 24 Mar 2020, 00:39

Юрий, по умолчанию функция на открытие порта имеет конфигурацию на использование терминирующего символа переноса строки. Так что скорее всего данные с предыдущей итерации не так и важны, т.к. за один цикл чтения будет получен целый рядок (данные с одного канала АТ), т.е. рядок не будет разбит на части.
Select, так это потом вопрос к самому устройству, которое Вам посылает данные. Когда Вы используете функцию VISA Read, Вы читаете данные с буфера, тем самым очищая его. И если там находятся старые данные - сам прибор не посылает их правильно. Какая частота обновлений на стороне устройства, и какая частота чтения в приложении? Вы можете "выключить" терминирующий символ, и будете читать целую строку, все данные одним рядком. Посмотрите, какие данные получаете в таком случае. Ведь проблема потом не в парсинге данных, а в том, какие данные Вам прибор посылает.
Попробуйте еще использовать RealTerm - при его помощи можно писать полученные данные в лог-файл, или отображать в строке. Увидите, что там будет, и какая частота обновлений...
Мы делили апельсин - много наших полегло...
User avatar
Kosist
expert
expert
 
Posts: 1031
Joined: 21 Feb 2011, 23:44
Medals: 2
Activity (1) Gold (1)
LabVIEW Version: 2013-2017
Karma: 283
CLAD I/O VIP students

Re: Scan from string Visa Com

Postby Select on 24 Mar 2020, 03:12

Юрий, вариант вообще не читается.
Kosist, я возможно чего-то недопонимаю, отключение в Visa терминирующий символ?
RealTerm - в каком тулките он лежит?
Прибор MCU STM32F103C8T6, кварц 8.000
Скорость обмена 115200
В моем случае на :vi: итерация настраивается для проверки. Производитель рекомендует до 500 ms.
С какой частотой происходит обновление данных на железе, трудно понять, при парсинге через терминал строки отображаются сразу всем пакетом с итерацией которая задана MCU. :dntknw:
Прикрепил на всякий случай свой рабочий :vi:
Attachments
ABC.vi
(21.27 KiB) Downloaded 13 times
LabView 14
User avatar
Select
adviser
adviser
 
Posts: 240
Joined: 12 Dec 2017, 23:56
Location: Врата надежды.
LabVIEW Version: 18
Karma: 5

Re: Scan from string Visa Com

Postby Юрий on 24 Mar 2020, 08:01

Юрий, вариант вообще не читается.
У меня всё читается. Перезалил в 16 версию.
Attachments
Untitled 2.vi
(22.37 KiB) Downloaded 10 times
Юрий
professional
professional
 
Posts: 348
Joined: 28 Feb 2010, 18:04
LabVIEW Version: LV2015
Karma: 55

Re: Scan from string Visa Com

Postby Select on 24 Mar 2020, 15:24

Юрий,
Мало что понял из Вашего примера, предпринял попытку построить код предложенным методом, результат никакой.
Прикрепил этот вариант после доработки, так же есть здесь и мой рабочий.
Если это не сложно, покажите пожалуйста мою модель с ABC.vi c 10 строками
Attachments
Untitled 2.vi
(23.38 KiB) Downloaded 12 times
LabView 14
User avatar
Select
adviser
adviser
 
Posts: 240
Joined: 12 Dec 2017, 23:56
Location: Врата надежды.
LabVIEW Version: 18
Karma: 5

Re: Scan from string Visa Com

Postby Select on 24 Mar 2020, 15:45

По ходу значения "1234" в каждой строке как и остальные, являются переменными и они не нужны
LabView 14
User avatar
Select
adviser
adviser
 
Posts: 240
Joined: 12 Dec 2017, 23:56
Location: Врата надежды.
LabVIEW Version: 18
Karma: 5

Re: Scan from string Visa Com

Postby Юрий on 24 Mar 2020, 23:59

Select, Если это не сложно, покажите пожалуйста мою модель с ABC.vi c 10 строками
Не понял, о чём здесь просьба. Прибора нет, проверить не могу. Единственное, что пришло в голову, так это создать простенькую модель приёма данных. Выкладываю свой и ваш вариант с этой моделью. Результаты оцените сами. Её можно усилить для выяснения своих недоумений. Если файлы опять не читаются, то, страшно подумать, неужели коронавирус добрался и до моего LV. Добавлб ещё, что так я делаю, когда о протоколе прибора ничего не известно.
Attachments
COM.vi
(47.02 KiB) Downloaded 14 times
ABC (2).vi
(32.27 KiB) Downloaded 15 times
Юрий
professional
professional
 
Posts: 348
Joined: 28 Feb 2010, 18:04
LabVIEW Version: LV2015
Karma: 55

Re: Scan from string Visa Com

Postby Select on 26 Mar 2020, 01:32

Юрий,
Я тебе очень благодарен за твой вклад, но увы, баян не мой, код так и не пошел.
Выкладываю здесь отснятый ролик для наглядности
https://youtu.be/UJcM3xTuZ5A
Парсинг в терминале и мой рабочий далеко не совершенный код с одноканальным отображением в реальном времени  и многоканальный в с разной итерацией, где наблюдаем историю буфера  измеряемого напряжения.
Значение на 0 канале меняю резистивно подстроечником, напряжение 0 - 3.300V остальные 9 каналов подтянуты к земле через резисторы во избежание шумов
Last edited by Select on 26 Mar 2020, 01:44, edited 5 times in total.
LabView 14
User avatar
Select
adviser
adviser
 
Posts: 240
Joined: 12 Dec 2017, 23:56
Location: Врата надежды.
LabVIEW Version: 18
Karma: 5

Next

Return to Для чайников

Who is online

Users browsing this forum: Google and 14 guests

cron