Управление контролем соединения

Этот раздел описывает как поддерживают связь между собой адаптеры и как этим можно управлять. 

Поддержка связи без динамической корректировкой

Этот режим не рекомендуется использовать. Он только для совместимости со старыми драйверами. Если на разных концах линии установлены разные режимы, после перезагрузки связь не будет восстанавливаться .

Оба компьютера после установки связи периодически посылают друг другу короткие сообщения (раз в 2 секунды ). Сообщения посылаются только в случае, если за это время не было передачи реальных данных. Они служат для контроля, есть ли еще связь с удаленным компьютером или нет. Если в течении определенного времени (задается параметром DTIME , по умолчанию 8  секунд) от удаленного компьютера не приходит никаких сообщений, то драйвер переводится в состояние "Нет связи" или в "Режим ожидания связи". Из режима "Нет связи" драйвер выходит автоматически, при получении любого сообщения с другой стороны. Если драйвер перешел в "Режим ожидания связи", то связь может быть восстановлена либо командой "Быстрое соединение", либо повторной настройкой. Если в случае попытки передать сообщение на другой компьютер возникает глобальный таймаут по передаче, то будут выполнены действия аналогичные истечению времени DTIME.

Для управления этим процессом служат следующие параметры:

Эти параметры могут быть заданы драйверу в файле ipln.cfg.

Установка удаленного компьютера в режим /WAITM=1 используется, если на удаленном компьютере нет возможности сохранить параметры настройки. Тогда другой компьютер с помощью "Быстрое соединение" может быстро восстановить эти настройки в соответствии со своими сохраненными параметрами.

Драйвер по умолчанию находится в режиме /WAITM=0.

Приведем два частных случая поведения драйвера при потере связи:

1) Если оба компьютера находятся в режиме /WAITM=0, то в случае физического разрыва линии, через время, определяемое параметром DTIME, перейдут в состояние "Нет связи". Если соединение восстановить, связь восстановится в течении 5-ти секунд.

2) Если оба компьютера находятся в режиме /WAITM=0, и один из компьютеров выключить, то через время определяемое параметром DTIME второй драйвер перейдет в состояние "Нет связи". При включении  второго компьютера, связь будет восстановлена сразу, так как при загрузке драйвер посылает информационное сообщение.

Выбор стандартной частоты и амплитуды для установки связи

В большинстве случаев изменения этих параметров не требуется. Изменение амплитуды может потребоваться для некоторых плат в случае, если линия очень короткая (меньше 200м). В этом случае можно уменьшить амплитуду передатчика этим параметром (задает процент от базового значения). В программе поддержаны следующие стандартные частоты 0 - 104КГц, 1 - 260Кгц, 2 - 625Кгц, 3 - 1250Кгц, 4 - 71Кгц, 5 - 51Кгц (5-я частота только для плат специально переделанных под длинные линии). По умолчанию всегда выбирается 0-я частота, она обычно проходит на линиях всех длин. Соединение будет установлено только, если с обеих концов установлена одинаковая стандартная частота. Переход на другую частоту может быть сделан, если по какой-либо причине не проходит связь на частоте по умолчанию, либо для ускорения команд переподключения.

Поддержка связи с динамической корректировкой

Возможность динамической корректировки основывается на поддержке еще одной частоты, с заведомо более низкой производительностью, но с большими запасами настройки сигнала, через которую выполнятся контроль за соединением между двумя точками. Будем ее называть базовой частотой. Частоту же, на которой выполняется максимально быстрый обмен, будем называть рабочей. В частном случае, когда базовая частота отсутствует или совпадает с рабочей, алгоритм будет вырождаться в описанный выше вариант работы, без динамической подстройки. Режим с динамической подстройки можно отключить ключом в файле конфигурации (cм. описание поля gflag). 

