ОБЕСПЕЧЕНИЕ НАДЕЖНОСТИ АСУ ТП НА БАЗЕ TRACE MODE

Попов Д.А., ст. инженер AdAstra Research Group, Ltd

Тел (095) 737-59-33, E-mail: adastra@adastra.ru , http://www.adastra.ru

http://www.adastra.ru

Использование дублированных узлов операторских станций в критических режимах функционирования

В современном производстве, требующем непрерывного контроля, как за качеством выпускаемой продукции, так и за состоянием процесса в целом, перед проектировщиком систем автоматизированного управления встает вопрос о выборе подходящего метода обеспечения надежности. Одним из самых эффективных на сегодняшний день методов повышения надежности АСУ ТП является метод, при котором процесс контролируется вторым комплектом оборудования с соответствующим программным обеспечением, способным в нужный момент времени заменить вышедший из строя или переведенный на плановую профилактику первый комплект (горячее резервирование). Современные требования к такого рода системам указывают, что они должны обеспечивать широкий набор функций резервирования и иметь возможность конфигурирования в пределах каждого из этих наборов.

В SCADA TRACE MODE реализованы многочисленные функции горячего резервирования. Рассмотрим некоторые из них на конкретном проекте. Данный проект находится в эксплуатации на горно-обогатительном комбинате АПАТИТ с 2002 года. Для узлов операторских станций, предназначенных для оперативного управления, мониторинга за состоянием техпроцесса, и ведения архивов, в проекте использованы Double Force МРВ.

Рис.1

Семь PC-based контроллеров под управлением Микро МРВ осуществляют непосредственное управление техпроцессом, являются источником оперативной информации и приемниками команд управления для операторских станций. Операторские станции и каждый из контроллеров имеют по 2 сетевых адаптера, с помощью которых подключены к одному центральному устройству – HUBу.

Переключение статуса узла

Требования, стоящие перед системой с резервированием, включают перехват выполнения главной задачи управления и мониторинга техпроцесса резервным комплектом оборудования при выходе из строя основного комплекта. Идея резервирования узлов предполагает наличие в сети в каждый конкретный момент времени одного ведущего узла и от одного или более ведомых узлов. Набор функций каждого из перечисленных узлов определяет его статус. Статус ведущего узла, который несет на себе функции сбора данных, управления техпроцессом, называется "MASTER". Статус ведомого узла или узлов, несущих на себе те же, что и у "MASTER", функции сбора данных, называется "SLAVE". При выполнении заданных условий в системе "MASTER"-"SLAVE" возможно переключение статуса узлов или партнеров по резерву. Это переключение осуществляется вместе с передачей права на использование набора функций, определенного для каждого статуса. В рассматриваемом проекте на уровне операторских станций функции резервирования реализованы в следующем объеме: резервирование линий передачи данных на основе технологии переключения номеров логических адаптеров, автоматическое определение статуса, наличия в сети партнеров по резерву и принятие решения о переключении статусов партнеров на основании этих данных или по команде оператора.

Рис.2

На Рис.2 представлен алгоритм, реализованный в виде FBD-программы и использующийся для автоматического или ручного переключения статуса партнеров по резерву. Данный алгоритм содержит в себе следующие функции переключения статуса партнеров по резерву:

   Переключение статуса узла из "SLAVE" в "MASTER" при условии:

   если статус текущего узла "SLAVE" и значение таймера времени отсутствия связи с партнером по резерву, находящемуся в статусе "MASTER", превысило величину таймаута.

   если статус текущего узла "SLAVE" и статус партнера по резерву изменился с "MASTER" на "SLAVE".

   Переключение статуса узла из "MASTER" в "SLAVE" при условии, что получена соответствующая команда оператора.

В качестве входных аргументов данной FBD-программы выступают: статус партнера по резерву, время отсутствия связи с партнером, собственный текущий статус узла, величина таймаута, при превышении значения которого формируется команда на переключение статуса, статус узла, задаваемый по команде оператора. В качестве выходного воздействия программы выступает команда на переключение статуса узла, сформированная оператором или автоматически на основании комбинации значений входных аргументов. В центре программы находятся FBD-блоки "логическое ИЛИ" и "логическое И", которые используются для принятия решения об автоматическом переключении статуса узла из "SLAVE" в "MASTER". С помощью второго блока выбора SEL осуществляется коммутация значений статуса. Блоки сравнения проводят анализ текущего статуса партнера и собственного статуса узла, времени отсутствия связи с партнером. Блоки "сравнить с нулем" и MOVE используются для отработки команды оператора на изменение статуса.

