Приходят не все данные

Захват, обработка и генерирование сигнала

Приходят не все данные

Postby GT21 on 09 Jul 2019, 13:47

Использую осциллограф GDS-72204. Почему-то порой приходят данные вроде "#510000вфапф" - т.е. я должен получить 10000 точек, а получаю только 5 (число меняется, может быть 3, а может быть и 200, перезапускаешь программу и он собирает все 10000 точек). Щупы новые. Подключение по USB (в программе определяется как COM4 со скоростью 9600). Закономерностей выявить не смог. С чем такое может быть связано?
LabVIEW 8.6
GT21
user
user
 
Posts: 70
Joined: 29 Apr 2016, 09:22
LabVIEW Version: 8.6
Karma: 0

Re: Приходят не все данные

Postby Artem.spb on 09 Jul 2019, 14:09

Точка - это сколько?
Сколько вы их ждёте и как вычитываете?
Очень примитивный расчёт (без учёта служебных символов и пр).
9600 бод ~ 1200 байт/сек.
если "точка"= байт, то на ваш пакет нужно до 10с.
если там числа с плавающей точкой, то значение 2-4 байта, т.е. пакет нужно ждать 20-40с.
но такими кусками я бы не рискнул читать, лучше по частям. Не известно, какой у вас буфер порта, может он не все 10000 значений вмещает.
Artem.spb
expert
expert
 
Posts: 1645
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 265
CLD hardware I/O VIP freelance

Re: Приходят не все данные

Postby GT21 on 09 Jul 2019, 15:05

Как я понимаю, точка это точка (из графика осциллограммы).
Я отправляю через VISA Write "acq1:mem?\n", потом идет блок VISA Read со считыванием 11000 символов. В итоге я получаю 10008 симоволов (7 - длина данных, и последний - конец строки). Но иногда получаю, например, только 10.
Это 10000 точек осциллограммы (как я понял, это hex-числа, получаемые в виде текста; я декодирую их через String To Byte Array, он преобразует их в U8-формат, т.е. 0-255 на точку). Таймаут у меня не установлен, значит должен действовать по-умолчанию. Правда, если я правильно понял, осциллограф выдает каждую точку в виде двух байт, т.е. фактических точек - 5000.
Да и, как я уже сказал, обычно он получает все 10000, и на это уходит полсекунды. Меньше точек я редко

Вот пример получаемого, в виде текста в формате " '\' Codes Display": #510000\002\00\\\00[\00c\00\n
LabVIEW 8.6
GT21
user
user
 
Posts: 70
Joined: 29 Apr 2016, 09:22
LabVIEW Version: 8.6
Karma: 0

Re: Приходят не все данные

Postby Artem.spb on 09 Jul 2019, 15:23

Я совсем не понимаю, как на скорости 9600 вы за полсекунды получаете пачку 10000 точек.
ошибка есть, когда данных меньше?
Artem.spb
expert
expert
 
Posts: 1645
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 265
CLD hardware I/O VIP freelance

Re: Приходят не все данные

Postby GT21 on 09 Jul 2019, 15:37

Ошибки нет
LabVIEW 8.6
GT21
user
user
 
Posts: 70
Joined: 29 Apr 2016, 09:22
LabVIEW Version: 8.6
Karma: 0

Re: Приходят не все данные

Postby GT21 on 09 Jul 2019, 15:42

Вот тестовая программа. На том самом return count (из VISA Read) он выдает это меняющееся число
UPD: возможно это связано с масштабом графика и его смещению по высоте
Attachments
test2.vi
(38.17 KiB) Downloaded 15 times
LabVIEW 8.6
GT21
user
user
 
Posts: 70
Joined: 29 Apr 2016, 09:22
LabVIEW Version: 8.6
Karma: 0

Re: Приходят не все данные

Postby Artem.spb on 09 Jul 2019, 16:07

Без прибора проверить нереально.
Странно, что ошибки нет.
попробуйте не закрывать порт, а повторить попытку чтения.
Artem.spb
expert
expert
 
Posts: 1645
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 265
CLD hardware I/O VIP freelance

Re: Приходят не все данные

Postby Blackman on 09 Jul 2019, 18:02

