Задержка при закрытии vi

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

Задержка при закрытии vi

Сообщение Select »

Всем привет,
покритикуйте пожалуйста мой код в целом, видимая проблема в задержке при закрытии :vi:
Вложения
P001.png
LabView 14,18
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Задержка при закрытии vi

Сообщение IvanLis »

Select писал(а):видимая проблема в задержке при закрытии :vi:
На мой взгляд проблема не только в этом, но и в неоднозначной последовательности записи и чтения.

Что касается задержки, то ...
чтение окончится по одному из трех тригеров:
1. timeout (10sec)
2. набрано в буфер 1000 byte
3. принят termination char

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

Re: Задержка при закрытии vi

Сообщение Select »

Select писал(а):Всем привет,
покритикуйте пожалуйста мой код в целом, видимая проблема в задержке при закрытии :vi:
Логика заключается в передаче из стринга из п.2, что открывает в устройстве команду на передачу данных - считывание в буфер.
Насколько верно я понял совет:
Вложения
P002.png
LabView 14,18
Аватара пользователя
Select
developer
developer
Сообщения: 281
Зарегистрирован: 12 дек 2017, 23:56
Версия LabVIEW: 18
Откуда: Врата надежды.
Поблагодарили: 2 раза

Re: Задержка при закрытии vi

Сообщение Select »

В принципе разобрался
Вложения
P003.png
LabView 14,18
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Задержка при закрытии vi

Сообщение Borjomy_1 »

Неправильно. Использование Bytes at Port это как использование goto в C.
Во-первых. при инициализации вы указали по умолчанию терминальный символ. Он там действительно есть?
Во-вторых. если при вычислении Bytes at Port, еще не пришла вся посылка, то вы некорректно ее примете. И дальше будет ерунда. Вам это надо???
Если используется терминальный символ, то для Visa Read указывается максимальный размер строки. Но приоритет за терминальным символом. Т.е функция читает строками и предварительно смотреть размер принятой посылки нет никакой необходимости. Просто указываете максимально возможный размер плюс запас, тогда гарантировано будет возвращена строка до терминального символа.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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