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

Настройка VISA

Добавлено: 07 янв 2020, 16:32
taras_33
Возникла необходимость строить ВАХ диодов, для чего потребовался достаточно мощный программируемый блок питания. Прикупил вот эту китайскую поделку.

Посидев с прилагаемым к этой железяке софтом и сниффером, был проанализирован протокол обмена.
Похоже на урезанный ModBUS (адрес, код команды, стартовый регистр, количество регистров, количество байт, сами данные и CRC) но суть не в этом.
Для OS Windows это обычный последовательный порт (USB-->COM на чипе CH340)
Device Manager.PNG
Device Manager.PNG (4.98 КБ) 2260 просмотров
При написании своего софта возник вопрос в грамотной настройке VISA.
Команду на чтение посылаю каждые 500 mS. Timeout в VISA установлен 2 сек. Все работает, ошибки никакой не возникает. Но в сниффере творится что то непонятное,
после запроса на чтение регистров и до получения ответа, вылетает более сотни таймаутов!
Timeout request.PNG
Timeout respond.PNG
Ставлю задержку после запроса - в сниффере красота.
Delay.PNG
Delay.PNG (3.19 КБ) 2260 просмотров
CommunicationOK.PNG
Правильно ли я понимаю, что эти таймауты связаны с опросом периферии самой OS (каждую 1mS кажись), или нужно еще
где то что то настроить?

Re: Настройка VISA

Добавлено: 07 янв 2020, 16:44
dadreamer
>> Правильно ли я понимаю, что эти таймауты связаны с опросом периферии самой OS (каждую 1mS кажись), или нужно еще где то что то настроить?
Полагаю, связано с этим:
>> Вызов VISA Read обычно не отнимает много ресурсов у системы, хотя и работает в асинхронном режиме по умолчанию (опрос устройства производится с интервалом в 1 мс, пока не получено запрашиваемое количество данных). Если переживаете за производительность, попробуйте поменять режим работы на синхронный (ПКМ по :vi: -> Synchronous I/O Mode).

Хотел ещё ссылку кинуть на тему, где я это расписывал более подробно, но из-за глюков форума сообщения пропали. В общем, пройдитесь сниффером при синхронном режиме выполнения VISA Read. Если я прав, то таймаут будет возникать только по истечении времени, заданного для VISA Configure Serial Port.

Re: Настройка VISA

Добавлено: 07 янв 2020, 17:11
taras_33
Вы правы! В синхронном режиме работает замечательно!