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

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

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

Postby GT21 on 10 Jul 2019, 13:55

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

VISA Configure Serial Port VI
Вход Enable Termination Char, по умолчанию True, Вам необходимо подключить константу и установить значение False

Ну да, про него и я говорил. Если я его отключаю, то у меня не работает, выдает ошибку -1073807339 в VISA Read
P.S.: при этом "\n" тоже ведь приписывать в команды не надо?
LabVIEW 8.6
GT21
user
user
 
Posts: 70
Joined: 29 Apr 2016, 09:22
LabVIEW Version: 8.6
Karma: 0

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

Postby IvanLis on 10 Jul 2019, 21:31

GT21 wrote:Ну да, про него и я говорил. Если я его отключаю, то у меня не работает, выдает ошибку -1073807339 в VISA Read

Вы его оставьте, а про количество байт забудьте.
Если необходимо набрать какое-то количество байт, то накапливайте их в буфере.
Но так у Вас не должно быть проблем с разбором посылки.

GT21 wrote:P.S.: при этом "\n" тоже ведь приписывать в команды не надо?

кажется да, но ник-то не мешает Вам попробовать и проверить
User avatar
IvanLis
professor
professor
 
Posts: 4783
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: 2010
Karma: 759
hardware VIP bloggers teachers

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

Postby GT21 on 11 Jul 2019, 09:01

IvanLis wrote:Вы его оставьте, а про количество байт забудьте.

Я к тому, что начало сообщения "#510000" говорит о том, что осциллограф отправил мне 10000 точек. Неужели он врет?
И почему он то нормальное количество выдает, то обрывок, хотя я ничего в программе не меняю, просто перезапускаю?

И еще, по поводу буфера: он есть какой-нибудь стандартной VI? А то, чувствую, я буфер делаю не очень правильно
LabVIEW 8.6
GT21
user
user
 
Posts: 70
Joined: 29 Apr 2016, 09:22
LabVIEW Version: 8.6
Karma: 0

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

Postby IvanLis on 11 Jul 2019, 13:25

GT21 wrote:Я к тому, что начало сообщения "#510000" говорит о том, что осциллограф отправил мне 10000 точек. Неужели он врет?
И почему он то нормальное количество выдает, то обрывок, хотя я ничего в программе не меняю, просто перезапускаю?

Послушайте, а Вы вообще описание протокола информационного обмена читали?
Там должно быть указано использование или неиспользование терминатора, какой символ используется в качестве него.
Формат команд и ответов.

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

Стандартных функция для формирования буфера я не знаю, всегда используется сдвиговый регистр, разве что в палитре PtByPt.
User avatar
IvanLis
professor
professor
 
Posts: 4783
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: 2010
Karma: 759
hardware VIP bloggers teachers

Previous

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

Who is online

Users browsing this forum: No registered users and 0 guests

cron