Бывает ситуации когда теряется связь с РДУ на основном контроллера при этом доступ к резервному контроллеру у РДУ есть и эксплуатации приходится принудительно переходить не резервный контроллер.
С помощью пользовательского ТС можно выполнить переход автоматически при потери связи с РДУ.
Для начала немого теории из РЭ по поводу работы пользовательского ТС:
Пользовательский ТС (не обязательный параметр) – телесигнал, по состояниюкоторого, будет произведена смена ролей; Если на основном контроллере ТС = 0, а на резервном ТС = 1, то при ReadReady (сигнале готовности резерва)= 1, произойдет смена ролей (перезагрузка основного). Для формирования ТС используется алгоритм, для примера в котором можно использовать ТС состояния Ethernet– портов. Например, если на основном все Ethernet– порты находятся в состоянии «DOWN», а на резервном они находятся в состоянии «UP», то можно произвести смену ролей. Алгоритм должен быть внесен в «Список алгоритмов, выполняемых на резервном» |
Используя soft constructor создадим алгоритм по которому при пропадании свезя с РДУ на основном контроллере ТС примет состояние 0, а на резервном при дезактивированном обмене в режиме резервирования ТС будет равен 0.
Входы conn это сигналы наличия связи с РДУ. В данном случае для тестовой сети я создал 2 подключения на объекте их может быть любое количество. master это сигнал основного контроллера при резервировании.
Создаем виртуальный сигнал ТС состояния.
Загружаем алгорим на контроллер, ставим галочку выполнять на резервном контроллере и привязываем сигналы в конечном итоге должно получиться что-то подобное:
Делаем бекам с основного контроллера разворачиваем на резервном.
Перегружаем основной контроллер, убеждаемся что резервирование с готовностью.
Теперь в случае пропадания связи по всем коннектам с РДУ(ЦУС, ОДУ и т.д.) основной контроллер перегрузиться и станет резервным.
Недостатком данного метода является то что, при потери связи с верхним уровнем при неисправности каналов связи или неисправности серверов верхнего уровня, в следствии чего оба контроллера не будут видеть связь с верхним уровнем, контроллеры будут по очереди перегружаться так только в резервный контроллер встанет в готовность.