Обмен по телефонным линиям

Для узлов TRACE MODE параметры COM-портов и подключенных к ним модемов задаются в ИС (см. Редактор параметров COM-порта и Задание параметров узла ).

Для обмена по телефонным линиям с устройствами, в которых нет TRACE MODE, в узле TRACE MODE используются каналы DCS, MODBUS и t11 (подтипы 3, 9 и 11). МРВ идентифицирует такие устройства по двум параметрам, которые задаются в редакторе источника/приемника, – номеру устройства и его номеру телефона, что позволяет конфигурировать обмен с очень большим числом устройств. Номер телефона устройства указывается в поле Комментарий в редакторе источника/приемника в следующем формате:

tel:<номер в международном формате>

Информация об устройствах, сгруппированных по RS, сохраняется в текстовых файлах rs<номер RS> в папке узла (здесь номер RS равен 0 для COM1, 1 – для COM2 и т.д.). Формат строк таких файлов:

<номер устройства> <номер телефона>

Номер устройства индицируется атрибутом (94, C1), номер RS – атрибутом (93, C0) канала обмена.

Поиск каналов обмена в базе производится по устройствам – т.е., вначале МРВ ищет и отрабатывает каналы обмена с устройством 1, затем – с устройством 2 и т.д. Данные функции выполняются в потоке 15, Модем (см. Потоки монитора ).

Обмен конфигурируется в файле *.cnf (см. Задание параметров работы мониторов ).

Для диагностики обмена используется переменная @Modem_Step, для управления – @Input_Output (см. Группа СИСТЕМНЫЕ ).

Если в узле существует хотя бы один канал (ch) обмена с устройством, в котором нет TACE MODE, для узла запрещается режим M-LINK SLAVE по тому RS, который указан в ch (в том числе для обмена с узлом TRACE MODE). Если в узле нет каналов обмена по RS, а RS с назначением Modem есть, для узла запрещается режим M-LINK MASTER.

Если в узлах TRACE MODE заданы RS с назначением Modem, но модемов на самом деле нет, и номер телефона для RS не задан, то между такими узлами будет идти обычный обмен по RS (не будет инициализации модема, набора номера и т.п.).

Если узлам TRACE MODE явно задан статус (одному – MASTER, другому – SLAVE), то поиск каналов обмена в базе меняется на поиск по узлам. Если статусы узлов не заданы явно, узлы будут запрашивать друг друга, и с помощью таймаутов операции записи и чтения можно корректно распределить по времени.