Когда принимаете данные от прибора надо отключать terminal char.
Есть готовый драйвер для этого прибора GoodWill Instek GDS - 2000 series. 7 в названии это региональная адаптация: RU
Upd. LV9 Driver: https://www.gwinstek.com/en-global/prod ... /GDS-2000E
Blackman
leader
leader
 
Posts: 882
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 259
VIP

Re: Приходят не все данные

Postby GT21 on 10 Jul 2019, 08:10

Blackman wrote:Есть готовый драйвер для этого прибора GoodWill Instek GDS - 2000 series. 7 в названии это региональная адаптация: RU
Upd. LV9 Driver: https://www.gwinstek.com/en-global/prod ... /GDS-2000E

Проблема в том, что у меня LV8.6. Кстати, существует ли возможность пересохранить библиотеку под эту версию?
Blackman wrote:Когда принимаете данные от прибора надо отключать terminal char.

А где именно отключать? Он у меня включен в Write, в Read такой функции нет
Last edited by GT21 on 10 Jul 2019, 09:08, edited 1 time in total.
LabVIEW 8.6
GT21
user
user
 
Posts: 70
Joined: 29 Apr 2016, 09:22
LabVIEW Version: 8.6
Karma: 0

Re: Приходят не все данные

Postby GT21 on 10 Jul 2019, 08:28

Посмотрел еще: вот сейчас пришло 11 символов - "#510000\003\00\n", в конце есть \n, значит это конец сообщения. Но если перезапустить, то снова получу 10к символов
LabVIEW 8.6
GT21
user
user
 
Posts: 70
Joined: 29 Apr 2016, 09:22
LabVIEW Version: 8.6
Karma: 0

Re: Приходят не все данные

Postby Blackman on 10 Jul 2019, 09:50

Driver GDS - 72024 version LabVIEW 85
Attachments
GWInstek GDS2000E Series Folder 85.zip
Version LabVIEW 85
(1.31 MiB) Downloaded 13 times
Blackman
leader
leader
 
Posts: 882
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 259
VIP

Re: Приходят не все данные

Postby GT21 on 10 Jul 2019, 10:14

Blackman wrote:Driver GDS - 72024 version LabVIEW 85

Большое спасибо. А от серии 2000Е подойдет для 2000А? Потому что у меня 72204, это серия А, а не Е
Можете его переделать https://www.gwinstek.com/en-global/prod ... /GDS-2000A ?

UPD: к сожалению та ваша версия открывается, но не запускается, в ошибках пишет "This VI's owning library is missing"

UPD2: заметил, что в примерах в начале команды указывается ":", например ":RUN", а я не указывал. Это может как-то влиять на работу?
LabVIEW 8.6
GT21
user
user
 
Posts: 70
Joined: 29 Apr 2016, 09:22
LabVIEW Version: 8.6
Karma: 0

Re: Приходят не все данные

Postby Blackman on 10 Jul 2019, 13:10

Серия Е более продвинутая и возможно там больше VI для работы с математикой и т.д.
Добавьте VI, при открытии которых выдается ошибка, в библиотеку.
На всякий случай :wink:
Attachments
GWInstek GDS2000A Series_20180119_85.zip
Version LabVIEW 85
(1.48 MiB) Downloaded 14 times
Blackman
leader
leader
 
Posts: 882
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 259
VIP

Re: Приходят не все данные

Postby IvanLis on 10 Jul 2019, 13:30

GT21 wrote:А где именно отключать? Он у меня включен в Write, в Read такой функции нет

VISA Configure Serial Port VI
Вход Enable Termination Char, по умолчанию True, Вам необходимо подключить константу и установить значение False
User avatar
IvanLis
professor
professor
 
Posts: 4819
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2015, 2016
Karma: 778
hardware VIP bloggers teachers

Re: Приходят не все данные

Postby GT21 on 10 Jul 2019, 13:37

Blackman wrote:Серия Е более продвинутая и возможно там больше VI для работы с математикой и т.д.
Добавьте VI, при открытии которых выдается ошибка, в библиотеку.
На всякий случай :wink:

Прям большущее спасибо, буду разбираться. А на будущее - как вы переделываете библиотеку под старую версию? Чтобы я потом сам мог
LabVIEW 8.6
GT21
user
user
 
Posts: 70
Joined: 29 Apr 2016, 09:22
LabVIEW Version: 8.6
Karma: 0

Next

Return to Обработка сигнала

Who is online

Users browsing this forum: No registered users and 3 guests

cron