Контроль за состоянием линии и динамическая подстройка, выполняется внешней программой (ipln.exe под Windows или iplncfg в режиме сервера под Unix). Драйвер только отслеживает состояние соединения и передает эту информацию этой программе. В случае, если программа контроля не запущена, связь будет установлена только на базовой частоте. При установке под Windows  ipln.exe добавляется в автозапуск (на Unix о ее запуске iplncfg нужно позаботится самим). Одна из сторон при таком режиме должна быть определена как  MASTER (по умолчанию, для драйверов под Windows). Подстройка будет выполнятся именно с этой машины. Концентратор не может работать как MASTER. Если на обеих сторонах режиме MASTER не задан, не будет выполнятся переключение на рабочую частоту. Если на обеих задан, программы могут разрешить этот конфликт, но предпочтительнее задать MASTER-машину жестко, т.к. на ней ведется предыстория переключений и состояний канала . После настройки на стороне MASTER результаты сохраняются автоматически в любом случае. На другой стороне, если запущена программа контроля, то тоже будет выполнятся авто сохранение при изменении параметров канала.

Драйвер может находится в 4-х состояниях

  1. режим ожидания связи ()
  2. связь установлена на базовой частоте (
  3. связь установлена на рабочей  частоте ()
  4. режим настройки ()
Переключения между режимами выполняется как драйвером так и программой контроля.

Выбор базовой частоты.

Выбор базовой частоты выполняется программой настройки при установки соединения, после поиска рабочей частоты. Сначала в качестве базовой частоты проверяется одна из стандартных частот, на которой было установлено первое соединение. Если она удовлетворяет условиям проверки, то она остается в качестве базовой. Если нет, то базовая частота выбирается в районе 100Кгц до 313кгц, с наиболее устойчивой кодировкой, и большими запасами настройки. Если рабочая частота маленькая, или не найдено подходящей базовой частоты, то рабочая и базовые частоты совпадают.

Состояние канала.

Драйвер периодически посылает на другую сторону пакет о состоянии канала с его стороны. Посылка выполняется, если в течении 5-ти(или 2-х) секунд не было послано пакетов на другую сторону или изменилось состояние канала. В состоянии канала отмечается режим, в котором работает драйвер (MASTER или нет, используется для разрешения конфликтов ), состояние ухудшение качества связи (связь есть, но идет большой процент ошибок 25% AA:CRC на 1000 кадров, состояние может быть сброшено только командой с MASTER машины), состояние об ошибке при передаче на текущей частоте (сбрасывается при перезаписи нового ОЗУ параметров) и в нем же возможен запрос на переключение частоты. Процента ошибок вызывающий ситуацию "плохая связь" можно задать в файле ipln.cfg.

Условия перехода на базовую частоту.

  1. сразу после загрузки компьютера
  2. не приходят кадры с другой стороны в течении 15-ти (переопределяется параметром DTIME) секунд ("нет связи") 
  3. не передается кадр на рабочей частоте 
  4. приходит команда о переключении с другой стороны
  5. при выполнении корректировки скорости (как вверх так и вниз)

Причина перехода 3) на базовую частоту сохраняется в статусе канала. При отсутствии передачи данных или изменении состояния, машины посылают друг другу состояние канала. При отсутствии приема кадров с другой стороны , возникает ситуация "нет связи" и происходит переход на базовую частоту. Ситуация "нет связи" снимается только приходом с другой стороны кадра состояния канала, значит после восстановления связи, автоматически будет известно состояние канала с обеих сторон.

Программа ipln.exe раз в секунду опрашивает драйвер и анализирует состояние каналов. При возникновении ситуации  "есть связь на базовой частоте", вызывает программу анализа ситуации. Будет описана ниже.

При возникновении ситуации 3) возможны две ситуации: связь на коротких кадрах есть и ее нет. В первом случае драйвер переключается на базовую частоту и пытается передать не переданный до этого кадр на ней. Во втором возникает ситуация "нет связи". Если удалось переключится командой на базовую частоту, передача данных продолжается на ней.

Поведение программы при динамической корректировки связи

1) при первом запуске, или если драйвер по какой либо причине перешел в состояние ожидания связи,  программа пытается установить связь с удаленной машиной и запустить программу настройки (если нет сохраненных параметров) или выполнить процедуру быстрого подключения. Такие вызовы выполняются раз в минуту.

