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

Scan from string Visa Com

Добавлено: 21 мар 2020, 20:18
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 такого представления и другие настройки для каждой конкретных строк?

Re: Scan from string Visa Com

Добавлено: 21 мар 2020, 21:11
ladik
Один из множества вариантов

Re: Scan from string Visa Com

Добавлено: 21 мар 2020, 21:52
Select
ladik,
премного благодарен, буду пробовать совместно с коммуникацией.
По результату отпишусь

Re: Scan from string Visa Com

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

Re: Scan from string Visa Com

Добавлено: 22 мар 2020, 00:37
Select
ladik
по в.у. ситуации :dntknw:

Re: Scan from string Visa Com

Добавлено: 22 мар 2020, 19:30
Kosist
Можете так попробовать.

Re: Scan from string Visa Com

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

Re: Scan from string Visa Com

Добавлено: 23 мар 2020, 23:18
Юрий
Данные могут приходить не все сразу особенно на высоких скоростях, поэтому на следующей итерации надо учитывать, что осталось от предыдущей.
COM.png

Re: Scan from string Visa Com

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

Re: Scan from string Visa Com

Добавлено: 24 мар 2020, 03:12
Select
Юрий, вариант вообще не читается.
Kosist, я возможно чего-то недопонимаю, отключение в Visa терминирующий символ?
RealTerm - в каком тулките он лежит?
Прибор MCU STM32F103C8T6, кварц 8.000
Скорость обмена 115200
В моем случае на :vi: итерация настраивается для проверки. Производитель рекомендует до 500 ms.
С какой частотой происходит обновление данных на железе, трудно понять, при парсинге через терминал строки отображаются сразу всем пакетом с итерацией которая задана MCU. :dntknw:
Прикрепил на всякий случай свой рабочий :vi:

Re: Scan from string Visa Com

Добавлено: 24 мар 2020, 08:01
Юрий
Юрий, вариант вообще не читается.
У меня всё читается. Перезалил в 16 версию.

Re: Scan from string Visa Com

Добавлено: 24 мар 2020, 15:24
Select
Юрий,
Мало что понял из Вашего примера, предпринял попытку построить код предложенным методом, результат никакой.
Прикрепил этот вариант после доработки, так же есть здесь и мой рабочий.
Если это не сложно, покажите пожалуйста мою модель с ABC.vi c 10 строками

Re: Scan from string Visa Com

Добавлено: 24 мар 2020, 15:45
Select
По ходу значения "1234" в каждой строке как и остальные, являются переменными и они не нужны

Re: Scan from string Visa Com

Добавлено: 24 мар 2020, 23:59
Юрий
Select, Если это не сложно, покажите пожалуйста мою модель с ABC.vi c 10 строками
Не понял, о чём здесь просьба. Прибора нет, проверить не могу. Единственное, что пришло в голову, так это создать простенькую модель приёма данных. Выкладываю свой и ваш вариант с этой моделью. Результаты оцените сами. Её можно усилить для выяснения своих недоумений. Если файлы опять не читаются, то, страшно подумать, неужели коронавирус добрался и до моего LV. Добавлб ещё, что так я делаю, когда о протоколе прибора ничего не известно.

Re: Scan from string Visa Com

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

Парсинг в терминале и мой рабочий далеко не совершенный код с одноканальным отображением в реальном времени  и многоканальный в с разной итерацией, где наблюдаем историю буфера  измеряемого напряжения.
Значение на 0 канале меняю резистивно подстроечником, напряжение 0 - 3.300V остальные 9 каналов подтянуты к земле через резисторы во избежание шумов