О начальном пуске системы автоматизации. О самодиагностике и восстановлении систем управления
Синхронизация в памяти промышленных компьютеров вычислительного и технологического процессов при начальном запуске занимает особое место в работе системы. Во-первых, это связано с тем, что включение системы управления может происходить в случайные моменты времени и управление технологическим процессом не может быть реализовано системой управления в силу отсутствия необходимой информации на момент подключения. Особенно это важно для систем непрерывно-дискретного типа (управление прокатными станами и т. п.). Во-вторых, процедура начального пуска должна обеспечивать выполнение работ, которые либо вообще не выполняются при нормальной работе системы, либо выполняются в другом объеме. Начальный пуск должен обеспечивать:
- приведение аппаратуры промышленных компьютеров в исходное состояние для перевода в рабочий режим;
- тестирование оборудования (памяти процессора, устройств связи с объектом, датчиков и т. п.);
- начальный ввод информации в запоминающее устройство промышленных компьютеров в соответствии с заданным режимом работы системы;
- подключение системы к объекту в заданный момент времени.
Первоначальное тестирование оборудования и датчиков необходимо для уверенности в адекватности отображения состояния управляемого объекта в памяти ПЛК и обнаружения неисправностей. Функционирование систем управления технологическими процессами в различных режимах предполагает наличие различных наборов программ и исходной информации, которую по возможности готовят заблаговременно и хранят на магнитных дисках или лентах. В момент пуска системы происходит считывание этой информации в ОЗУ по коду режима, набранному на пульте оператором из соответствующей области на долговременном запоминающем устройстве.
Основные компоненты исходной информации, вводимой в оперативную память управляющей ПЛК перед началом функционирования системы, следующие:
- общие константы программы, используемые при выполнении арифметических и логических операций;
- табличные функции (константы табулированных функций;
- константы режима, определяющие принимаемое для данного режима работы системы распределение памяти ПЛК, состав задач, приоритет и периодичность их включения;
- начальные значения переменной информации (счетчиков, адресов, кодов и т.п.), изменяющейся в процессе работы системы;
- данные о состоянии внешних устройств и абонентов системы;
- астрономическое время пуска системы;
- системные данные, определяющие внешние условия функционирования системы управления в данный момент времени.
Определенную сложность представляет подключение к объекту системы, а которой управление технологическим процессом осуществляется по инициативным сигналам с объекта (управление движущимися объектами, непрерывно дискретное управление, дискретное управление.
В этом случае вопрос синхронизации становится наиболее очевидным, в его решение можно продемонстрировать на примере действий, реализуемых при начальном пуске системы управления прокатным станом. При подключении к объекту вначале происходит ожидание выполнении заданного условия (например, выхода полосы из последней клети чистовой группы клетей путем циклического опроса соответствующего датчика). Устанавливаются признаки начального запуска системы для системы подтверждения инициативных сигналов - по одному на каждый инициативный сигнал. Опрашиваются все устройства ввода инициативных сигналов для снятия имеющихся сигналов. Готов и снимаются маски.
Система подтверждения инициативных сигналов не классифицирует инициативные сигналы как событие для системы в случае, если для данного сигнала установлен признак Начальный пуск. Эти признаки снимаются при продвижении информации о полосе по линии стана, т. е. если два датчика инициативных сигналов расположены один за другим, то сигнал о нахождении полосы над первым датчиком снимает признак Начальный пуск со второго, но не наоборот.
В процессе работы управляющей системы возможны сбои, связанные с отказами оборудования или ошибками в работе ПО, приводящие к остановам процессора. Поскольку начальный запуск требует достаточно большого времени (это связано с тем, что ввод информации осуществляется в диалоговом режиме), необходимо иметь процедуру синхронизации вычислительного и технологического процессов по укороченной программе. Такая процедура носит название короткого перезапуска. При коротком перезапуске системы нет необходимости вводить заново информацию о константах и табличных функциях, так как эта информация находится в памяти машины. Основные работы при коротком перезапуске обусловлены нарушением системных данных во время останова процессора. Таким образом, процедура короткого перезапуска включает в себя: восстановление системной информации; ввод астрономического времени; подключение системы к объекту в заданный момент времени. При нарушении информации, хранимой в ОЗУ ЭВМ, для восстановления системы используют режим начального пуска.
Средства самодиагностики и восстановления систем управления технологическими процессами
Диагностические компоненты в ОС управляющей в программируемых логических контроллерах (ПЛК) значительно отличаются от соответствующих компонентов ОС для обработки данных или научных задач, что объясняется различием в их назначении. Главная цель диагностики в ПЛК для обработки данных или решения научных задач — повышение эксплуатационной надежности, что означает увеличение скорости обнаружения отказа, сводящее к минимуму время простоя машины и (или) устранения неисправности. Между тем главная цель диагностики управляющих программируемых логических контроллеров (ПЛК) — поддерживать готовность системы, т. е. обеспечивать управление объектом и прочие услуги в некоторой минимальной степени, пусть даже с возросшим временем обслуживания. Например, при обработке данных можно пойти на срыв выполнения текущих заданий и передачу всех ресурсов системы в распоряжение диагностических программ. При оперативном управлении система должна сохранять управление важными технологическими величинами.
Методы и средства для предотвращения, обнаружения ошибок, восстановления работоспособности программ разделяют на четыре основных группы.
Предотвращение ошибок:
- структурные методы проектирования и реализации программ;
- доказательство корректности модулей;
- тестирование.
Обнаружение ошибок:
- обследование состояния системы для обнаружения неверного состояния или последовательности таких состояний; обследование данных и структур данных;
- обследование характеристик производительности; использование механизмов защиты программного обеспечения и аппаратуры.
Диагностика ошибок:
- быстрая регистрация доступной информации об ошибке и ее экспресс- анализ;
- детальный анализ последствий ошибки для определения области ее действия и нахождения вероятной причины возникновения;
- использование словаря обслуживания, содержащего набор симптоматических причин возникновения ошибок и соответствующих способов исправления.
Коррекция и восстановление:
- игнорирование ошибки и продолжение выполнения программы;
- повторение неверно выполненной операции и продолжение вычислений, если это повторение оказалось успешным;
- возврат к точке возникновения ошибки и перезапуск с этой точки;
- восстановление данных и структур данных, возобновление вычислений так, как это указано в одном из предыдущих пунктов;
- начальный перезапуск.
Функция обнаружения и диагностики ошибок с использованием системных механизмов защиты может быть обеспечена проведением контроля: переходов к подпрограммам; обращений к подпрограммам; переходов на неиспользуемые ячейки памяти; выполнения циклов в подпрограммах или задачи по допустимому времени; выполнения условий предшествования; работоспособности технических средств в рабочем режиме системы.
Методы защиты, используемые при разработке отдельных программ (в том числе методы защиты данных, контроля переходов и т. п.).
Контроль переходов к подпрограммам основан на особенностях выполнения команды Переход на подпрограмму промышленных компьютеров. При выполнении команды ее адрес, увеличенный на единицу (адрес команды возврата), запоминается по указанному в команде адресу входа в подпрограмму, а управление передается ячейке, адрес которой на единицу больше адреса входа. Контроль переходов выполняет после обработки подпрограммы путем перехода по адресу, указанному во входной точке. При правильной активизации подпрограммы в данной ячейке находится адрес команды возврата, а при неправильной — адрес программы обнаружения нарушений работоспособности (заносится во входную точку прикладной подпрограммы после каждой ее реализации).
Контроль обращения к программе. Для обнаружения неправильных переходов в процессе реализации подпрограммы перед ее выполнением в определенные ячейки (точки контроля неправильных переходов) записываются команды Отсутствие операций. После выполнения подпрограммы в точки контроля записываются команды перехода к программе обнаружения нарушений работоспособности. В случае неправильного перехода при достижении контрольной точки управление будет передано программе контроля.
Контроль переходов на неиспользуемые ячейки памяти. Программу контроля переходов оформляют в виде низкоприоритетной программы, осуществляющей предварительную засылку в неиспользуемые ячейки кодов команд с операцией Переход на подпрограмму и адресом программы идентификации нарушений. Засылка выполняется программой начального пуска системы, а также после реализации высокоприоритетных программ.
Контроль выполнения циклов в подпрограммах или задачах по допустимому времени. Характерным признаком зацикливания является превышение длительности счета по программе допустимого времени их реализации. Основным способом контроля является использование счетчика относительного времени. Перед переходом на исполнение программы устанавливается предельно допустимое значение времени ее реализации. По сигналам счетчика (таймера) происходит равномерное убывание значения счетчика. При достижении нулевого значения на счетчике вырабатывается запрос к ОС программируемых логических контроллеров (ПЛК) для при останова зациклившейся программы. В современных промышленных операционных системах реального времени эта функция выполняется установлением тайм-аута.
Контроль выполнения условий предшествования основан на сравнении действительного и требуемого порядков выполнения программ. Может применяться в системах с фиксированным порядком выполнения группы программ. Каждая программа использует определенную ячейку памяти, общую для этой группы программ, содержащую код предыстории реализации группы. Выполнение таких программ начинается операцией сравнения, заданного в программе и сформированного другими программами кодов защиты. В случае отрицательного результата будет зафиксирован неправильный переход или запуск программы. Завершается программа формированием кода защиты.
Контроль работоспособности технических средств в рабочем режиме системы. Цель контроля — обнаружение неисправностей, не обнаруживаемых аппаратным контролем, причем контролем охватываются те устройства, которые не имеют схем встроенного контроля. Кроме того, наиболее существенной является возможность раннего обнаружения неисправностей, до использования соответствующего устройства для выполнения основных функций. К особенностям процесса прогонки тестов в рабочем режиме относятся:
- ориентация тестов реального времени на обнаружение наиболее опасных (аварийных) отказов системы (данная группа тестов циклически выполняется
в рабочем режиме автоматически с периодом, определенным временным ресурсом системы);
- необходимость учета при разработке н прогонке тестов возможностей операционной системы и процессора программируемых логических контроллеров (ПЛК) (защита памяти, возможность и особенности работы в непривилегированном состоянии);
- необходимость изменения набора тестов в процессе функционирования системы;
жесткие требования к длине тестов и к времени их реализации;
- возможность выполнения тестов реального времени в фоновом режиме работы и в режимах локализации неисправности (по запросу программ контроля) и профилактики (по запросу оператора системы).
Учитывая эти особенности, организацию процесса прогона тестов реального времени выполняют с помощью планировщика тестов реального времени, оформленного в виде отдельной задачи ОС, циклически запускаемой через заданный временной интервал. Все тесты объединяют в Библиотеку. Оперативное формирование заданной последовательности тестов и (их запуск в порядке, задаваемом планировщиком, осуществляет диспетчер тестов реального времени, являющийся управляющей программой библиотеки тестов. Для ОС это также отдельная задача, запускаемая по запросу планировщика. Рассмотрим, например, тест ОЗУ, обеспечивающий диагностику ячеек ОЗУ, за исключением областей, занимаемых программой обработки прерываний от схем контроля процессора и частью данного теста (рабочие ячейки, константы и участок программы с выключенной системой прерываний).
Контроль ОЗУ осуществляется засылкой в каждую из проверяемых ячеек набора контрольных кодов (с предварительным сохранением содержимого ячеек), считывания их содержимого и сравнения с соответствующими контрольными кодами. Тест обеспечивает разделение неисправностей ячеек на сбои и отказы. Сбой — однократное не сравнение считанного и контрольного кодов, отказ-двукратное не сравнение.
Функция восстановления работоспособности может быть обеспечена:
- восстановлением содержимого отдельных ячеек ОЗУ;
- формированием контрольных точек и перезапуском программ с контрольных точек;
- копированием участков ОЗУ;
- реконфигурацией технических и программных средств системы.
Формирование контрольных точек заключается в пересылке в некоторую область памяти, в соответствующий массив, содержимого регистров процессора и заданных областей памяти.
Копирование участков ОЗУ систем управления технологическими процессами обеспечивает сохранение информации и быстрое восстановление работоспособности системы. Копия участка может быть создана в другом месте ОЗУ, во внешней памяти или на перфоленте.
Копируемые участки ОЗУ в АСУ ТП следующие:
- общая область памяти (COMMON), выводимая на внешнюю память;
- область памяти с функциональными программами (копии создаются в резервной памяти перед выполнением отдельных функциональных программ и уничтожаются после их успешного выполнения);
- состояние списков операционной системы;
- массивы технологических данных (выводятся как на внешнюю память, так и на перфоленту).
Программы реконфигурации технических и программных средств системы позволяют подключить резервные устройства в случае отказа основных, перейти к устройствам с низкой производительностью, с уменьшением объема вводимых и выводимых данных, обеспечивают работу с программами реального времени, размещаемыми в различных блоках ОЗУ или на различных программных цилиндрах (дорожках) магнитного диска.
Функция обслуживания и сервиса системы обеспечивает выводом информирующих и предупреждающих сообщений о нарушениях работоспособности распечаткой рабочих массивов программ оперативного контроля, байтов состояния процессора и устройств, формированием стека адресов, характеризующих предысторию процесса реализации программ.