Если текущий узел находится в статусе "SLAVE", то блок "равно"-"==" формирует сигнал 1. Данный сигнал может быть использован для отключения от источника каналов, связанных с оборудованием. Данная операция включает штатный механизм синхронизации данных, когда они поступают в реальные значения каналов от узла со статусом "MASTER". Блок распаковки HLB выделяет текущий статус партнера по резерву. С помощью блока неравенство "<>" осуществляется проверка статуса узла партнера на значение "MASTER" и выдача 1, если это условие не выполняется. Блок больше ">" сигнализирует о превышении времени отсутствия связи с партнером величины таймаута.

Итак, если текущий статус узла – "SLAVE" и превышено время таймаута, то логическая функция (И плюс ИЛИ) выдает сигнал о необходимости переключения, который используется вторым блоком SEL для установления статуса текущего узла в "MASTER". Второй вариант переключения статуса узла представляет собой ситуацию, когда узлу принудительно выставляется статус "SLAVE". Для этого используются блоки сравнения с нулем "<>0", первый SEL и блок MOVE. Как только оператор меняет значение канала, отвечающего за прием команд на изменение статуса, это значение обрабатывается блоком сравнения с нулем "<>0", который воздействует на вход выбора первого SEL и вход разрешения пересчета блока MOVE, включая его. Считанное, таким образом, значение статуса заносится в канал статуса узла, а введенное оператором в канал значение затирается с выхода блока MOVE на следующем такте пересчета.

Переключение номера сетевого адаптера

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

Реализация указанного алгоритма в виде FBD-программы представлена на рис. 3. В качестве входных аргументов FBD-программы используются: признаки наличия связи с остальными 7-ю участниками сетевого обмена, команда на ручное переключение адаптера, время отсутствия связи с любым из партнеров сетевого обмена, номер текущего сетевого адаптера, флаг разрешения на переключение. Выходными аргументами программы являются: время отсутствия связи с партнерами по сетевому обмену, номер логического адаптера для переключения, флаг потери сетевой связи с партнерами. FBD-блоки сравнения с нулем "==0"используются для формирования флага отсутствия связи с контроллером или рабочей станцией. Для формирования логики переключения используются блоки "битовое ИЛИ", "логическое отрицание", "логическое сложение с исключением" и RS-триггер. Блоки T_ON и LTN несут на себе вспомогательные функции.

Функциональное назначение логической части программы состоит в том, что, в случае отсутствия связи с одним из сетевых партнеров, она должна обеспечить однократное переключение номера логического адаптера. Это достигается использованием блоков триггера и задержки совместно с блоками логических операций. Вышеупомянутая схема переключения номера адаптера может находиться в 2-х устойчивых состояниях: готовности к переключению номера адаптера и состоянии после переключения, когда связь еще не восстановилась.

Итак, получив сигнал о потере связи, блоки сравнения с нулем выставляют флаг, который поступает в блок упаковки PB. Данный блок на основании сигнала об отсутствии связи или по ручной команде оператора формирует совмещенный сигнал о необходимости переключения. Блок задержки включения T_ON, получив сигнал о сбое связи, отрабатывает ее по истечении времени TIMEOUT. Если взведен флаг разрешения переключения "PERMISSION", подающий сигнал "1" на вход "RESET" RS-триггера, то вышеуказанный сигнал сбоя поступает в логическую схему, которая уже на текущем такте выдает команду на переключение адаптера. За счет блока задержки LTN, сигнал о сбое связи на следующем такте поступает на вход "SET" RS-триггера, который через ту же логическую схему снимает команду на смену адаптера, что предотвращает дальнейшие переключения. Как только связь со всеми узлами восстановлена, схема переключения возвращается в состояние готовности к переключению адаптера.

Рис 3.

Особенности настройки алгоритмов

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

Необходимо также отметить ситуацию, которая может возникнуть при физическом разрыве всех линий передачи данных, соединяющих обе рабочие станции. В такой ситуации в сети могут появиться два узла со статусом "MASTER", что недопустимо. В этом случае необходимо использовать предусмотренный по умолчанию статус для каждого из узлов: одного "SLAVE", а другого "MASTER". Таким образом, вышеописанный алгоритм переключения статуса узла видоизменяется следующим образом: если после смены номера сетевого адаптера в сети не обнаружен партнер, то новый статус узла должен быть взят из некоего внешнего источника, например файла глобальных переменных.

Однако, в этом случае не исключается вероятность возникновения ситуации, когда остается только один узел, принимающий статус "SLAVE" по умолчанию, что тоже может быть недопустимо. Тогда остается единственная возможность, которая подразумевает включение в схему с резервированием третьего узла, который, используя последовательные линии передачи данных (RS) или сеть (ETHERNET), будет автоматически осуществлять назначение статуса узлам – партнерам по резерву в зависимости от сложившейся ситуации. В противном случае функции арбитра должен выполнять оператор или некий аппаратный арбитр, например, включающий в себя связи по каналам УСО между узлами-партнерами по резерву.