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

Решил попробовать использовать добавленный в новой прошивке параметр CONSTCОNN, он же CONSTCINN, как написали лодыри, прогуливавшие школу, в инструкции:


Вместо того, чтобы поддерживать постоянное соединение, модем каждые 10 секунд реконнектился к серверу, при каждом реконнекте передавая свою телеграмму из 466 байтов, что естественно приведет к огромному бесполезному траффику, который нужно бы заставить оплачивать автора этой прошивки.
После нескольких циклов, модем завис наглухо и перестал отвечать на звонки и SMS:

Покажите, пожалуйста, настройки автоопроса точки учета, сеансы которой вы приложили.

На тестовом модеме такая ситуация не воспроизвелась. Если вы используете текущую версию прошивки L10.3.21 и модем действительно завис, а не потерял связь с базовой станцией по независящим от него причинам, создайте отдельное обращение по данному вопросу на Портале технической поддержки ЛЭРС GSM.

Тогда уж не точки учёта, а двух точек учёта


Странно, у меня ?3 показывает вот такое, значит я пишу сюда из будущего:
> ЛЭРС GSM LitePro #19042
> Верс. ПО: L10.3.22
> Верс. ОС: 1309B08S
> Модель: LERS GSM LitePro 1.X.X
> Процессор: SIM800H
> IMEI: 868441038447279

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

Нет, просто в своем предыдущем сообщении я опечатался. Текущая версия действительно L10.3.22 и с этим у вас все в порядке. Как уже писал ранее:

L10.3.22 (с учетом вышеописанной корректировки)

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

Я считаю, что в таком случае разрыв соединения НЕ должен произойти и по таймеру параметра 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 лайк