Научно-Производственное Объединение «Каскад-ГРУП»
428000, Россия, Чувашская Республика, г. Чебоксары, пр. Машиностроителей, д. 1 КГ
Телефон: (8352) 22-34-32,
Факс: (8352) 63-48-38
E-mail: abc@kaskad-asu.com
Настройка протокола GPRS в KLogic
Служебный протокол GPRS предназначен для организации беспроводной или проводной связи удаленного объекта с сервером. Связь может быть обеспечена как инициативой сервера, так и инициативой клиента (контроллера). Опционально может быть обеспечено несколько инициативных соединений с разными серверами.
Протокол GPRS находится в группе Специальные. После добавления протокола в конфигурацию появляются его настройки:
1. COM-порт – номер COM-порта, к которому подключен модем. Различают следующие типы модемов:
- Внешний модем, подключенный к физическому порту (RS-232 или RS-485). Нужно указать номер внешнего порта контроллера.
- Встроенный в контроллер модем. Нужно указать номер специфичного для встроенного модема порта. Для BT-6000 – COM2, WirenBoard – COM1, АР-8 – COM3 (не забыв переключить в нужное положение DIP-переключатели на плате контроллера, см. руководство по эксплуатации АР-8).
- USB модем в режиме Stick (создающий виртуальные последовательные порты). Нужно подобрать номер виртуального порта, который принимает AT-команды установки PPP-сессии. Номера виртуальных портов начинаются после последнего номера физического порта контроллера, для WirenBoard – начиная с COM6, АР-8 – начиная с COM4. Для контроллера Segnetics SMH2Gi/SMH4 номер порта всегда равен 0. Остальные контроллеры не поддерживают USB модемы в режиме Stick.
- USB-модем в режиме HiLink (эмулирующий Ethernet-адаптер). Если не требуется инициатива контроллера (сервер сам будет устанавливать соединение с контроллером), необходимости в протоколе GPRS нет. В противном случае в обязательно нужно установить галочку «Не устанавливать GPRS сессию», см. п. 9. USB модемы в режиме HiLink поддерживают только контроллеры WirenBoard и АР-8.
2. APN, имя пользователя и пароль (основные) – специфичные для конкретного оператора параметры соединения, которые можно найти на его сайте. В случае использования специфичного APN (использующегося, преимущественно, для организации виртуальной корпоративной сети на мощностях провайдера), указывать его вместо стандартного APN для соединения интернет.
3. APN, имя пользователя и пароль (резервные) – то же самое, что и основные, но для второй SIM-карты. Резервирование (вторая SIM-карта) реализовано только во встроенном в котроллер Ротек модеме. Соответственно, настройка «Использовать резерв» – указание использовать вторую SIM-карту в обозначенном модеме.
4. Номер – номер телефона для дозвона при установке PPP-соединения. Как правило, менять его не требуется.
5. Количество попыток – количество попыток установки PPP-соединения в рамках одной сессии. При исчерпании попыток установки соединения будет выдан виртуальный сигнал на рестарт модема.
6. Запрос DNS – запрос DNS серверов у оператора. Требуется для корректного соединения с сервером или контроля соединения, если соответствующие адреса указаны как DNS-имена серверов, а не в виде IP-адресов.
7. Лог – разрешение на ведение лога установки PPP-соединения. Этот лог можно вычитать стандартным механизмом вычитки логов из контроллера:
8. CSD ожидание – данная настройка в настоящее время не используется.
9. Не устанавливать GPRS сессию – указание на то, что PPP-соединение устанавливать не нужно. Используется в следующих ситуациях:
- Использование USB модема в режиме HiLink. В этом режиме модем эмулирует Ethernet-адаптер и сам занимается установкой соединения с интернетом.
- Необходимость в организации инициативного соединения с сервером по проводному каналу. В этом случае на проводном интерфейсе контроллера должен быть установлен не только IP-адрес, но и корректный шлюз по умолчанию:
Инициативное соединение в данном случае требуется потому, что сервер не может подключиться напрямую к контроллеру, находящемуся за одним или несколькими маршрутизаторами.
- Необходимость установки инициативного соединения с несколькими серверами. В силу особенностей реализации протокола GPRS в KLogic, в рамках одного протокола может быть добавлен только один модуль. При необходимости передачи данных на несколько серверов нужно добавить протоколы GPRS по количеству серверов, в каждый из которых – модуль «Соединение снизу». Тот протокол, который будет осуществлять установку PPP-сессии (на нем обсуждаемая галочка будет снята), будет и контролировать соединение (см. п. 1 раздела «Соединение снизу»).
В зависимости от типа устанавливаемого с сервером соединения различают модули «Соединение сверху» и «Соединение снизу». В первом случае сервер инициирует соединение с контроллером, но это требует использование SIM-карты со статичным белым IP-адресом (или статичным серым IP-адресом внутри своей APN). Во втором случае SIM-карты контроллеров могут иметь серые адреса (как всегда и бывает), статичный белый IP-адрес нужен только на сервере. Однако, на самом сервере, как правило, белого IP-адреса нет, поскольку сервер находится внутри корпоративной сети. В этом случае нужно организовать проброс порта (см. п. 2 раздела «Соединения снизу») на внешнем маршрутизаторе.
Модуль "Соединение сверху"
Данный модуль содержит единственную настройку – IP-адрес для контроля GPRS соединения. В качестве адреса здесь рекомендуется указывать IP-адрес или DNS-имя (см. п. 6) сервера, который в любом случае должен быть доступен для пинга. Это может быть 8.8.8.8 – основной DNS Google, yandex.ru и т.п. В случае использования своей APN это должен быть IP-адрес сервера. В данном режиме сервер сам устанавливает соединение с контроллером.
Модуль "Соединение снизу"
- IP адрес сервера – IP-адрес, с которым контроллер будет устанавливать инициативное соединение. В случае реализации проброса порта здесь нужно указать IP-адрес внешнего маршрутизатора организации.
- Порт сервера – номер TCP-порта, к которому будет инициативно подключаться контроллер. Здесь нужно помнить два момента:
- Номер порта должен совпадать с установленным в общих настройках проекта (Правка – Общие настройки) номером порта для ожидания входящих подключений от контроллеров:
- Именно этот порт нужно пробрасывать с внешнего маршрутизатора организации непосредственно на сервер.
- Операторы могут блокировать трафик по SIM-картам. Особенно, если к контракт обычный, голосовой, с пакетом интернет-трафика. Дело в том, что оператор прекрасно знает, каким путем идет трафик, используется в данной цепочке телефон, или GSM-модем. Все основано на анализе IMEI устройств. Основная рекомендация – использовать «безопасные» номера портов, например, 8080. Если и это не помогает – общаться с оператором, искать компромисс, выбирать необходимый тариф.
Протокол – выбор активного протокола для инициативного соединения. TCP/IP следует использовать только в том случае, если задача МЭК (протокол IEC 60870-5-104) выключен в контроллере:
Во всех современных проектах протокол IEC 60870-5-104 включен, потому значение параметра должно быть 0.
Теги описанных модулей
1. Связь – наличие связи с интернетом (для модуля «Соединение сверху») или сервером (для модуля «Соединение снизу»).
2. Длительность – длительность соединения с интернетом (для модуля «Соединение сверху») или сервером (для модуля «Соединение снизу»).
3. Рестарт модема – виртуальный управляющий сигнал на рестарт модема в случае проблем с соединением:
- Внешний модем, подключенный к физическому порту (RS-232 или RS-485). Желательно развести питание модема через дискретный выход контроллера или одного из модулей, организовать связь этого канала и дискретного выхода c учетом инверсии.
- Встроенный в контроллер модем – как правило, во встроенном протоколе есть возможность управления питанием встроенного модема. Связь организовывать точно так же.
- USB модем в любом режиме – как правило, во встроенном протоколе есть возможность управления питанием USB порта контроллера. Связь организовывать точно так же.
4. КолРестартов – общее количество рестартов модема с момента старта контроллера. Иногда имеет смыл организовать рестарт контроллера при определенном количестве неудачных сеансов связи:
5. Событие – строковый тег, в котором отображается текущее состояние установки PPP-соединения:
- no modem port (номер ошибки) – модем на порту не найден, либо его нужно сконфигурировать (см. руководство пользователя KLogic).
- starting pppd (n sec) – попытка установления PPP-сессии в течении n секунд, модем найден.
- ppp0: yes – соединение с интернетом установлено. В случае применения соединения снизу дальше будет осуществлена попытка соединения с сервером. Если она завершится удачно, вновь будет выведено сообщение «ppp0: yes». В обоих случаях начнет рассчитываться длительность соединения (см. п. 2), а наличие связи установится в True (см. п. 1).
- connection to ip:port, try n – попытка n подключения к серверу (ip и port), для соединения снизу.
- setting iec connection – подключение к серверу осуществлено, попытка установления МЭК-соединения.
- cmd: restart modem – подана команда на виртуальный тег рестарта модема.
- waiting 30 sec for reg. net – ожидание регистрации SIM-карты в сети после рестарта модема.
6. Сигнал – уровень сигнала (RSSI:RER) на момент начала установления PPP-сессии.
7. Запрет связи – запрет любых действий в рамках конкретного модуля, таких как установление PPP-соединения, связь с сервером и т.п. При записи True в данный тег автоматически будет разорвана связь с сервером и разорвано соединение с интернетом. Может использоваться для организации резервирования каналов связи, с помощью задач пользователя.