2) если текущее состояние "нет связи", то также раз в минуту, выполняется попытка установить связь на стандартной частоте. Если при этом связь устанавливается, то выполняется процедура быстрого подключения или вызывается программа настройки (если нет сохраненных параметров), если нет восстанавливаются предыдущие параметры.

Следствия из п. 1) и 2):

Если удаленный компьютер потерял свои параметры они будут восстановлены автоматически с этой стороны. Если он по какой либо причине перешел в состояние ожидания, связь также будет восстановлена.  Если MASTER компьютер потерял параметры (например при переустановке драйвера), то если базовая частота совпадает со стандартной будет выполнена настройка заново.

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

Замечание:

В случае, если пропала связь на базовой частоте, то нужно перевести компьютер в режим ожидания связи, с указанием "Сбросить предыдущие параметры". Иначе будет выполнятся попытка быстрого соединения.

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

4) Если был выполнен переход с рабочей частоте на базовую, то при восстановлении рабочей частоты, эта причина запоминается. Если выполняется три таких перехода, то тогда вызывается программа понижения скорости начиная с производительности 95% от текущей. Если в течении 20-ти мин. переходов не было, предыстория сбрасывается.

5) Если при связи на рабочей частоте, программа получает состояние канала "плохая связь", то она сбрасывает это состояние в драйвере и запоминает у себя. Если выполняется три таких ситуации, то тогда вызывается программа понижения скорости начиная с производительности 95% от текущей. Если в течении 20-ти мин. новых сигналов не было, предыстория сбрасывается.

6) Если нет связи на рабочей частоте и попытка понизить ее не нашла ни одной рабочей точки, или пользователь три раза прервал поиск, дальнейшие попытки понизить скорость блокируются, и продолжается работа на базовой частоте. Разблокировка происходит при запуске настройки, ручном понижении скорости, или сбросом в свойствах ipln.exe.

7) Программа ipln.exe может выполнять коррекцию скорости вверх, если это разрешено в конфигурационном файле. Для управления этим процессом можно задать интервал между такими попытками в часах, интервал времени суток и время не активности канала , когда эта процедура разрешена. Если интервал не задан, ipln.exe выбирает его в зависимости от успешности предыдущих попыток (начальный интервал 4 часа, при не удачной попытке, время между попытками удваивается, но не более 10 суток). Если в течении этого времени связь была нормальной, то выполняется попытка поднять скорость на 10%.

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

Поведение системы клиент-концентратор.

Еще раз опишем поведения системы при включении/выключении компьютеров или перезагрузках.

Обычной является ситуация, когда пользователь, поработав, выключает компьютер. Его канал на концентраторе через 15 сек перейдет на работу на базовой частоте, а еще через 15 сек в состояние "нет связи" (). Состояние может возникнуть раньше, если после выключения компьютера пользователя на него была сделана попытка передачи сообщения.

Как только пользователь включит машину, адаптеры свяжутся на базовой частоте, состояние канала изменится на "2) связь установлена на базовой частоте"() . После этого программа ipln переключит их на рабочую частоту. Это очень быстро. Если переключение произошло, статус канала изменится на "3) связь установлена на рабочей частоте"().

Если в момент включения пользователя концентратор не работал, у клиента возникает состояния "нет связи на базовой частоте". Если отключение концентратора произошло во время работы, то через 15 секунд адаптер перейдет на базовую частоту , а еще через 15 сек в состояние "Нет связи на базовой частоте". 

Так как при загрузке драйвера в линию всегда посылается состояние канала, то при включении машины с любой стороны, сразу должна произвести установка связи на базовой частоте. Так как выполняется автоматическая корректировка скорости, то на обеих концах выполняется и автоматическое сохранение новых параметров связи.

Режим корректировки скорости или попытка установить связь отражается знаком вопроса на панели индикации ().

---------------------------------------------
Перейти в оглавление документации