Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
0 М УП 2012, 241с Марданов Р Ф СПА Распределенные системы управления (общее).doc
Скачиваний:
7
Добавлен:
01.07.2025
Размер:
10 Мб
Скачать
☆
      1. Процессорные модули

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

Резервирование процессора с целью повышения отказоустойчивости и живучести выполняют методом замещения с горячим (рис.8.14,а) или теплым (рис.8.14,6) резервом, а также методом голосования по схеме 2ооЗ (рис.8.15).

Рис.8.14. Горячее (а) и теплое (б) резервирование процессорных модулей замещением; ДР - драйвер резервирования

Для систем, связанных с безопасностью, используют резервирование по схеме 1оо2 или 2оо2, в том числе с диагностикой (loo2D и 2oo2D).

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

Рис. 8.15. Резервирование процессорных модулей и сетей с голосованием по схеме 2ооЗ

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

Для систем, некритичных ко времени перехода на резерв, может быть использован медленный последовательный канал синхронизации с интерфейсами, например RS-232, USB, RS-485, или обычная промышленная сеть (CAN, Modbus, Profibus и др.) общего назначения (рис.8.14,б). Такие системы относят к системам с «теплым» резервом.

К резервированным процессорным модулям предъявляются следующие основные требования:

  • безударное переключение на резерв (без внесения возмущений в управляемый процесс);

  • малая длительность переключения;

  • высокая надежность общих средств, выполняющих функцию переключения (шина синхронизации и ПО).

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

Горячее резервирование замещением. Основной сложностью при резервировании процессорного модуля является обеспечение синхронизации между основным и резервным процессором. Для перехода в рабочее состояние, резервный процессор должен иметь возможность:

  • синхронизировать с основным процессором работу прикладной программы, накопленные данные, состояния регистров, состояния входов и выходов, таблицы неисправностей;

  • обнаружить отказ основного процессора;

  • заместить отказавший процессор.

При первоначальном включении резервного процессора из выключенного состояния или после горячей замены он должен получить от основного следующую информацию:

  • все данные, полученные со входов;

  • все данные, отправленные на выходы;

  • состояния ПИД-регуляторов;

  • уставки и другие значения, заданные пользователем в процессе работы системы;

  • содержимое регистров, в том числе счетчиков-таймеров;

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

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

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

  • определяет, какой из процессоров является основным, какой – резервным (обычно основным является тот, который раньше был включен или назначен пользователем);

  • убирает из основного процессора уставки, идентифицировавшие его как основной;

  • рассылает всем участникам сети сообщения о том, какой процессор стал основным и какого типа система получилась после перехода на резерв (в соответствии со схемой деградации);

  • выполняет синхронизацию;

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

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

Приложения-клиенты верхнего уровня системы автоматизации, которые используют данные из контроллера, во время переключения на резерв должны перерегистрироваться на получение информации от нового процессора.

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

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

Поскольку продолжительность синхронизации является очень важным параметром, от которого зависит КГ системы и возможность безударного переключения на резерв, появляется задача минимизации объема передаваемой информации. Одним из путей решения этой проблемы является передача данных только при наступлении определенных событий в системе, которые могут приводить к различию во внутренних состояниях основного и резервного процессоров. В частности, синхронизация по событиям выполняется, если:

  • происходит обмен информацией с модулями в/в;

  • поступает запрос на прерывание;

  • срабатывают запрограммированные пользователем таймеры;

  • изменяются данные в результате обмена по сети.

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

Недостатком систем с резервированием замещением является наличие нерезервированных подсистем: канала синхронизации, программного драйвера резервирования и процессора, на котором этот драйвер исполняется. Отказ этих элементов приводит к отказу всей резервированной системы.

Резервирование методом голосования. Метод голосования проще, чем резервирование замещением, поскольку не требует постоянной синхронизации состояний процессоров. Кроме того, позволяет выполнять задачу управления без остановки во время перехода на резерв. Однако голосование с целью обеспечения безотказности возможно только в системе, состоящей не менее чем из 3-х процессоров, что достаточно дорого. Два процессора, включенные по схеме голосования, могут быть использованы только в системах безопасности.

Типовая система с голосованием по схеме 2ооЗ показана на рис.8.16. Три процессорных модуля А, В и С исполняют одну и ту же программу пользователя, получая одни и те же данные от датчиков через модули ввода AI. Каждый процессорный модуль имеет 3 сетевых контроллера, которые исполняют протокол обмена по сети.

Работа система: каждый из 3-х параллельно работающих процессоров (А, В и С) отсылает в модули ввода запрос (команду). Каждый из 3-х модулей ввода получает эти 3 команды и выполняет голосование по схеме 2ооЗ, в результате которого из 3-х полученных входных значений выбирается одно, которое используется для выработки ответа на команду. Поскольку модулей ввода 3, в процессор отправляется также 3 ответа на его команду, из которых каждый их 3-х процессоров выбирает один ответ по схеме 2ооЗ, который и используется в дальнейшей работе прикладной программы.

Рис.8.16. Резервирование методом голосования

Аналогично происходит процедура вывода. Каждый процессор посылает в модули вывода команду; каждый из модулей вывода (1, 2, 3 и 4 на рис.8.16) принимает 3 команды. Далее в каждом модуле вывода выполняется голосование по схеме 2ооЗ, в результате которого для исполнения выбирается одна команда из 3-х, по которой включается или выключается исполнительное устройств (в нашем примере ключ).

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

После отказа одного из процессоров система продолжает непрерывно работать, поскольку схема голосования выдает правильной результат при мажоритарном голосовании. После отказа 2-х процессоров наступает отказ системы. Однако в системах безопасности достаточно резервировать только функцию безопасности, что позволяет использовать голосование по схеме 1оо2, 2оо2 и использовать результат диагностики неисправности в качестве одного из голосов. Поэтому после отказа одного из процессоров в системе 2ооЗ она может перейти в режим 1оо2 (или 2оо2), после отказа 2-го процессора - в режим 1oo1 и только после отказа 3-го перевести свои выходы в безопасные состояния.

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

Несмотря на отсутствие необходимости в синхронизации, между процессорами выполняется обмен диагностическими данными и статусом. Данные, доступные всем элементам системы, называются глобальными и передаются от каждого процессора 2-м другим. Эти данные используются прикладными и системными программами, в частности, для реализации схемы деградации при появлении отказов. Для голосования по схеме 2ооЗ в качестве 3-го голоса каждый процессор использует свои собственные данные.

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

Обычно тестируются следующие компоненты и функции:

  • скоростной канал связи между процессорами;

  • ядро ЦП;

  • внутренние ОЗУ ЦП;

  • флэш-память;

  • шины в/в.

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

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

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