CONSTCINN, он же CONSTCONN, странно себя ведёт

С чего это оно разрывается, если не установлена галочка “Разрывать соединение после опроса”?

Я считаю, что в таком случае разрыв соединения НЕ должен произойти и по таймеру параметра CGI (так как CONSTCONN=1):

CGI=600
А это целых десять минут. Автоопрос второй точки происходит каждые 2 минуты, значит соединение вообще не должно разрываться ни модемом, ни ЛЭРС УЧЕТом.

Возможны только перезагрузки по таймеру WDT, который у нас 720 минут

Я так сделал специально, чтобы в “Сеансах опроса” видеть, когда происходят переподключения по GPRS. Цель - при CONSTCON=1 переподключений должен быть минимум. Связь отличная. Но, из-за кривой программы, полно переподключений.

Пожалуйста, ознакомьтесь с соответствующим разделом документации Автоопрос.

Модем не разрывает связь с Сервером в данном случае. Я описал выше логику, по которой происходит отключение, где явно указал, что связь разрывает Сервер.

Повторюсь выше я описал причины по которым Сервер разрывает связь с модемом и происходит его переподключение. Могу лишь констатировать, что ваши представления о том, как это должно работать, не сочетаются с реалиями того, как это работает.

Собственно это и является неадекватным сочетанием настроек модема и автоопроса, о чем я писал выше. Программа как раз работает корректно согласно этим настройкам.

Не нашёл ответа на мой вопрос в этой статье. Приведите цитату оттуда.

Команда на остановку посылается также в том случае, если выполнялось задание, запускаемое по подключению GPRS-устройства, или был установлен флаг Разрывать соединение после опроса и не было ошибок.
При определении признака наличия ошибки учитывается значение флага Не считать ошибкой результат опроса Считаны не все данные.

Всё таки нашёл, хотя документацию Вы написали плохо. В одном месте назвали “команда на завершение соединения”, в других двух местах “команда на остановку”. Попробуй-ка, догадайся, что речь идёт об одном и том же.
Вывод следующий: Галочка работает неправильно. Если Вы уж написали возле неё, что она разрывает соединение после опроса, то так и должно быть. Серверу незачем разрывать соединение при опросе по подключению GPRS-модема, так как во всех модемах имеется параметр, аналогичный CGI, таймер отключения при отсутствии передачи данных. Более того, если уж кому-то нужно разорвать соединение после опроса, то он просто должен включить галочку, это вполне логично, она для этого и предназначена.
Скрытое отключение сервером нелогично. Оно не только бесполезно, но и вредно. Часто приходится пользоваться ручным опросом, и из-за вашей логики работы опроса по подключению GPRS-модема, при ручном опросе приходится всегда выбирать режим GSM. Если бы модем отключался самостоятельно, то в большинстве случаев, ручной опрос можно было бы проводить по GPRS. Напоминаю, что каждая минута связи по GSM стоит денег. А вот минуты GPRS бесплатны, если нет трафика.

Не вижу принципиальной разницы между этими обозначениями с учетом того, что расположены близко друг к другу:

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

P.S. не редактируйте сообщение так часто, так как это мешает приводить его цитирование. Постоянно приходится обновлять цитату вашего сообщения

У Вас хромает логика. Объясните, зачем сервер должен рвать GPRS после опроса, да ещё вопреки настроенным галочкам? Есть же эта галочка, кому надо, её поставят.

Позволю себе включиться в обсуждение:
Несмотря на то, что уже достаточно давно пользуемся системой - я только сейчас узнал о такой особенности (принудительный разрыв соединения после автоопроса при подключении), при этом игнорируется параметр, который как раз задает это поведение.
С какой целью это было сделано?

1 лайк

С учётом логики работы программы я уже написал Предложение по улучшению.

Видимо, для особо глупых пользователей, у которых из-за постоянного соединения GPRS перестает идти опрос по подключению.

Я вот склонен считать это логической ошибкой в программе ЛЭРС УЧЕТ.

Все просто. При автоопросе по подключению GPRS-устройсва ЛЭРС УЧЕТ ожидает подключения от модема. Соответственно, чтобы ожидать следующего подключения модема, необходимо отключить текущее, иначе в противном случае модем может не отключиться вовсе. Утверждения о том, что на всех модемах есть параметр аналог CGI, который заставляет модем отключиться при отсутствии трафика, на мой взгляд, крайне преувеличены. Существуют очень простые модемы, которые не имеют такой функции. Как пример, в качестве GPRS-модема могут быть подключены простейшие Ethernet-контроллеры, у которых такого параметра точно нет!

Нет, это сделано с учетом специфики работы автоопроса по подключению GPRS-устройства.

Такая логика была спроектирована изначально. Автоопрос по подключению GPRS-устройства так работает уже наверное более 5 лет, если не 10.

Как раз в таком случае опрос будет работать некорректно - Ethernet-контроллер будет постоянно переподключаться, а ЛЭРС постоянно его заново опрашивать. Т.к. Ethernet конвертеры как правило не имеют расписания подключения, а постоянно пытаются его держать открытым.
Даже возьмите ваши собственные LERS Ethernet и Ethernet 2.0 - они работают именно так. И автоопрос при подключении с ними невозможно использовать.

1 лайк

Ранее я писал о неадекватном сочетании настроек модема (контроллера) и автоопроса точки учета. Это как раз пример таких настроек. Логичнее, что если контроллер постоянно подключен к ЛЭРС УЧЕТ и поддерживает это подключение, то расписание стоит сделать в автоопросе.
Автоопрос по подключению GPRS-устройства сделан скорее для случаев, когда расписание выведено в модем, чтобы небыло коллизий опросе из-за нестыковки расписания автоопроса и подключения модема.

1 лайк

… модем должен устанавливать и разрывать соединения (по умолчанию)

Я уже писал по этому поводу ранее:

Я тоже выше писал, что имеется Галочка “Разрывать соединение после опроса”. Она ведь для этого и предназначена.

Предназначение галочки описано в соответствующем разделе документации. Специально для вас приведу ключевую выдержку из этого раздела:

Разрывать соединение после опроса. Если согласно заданному расписанию автоопроса вызов GPRS-устройств происходит редко, то чтобы не занимать ресурсы компьютера, можно установить признак ‘Разрывать соединение после опроса’. При наступлении очередного сеанса опроса соединение будет восстановлено путем вызова GPRS-устройства с помощью GSM-модема. Для этого в системных параметрах должен быть установлен признак Использовать GSM-модем. Если этот признак установлен, то после опроса прибора TCP-соединение с ним будет разорвано, и в следующий раз будет снова применён вызов GPRS-устройства. Если вызов не поддерживается, следующий опрос можно будет начать только после повторного подключения модема. Используется для GPRS-контроллеров с целью освобождения части ресурсов компьютера на то время, пока соединение не требуется. Не рекомендуется использовать для стандартных GPRS-модемов, т.к. при разрыве соединения GPRS-модем через некоторое время его автоматически восстановит.

Сколько лет назад был написан этот раздел документации? Сейчас техника шагнула далеко вперед, и даже бюджетный компьютер тянет ЛЭРС УЧЕТ. На поддержание соединения ресурсы расходуются мизерные, если программист понимает, что он делает.