GPRS модемы использование внутреннего TCP порта для внешнего ПО

Добрый день.
У меня назрел такой вопрос.
Я относительно недавно работаю с программой ЛЭРС учет (пару месяцев).
Понравилась работа GPRS модемов по TCP порту. Когда общий внешний (за шлюзом) порт TCP принимает подключения от модемов.
Далее я во вкладке “Статистика GPRS-модемов” вижу список всех модемов. Меня заинтересовал столбец “Порт” он пятизначный динамический, это как я понимаю внутренний TCP порт который использует ЛЭРС учет для опроса прибора.
Вот наконец и мой вопрос: Возможно ли использовать этот самый внутренний TCP порт ? Со стороны модема по RS-485 подключено несколько железок с modbus RTU и теплосчетчик. Как раз теплосчетчик отлично опрашивается через ЛЭРС учет, а вот железки на том же модеме я опрашиваю по CSD каналу через сторонее ПО.

В идеале хотел бы возможность прописать в ЛЭРС статический внутренний TCP порт и иметь возможность внутренний TCP порт использовать за пределами ЛЭРС.
Ну или иметь возможность запросить динамический TCP порт устройства по идентификатору и статус его использования… т.е. он занят опросом прибора или свободен для запросов из вне ПО ЛЭРС…

Нет, параметр “Порт” это TCP/UDP (в зависимости от настроек подключения) порт модема, с которого было осуществлено подключение к внутреннему TCP/UDP порту входящих подключений Службы опроса.

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

Если вы хотите иметь возможность связываться с удаленным модемом, подключенным к Службе опроса ЛЭРС УЧЕТ, вы можете создать внешний модуль для ЛЭРС УЧЕТ или отдельное приложение на основе нашего LersFramework и в нем, используя класс RemoteConsole (раздел документации Lers.Poll → RemoteConsole), обмениваться данными с удаленным модемом.

Из коллекции внешних модулей пробовал “Удаленный пульт КМ-5”, работа понравилась.
Но как я понимаю такой модуль можно запускать только в ручную. А хотелось бы иметь возможность запрашивать данные по расписанию.

т.е. Сторонняя программа будет пытаться подключиться к внутреннему TCP порту, если TCP порт не занят службой опроса ЛЭРС, то выполнить ряд запросов через прозрачный шлюз модема, иначе сторонняя программа отложит свой запрос.
По расписанию ЛЭРС опрашивает прибор раз в час, а сторонней программой планирую опрашивать раз в 15 мин.

А что вам мешает встроить LersFramework в свою “Стороннюю программу” и в ней, используя вышеописанный RemoteConsole, опрашивать прибор через Службу опроса ЛЭРС УЧЕТ как вам заблагорассудится: по расписанию или по любому другому событию, которое вам нужно. У вас таким образом не будет возникать конфликтов в борьбе за TCP порт + если модем уже подключен к Службе опроса, вам не придется ожидать его подключения.

Ясна, попробую посмотреть примеры программ с использованием LersFramework.
Я просто думал, что для работы с GPRS модемами можно только при использовании “внешнего модуля”, который запускается непосредственно в клиенте ЛЭРС, а не в работе сторонней программы не встроенной в клиента…

В качестве примера сторонней программы (в данном случае - службы Windows) можете использовать https://github.com/lers-uchet/LersBot

Непосредственно работу с удаленным оборудованием можете взять из внешнего модуля КМ-5.

Если возникнут вопросы - задавайте здесь на форуме.

А примеры проектов под какую версию Visual Studio ? для v2015 ругается на несовместимость элементов.
и где взять Lers.System.dll
При сборке проекта “VKT5_RemoteConsole” кидает ошибки.
И не нашел исходники опроса КМ-5.

Visual Studio 2015. В решении LersBot есть еще проект инсталлятора (WIX), сообщение о несовместимости которого, можно игнорировать. Можете удалить этот проект из решения.

На компьютере с установленным ЛЭРС УЧЕТ C:Program FilesLERSCommonFrameworkin

Какие?

Да, я ошибся, исходники есть для ВКТ-5, а не КМ-5.