Российский производитель и разработчик сертифицированного измерительного оборудования с 1987 года

Прерывание работы с модулем LTR-25 во время съема данных

Вы не вошли.

 Поиск | Регистрация | Вход 

Василий Б
14.04.2020 11:28:35
#1

Гость

Прерывание работы с модулем LTR-25 во время съема данных

Добрый день. Используем для работы модуль LTR-25. Подскажите, пожалуйста, как правильно прерывать работу с измерительным модулем, если съем данных еще не закончен. При закрытии соединения с модулем, в случае, если все еще продолжается съем данных Ltrd периодически выдает ошибки. Спасибо

14.04.2020 19:49:17
#2

Сотрудник "Л Кард"
Здесь с 17.04.2014
Сообщений: 1,291

Re: Прерывание работы с модулем LTR-25 во время съема данных

Здравствуйте.
Правильно ли я понимаю, что Вы пишите свою программу на основе ltr25api? основным правилом является, что на каждый Open должен быть свой вызов Close для корректного закрытия соединения. При этом, если у Вас разные потоки, то одновременно для одного модуля (описателя) можно вызывать функции только из одного потока, поэтому не до конца понятно как именно Вы закрываете связь с модулем при одновременном сборе. А в общем процесс останова и закрытия зависит от того, как организована программа. Само время приема блока ограничено размером блока и таймаутом в Recv() (что наступит раньше), и по сути это и есть время реакции на закрытие. В случае если сбор идет в отдельном потоке Вы можете установить некий флаг для потока сбора, который проверяется после каждого Recv() и при его установке дальнейший прием не выполняется и вызывается Stop и Close и уже после завершения этого потока (или всех потоков для нескольких модулей) может быть завершено и все приложения.

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

Василий Б
15.04.2020 07:06:53
#3

Гость

Re: Прерывание работы с модулем LTR-25 во время съема данных

Спасибо за ответ, будем смотреть.

Контакты

Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4, стр. 2

Многоканальный телефон:
+7 (495) 785-95-25

Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru

Время работы: с 9-00 до 19-00 мск