О начальном пуске системы автоматизации. О самодиагностике и восстановлении систем управления

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

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

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

Основные компоненты исходной информации, вводимой в оперативную память управляющей ПЛК перед началом функционирования системы, следующие:

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

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

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

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

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

Средства самодиагностики и восстановления систем управления технологическими процессами

 

Диагностические компоненты в ОС управляющей в программируемых логических контроллерах (ПЛК) значительно отличаются от соответствующих компонентов ОС для обработки данных или научных задач, что объясняется различием в их назначении. Главная цель диагностики в ПЛК для обработки данных или решения научных задач — повышение эксплуатационной надежности, что означает увеличение скорости обнаружения отказа, сводящее к минимуму время простоя машины и (или) устранения неисправности. Между тем главная цель диагностики управляю­щих программируемых логических контроллеров (ПЛК) — поддерживать готовность системы, т. е. обеспечивать управление объектом и прочие услуги в некоторой минимальной степени, пусть даже с возросшим временем обслуживания. Например, при обработке данных мож­но пойти на срыв выполнения текущих заданий и передачу всех ресурсов системы в распоряжение диагностических программ. При оперативном уп­равлении система должна сохранять управление важными технологическими величинами.

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

Предотвращение ошибок:

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

Обнаружение ошибок:

  • обследование состояния системы для обнаружения неверного состояния или последовательности таких состояний; обследование данных и структур данных;
  • обследование характеристик производительности; использование механизмов защиты программного обеспечения и аппа­ратуры.

Диагностика ошибок:

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

Коррекция и восстановление:

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

Функция обнаружения и диагностики ошибок с использованием системных механизмов защиты может быть обеспечена проведением контроля: переходов к подпрограммам; обращений к подпрограммам; переходов на не­используемые ячейки памяти; выполнения циклов в подпрограммах или задачи по допустимому времени; выполнения условий предшествования; работоспособности технических средств в рабочем режиме системы.

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

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

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

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

Контроль выполнения циклов в подпрограммах или задачах по допустимому времени. Характерным при­знаком зацикливания является превышение длительности счета по програм­ме допустимого времени их реализации. Основным способом контроля явля­ется использование счетчика относительного времени. Перед переходом на исполнение программы устанавливается предельно допусти­мое значение времени ее реализации. По сигналам счетчика (таймера) происходит равномерное убывание значения счетчика. При достижении ну­левого значения на счетчике вырабатывается запрос к ОС программируемых логических контроллеров (ПЛК) для при останова зациклившейся программы. В современных промышленных операционных системах реального времени эта функция выполняется установлением тайм-аута.

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

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

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

в рабочем режиме автоматически с периодом, определенным времен­ным ресурсом системы);

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

жесткие требования к длине тестов и к времени их реализации;

  • возможность выполнения тес­тов реального времени в фоновом режиме работы и в режимах лока­лизации неисправности (по запросу программ контроля) и профилак­тики (по запросу оператора си­стемы).

Учитывая эти особенности, организацию процесса прогона тестов реального времени выполняют с помощью планировщика тестов реаль­ного времени, оформленного в виде отдельной задачи ОС, циклически запускаемой через заданный временной интервал. Все тесты объединяют в Библиотеку. Оперативное формирование заданной последовательности тестов и (их запуск в порядке, задаваемом планировщиком, осуществляет диспетчер тестов реального времени, являющийся управляющей программой библиотеки тестов. Для ОС это также отдельная задача, запускаемая по запросу плани­ровщика. Рассмотрим, например, тест ОЗУ, обеспечивающий диагностику ячеек ОЗУ, за исключением областей, занимаемых программой обработки прерываний от схем контроля процессора и частью данного теста (рабочие ячейки, константы и участок программы с выключенной системой прерываний).

Контроль ОЗУ осуществляется засылкой в каждую из проверяемых ячеек набора контрольных кодов (с предварительным сохранением содержимого ячеек), считывания их содержимого и сравнения с соответствующими конт­рольными кодами. Тест обеспечивает разделение неисправностей ячеек на сбои и отказы. Сбой — однократное не сравнение считанного и контрольного кодов, отказ-двукратное не сравнение.

Функция восстановления работоспособности   может быть обеспечена:

  • восстановлением содержимого отдельных ячеек ОЗУ;
  • формированием конт­рольных точек и перезапус­ком программ с контроль­ных точек;
  • копированием участков ОЗУ;
  • реконфигурацией тех­нических и программных средств системы.

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

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

Копируемые участки ОЗУ в АСУ ТП следующие:

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

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

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

Новости

Линия производства цветных принтерных чернил общим объемом 2000 литров - проектирование и поставка автоматической системы управления, г. Эгль, Швейцария

06.01.24

Линия производства цветных принтерных чернил общим объемом 2000 литров - проектирование и поставка а...

Снабжение факельной установки топливным газом на период аварийного отключения - поставка системы управления и выполнение ПНР, порт Тамань, Краснодарский край

06.01.24

Снабжение факельной установки топливным газом на период аварийного отключения - поставка системы упр...

Контроль расхода кислорода. Проектирование и поставка шкафа автоматики мониторинга, Санкт-Петербург

06.01.24

Контроль расхода кислорода. Проектирование и поставка шкафа автоматики мониторинга, Санкт-Петербург ...

Заказчики
Поставщики