Объектно-ориентированный анализ и проектирование нового поколения |
Приборы и системы. Управление. Контроль. Диагностика. – № 8. – 2000. Егоров А.А., Резник Ю.О.
Объектно-ориентированный анализ и проектирование нового поколения интеллектуальных приборных комплексов для отработки аэрокосмических технологийЕгоров А.А., Резник Ю.О. Опубликовано в журнале "Приборы и системы. Управление. Контроль. Диагностика", № 8, 2000. Анализ экспериментальной отработки современных аэрокосмических технологий (ОАТ) позволяет сформулировать следующие основные тенденции развития датчиков, измерительно-вычислительных средств и систем управления:
Сейчас рождается новое поколение интеллектуальных приборных комплексов для ОАТ, обусловленное следующими тенденциями развития в областях:
Создание ИПК – сложный и трудоемкий процесс. В статье сформулированы свойства, которым должны удовлетворять ИПК нового поколения, и принципы их построения, предложена методика объектно-ориентированного анализа и проектирования ИПК. Требования промышленности к комплексам стендовых испытаний новой техники и условия их применения позволили сформулировать следующие принципы построения интеллектуальных автоматизированных систем контроля, измерения и управления нового поколения:
Особенности ТП лабораторно-стендовой отработки элементов и конструкций летательных аппаратов (ЛА) как объектов автоматизации выдвигают следующие основные требования к архитектуре современных ИПК:
Разработка ИПК основана на объектно-ориентированном проектировании с методологией объектно-ориентированного программирования (ООП); ООП – это методология проектирования, соединяющая в себе процесс объектной декомпозиции и приемы представления логической и физической, а также статической и динамической моделей проектируемого ИПК. Системный анализ, формализация и алгоритмизация процессов испытаний позволяют представить технологию испытаний в виде типовых технологических операций – задач, что сокращает сроки разработки технологии испытаний, повышает её качество, гибкость и увеличивает возможности для эффективной организации автоматизированных испытаний. Методы ООП обеспечивают применение средств объектного и объектно-ориентированного программирования, использующего в качестве строительных блоков классы и объекты. В основе объектно-ориентированного анализа и проектирования ИПК лежит понятие объектных моделей ФЗЗ, являющихся сложными и трудоемкими информационно-измерительными и управляющими процессами, которые реализуются в ИПК параллельно и связаны между собой потоками измерительной и управляющей информации. Объектно-ориентированное программирование это – методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования, т. е. такие отношения между классами, при каких каждый класс использует структуру и поведение других классов. Технология проектирования ИПК начинается с анализа требований, предъявляемых к ИПК, и построения диаграммы потоков данных. На основе изучения этой диаграммы выделяются важнейшие подсистемы ИПК и их главные компоненты. При построении диаграммы потоков данных выделяются следующие функции:
Выделенные функции проектируемых ИПК распределяются между отдельными асинхронно выполняющимися задачами. Одна функция может соответствовать одной системной задаче ФЗЗ или одну задачу можно реализовывать с помощью нескольких функций. На этом этапе не решается вопрос о способе реализации асинхронного выполнения задач. Для распределения функций между задачами предложено использовать следующие критерии:
Особенность предлагаемого подхода к проектированию ИПК состоит в том, что после образования задач отдельные объекты диаграммы потоков данных соответствуют не отдельным преобразованиям, а отдельным задачам. Отдельные задачи ИПК предлагается проектировать на основе концепции единства методического, технического и программного обеспечения, т. е. конструктивные параметры методического, технического и программного обеспечения в процессе проектирования определяются путём комплексного решения оптимизационной задачи. Оптимизируемым параметром служит критерий качества решения задачи. В зависимости от конкретных условий такими критериями можно выбрать точность, надёжность, время или стоимость решения задачи. Каждая объектная модель ФЗЗ должна обладать как минимум четырьмя главными свойствами:
Каждая ФЗЗ решается на основе единства методического, аппаратного и программного обеспечения. Состав ИПК можно условно представить следующей матрицей: S1,1 S1,2 S1,3 ... S1,K В этой матрице каждому столбцу соответствует определённая функциональная подсистема аппаратно-программного комплекса, решающая одну из перечисленных задач – всего К задач. Каждая строка матрицы, взятая с учетом связей между её элементами, объединяет один и тот же вид обеспечения разных функциональных подсистем, а значит, образует ту или иную подсистему обеспечения ИПК. Совершенство ИПК зависит от проработанности каждого элемента SI,J и гибкости связей между ними, что особенно касается совершенства технического обеспечения каждой подсистемы и её ПО. Многое обусловлено согласованностью пропускных способностей элементов SI,J, которые обеспечивают обработку информации и принятие решений в темпе испытаний, т. е. в режиме РВ. Функционально законченные задачи в терминологии объектно-ориентированного проектирования являются объектами. Объект — это конкретный опознаваемый предмет, имеющий чётко определённое функциональное назначение в данной предметной области. Объекты моделируют часть окружающей действительности и, таким образом, существуют в пространстве и во времени, имеют внутреннее состояние, могут создаваться, уничтожаться и разделяться. Объект обладает состоянием, поведением и идентичностью. Структура и поведение схожих объектов определяют общий для них класс. Типовые задачи (ТЗ) ОАТ — это ФЗЗ, имеющие физический смысл в проблемно-ориентированной области (в нашем случае в области ОАТ) и строгое решение, т. е. алгоритм решения. Эти задачи определяются набором исходных данных, методами (алгоритмами) решения и конкретными результатами решения (ответом). Сформулируем критерии формирования ТЗ ОАТ:
Рассмотрим подробнее понятия "сцепление" и "связность" ТЗ ОАТ. Каждая задача должна быть сформулирована таким образом, чтобы они были как можно более независимы (критерий сцепления – coupling) и чтобы каждая задача выполняла единственную функцию (критерий связности – cohesion). Сцепление – один из способов оценивания качества сформулированной задачи, является мерой их взаимозависимости и должно быть минимизировано по следующим причинам:
Слабое сцепление между ТЗ достигается путём удаления несущественных связей, уменьшения и упрощения числа необходимых связей. Можно выделить несколько видов сцепления между ТЗ:
Сцепление — это лишь один из критериев оценивания качества формулирования задачи. Другим важным критерием этой цели является критерий связности. Функционально связанный модуль содержит объекты, предназначенные для выполнения одной и только одной задачи, например измерения температуры. Функционально законченные задачи объединяются во множества объектов – классов общими структурой и поведением. Например, каналы измерения температуры, давления, ускорений и т. п. объединяются в класс измерительных каналов. Выделим основные уровни иерархии ТЗ АОТ. Это задачи:
Задача измерения (первый уровень иерархии задач) – нахождение физической величины опытным путём с помощью специальных технических средств. Задачи измерения можно условно разбить на четыре класса, включающие в себя следующие задачи:
Задача измерений определяется следующими компонентами:
Результатом решения задачи измерений является получение численного значения физической величины в заданном месте, от одного датчика и в известном времени с признаком достоверности. Примеры задач измерений – "Измерение температуры", "Измерение давления", "Измерение расхода жидкости" и т. п. Задача измерений, в свою очередь, может быть разбита на ряд подзадач преобразования: физической величины в аналоговый электрический сигнал (задача датчика); аналогового сигнала в дискретный сигнал, например с помощью АЦП (отсчет); отсчета в физическую величину (например, с помощью процедуры тарировки) и т. п. Задача измерения решается с помощью аппаратно-программных средств в составе датчика, измерительного канала и процессора обработки. Задачи обработки результатов измерений (второй уровень иерархии задач) – вычисление значений косвенных физических параметров, которые определяются набором исходных данных (измерений, констант и т. п.) и конкретной процедурой обработки. Примерами задач формирования физических параметров являются, например, "Среднее арифметическое от нескольких измерений", "Первое достоверное измерение температуры" (в случае нескольких датчиков) и т. п. Примерами задач вычисления косвенных физических параметров служат "Вычисление плотности окислителя" по нескольким значениям первичных параметров (давления и температуры) и констант; "Формирование признака", что первичный параметр превысил заданное значение, и т. п. При вычислении прямых и косвенных параметров формируются признаки их достоверности, например параметр достоверен, если достоверны все измерения, по которым он вычислен. Прямые и косвенные параметры вычисляются с помощью ТЗ обработки. Задачи регистрации и отображения (третий уровень иерархии задач) – регистрация в памяти системы отсчетов, заданных оператором измерений, прямых и косвенных параметров, а также команд управления. Например, задачи регистрации и документирования для испытаний ЖРД разбиты на две группы. Первая группа реализует задачи регистрации всех отсчетов ("для прокурора") в двоичном формате, причём этот файл с данными всегда можно подать на вход системы для имитации испытаний с измененными процедурами обработки и т. п., например для тренировки операторов. Вторая группа реализует задачи регистрации выделенных оператором измерений, прямых и косвенных параметров, а также выдаваемых команд. Задача регистрации входит в каждую задачу формирования измерений, прямых и косвенных. Аналогично регистрация величины и момента выдачи управляющего воздействия также входит в задачи управления. Задачи контроля и диагностики (четвертый уровень иерархии задач) – формирование информации о правильности функционирования системы, а также передачи и приема команд от других подсистем, например команд "Готовность", "Пуск" и т. п. Задачи контроля и диагностики решаются на основе задач более низкого уровня иерархии (задачи измерения, регистрации и т. п.). Задачи контроля и диагностики определяются набором исходных данных (результатами измерений, первичными и вторичными параметрами, константами и т. п.), конкретными процедурами контроля (например, нахождением контролируемого параметра в заданных пределах, логической обработкой признаков достоверности измерений и т. п.). При решении задач контроля и диагностики формируются логические параметры контроля для выдачи соответствующих сообщений оператору. Задачи управления технологическим объектом (пятый уровень иерархии задач) – выдача требуемого управляющего воздействия на заданный исполнительный орган в необходимый момент времени. Примерами задач управления служат "Выдать заданное управляющее воздействие на исполнительный орган в требуемый момент времени", "Вывести объект испытаний (двигатель) на заданный режим в соответствии с заданным алгоритмом", "Вывести двигатель на заданную тягу" и т. п. Решением конкретной задачи управления является соответствующая команда. Каждая задача управления определяется набором исходных данных (параметрами задачи управления, константами и т. п.) и алгоритмом решения задачи (например, алгоритмом вывода двигателя на режим по линейному закону). Для задач управления без обратной связи задачи измерения, обработки и регистрации, как правило, не используются, а в задачах управления с обратной связью, например при выводе ЖРД на заданный режим тяги, задачи измерения, обработки и регистрации расходов топлива используются обязательно. Анализ особенностей ТП лабораторно-стендовой отработки элементов и конструкций ЛА как объектов автоматизации, а также сформулированных ранее требований к режимам функционирования позволил сформировать следующую структуру автоматизированной системы измерений, контроля и управления нового поколения (рис. 1), включающую в себя верхний и нижний уровни. Рис. 1. Верхний уровень системы обеспечивает загрузку исходных данных и ПО в подсистемы нижнего уровня, его инициализацию, прием, анализ и обработку информации об измерительных параметрах, долговременное хранение и отображение информации, проведение испытания в целом, включая интерфейс пользователя, стратегические задачи управления испытанием, реализацию ЭС. База исходных данных гарантирует хранение и загрузку исходных данных, формирование алгоритмов функционирования системы управления и организации работы с подсистемами нижнего уровня. Она должна обеспечить полную разработку алгоритмов испытаний – начиная с адресации каналов ввода/вывода и кончая разработкой циклограмм управления режимами работы объекта и их регулирования. Исходные данные задают необходимую информацию для испытания объекта. Организационная структура исходных данных может быть представлена виде реляционной БД, в рамках которой осуществляются их хранение и организация экспорта таблиц в подсистемы нижнего уровня. Подсистема сбора, оперативного отображения информации и управления ходом ТП испытаний объекта предназначена для отображения состояния системы и выдачи управляющих воздействий от АРМ оператора, обеспечивает оперативное отображение информации на дисплеях штатных рабочих мест оператора и устройстве отображения коллективного пользования. Номенклатура и вид представления отображаемой информации на разных устройствах могут быть неодинаковыми. На рабочем месте оператора обеспечивается возможность получения информации о значении любого параметра или группы параметров из текущего кадра подсистемы измерения в числовом виде. Пакет для отображения информации – панели оператора с привязкой измерительных и управляющих данных, который может быть реализован в среде SCADA. В функции подсистемы моделирования процессов и организации вычислений входит решение задач моделирования процессов измерения и управления, а также их элементов. Она объединяет матричные вычисления, численный анализ, обработку сигналов, анализ данных и пр. Подсистема может быть достаточно просто реализована в широко распространенной и эффективно используемой программной среде Matlab. Подсистема ведения протокола работы системы предназначена для регистрации действий оператора системы и внедрена на верхнем уровне. В протоколе фиксируются моменты включения/выключения системы, а также переключения режимов работы системы с указанием результатов выполнения предыдущего режима работы. Подсистема позволяет визуально просматривать как весь протокол, так и с выборкой по полям с заданными критериями. Подсистема решения задач коммуникационного обмена обеспечивает следующие виды взаимодействия верхнего и нижнего уровней системы:
Подсистемы нижнего уровня выполняют сбор данных от датчиков, их обработку, оперативное управление техническими средствами (измерительной аппаратурой и исполнительными устройствами), запись данных и передачу их на подсистемы верхнего уровня. Нижний уровень должен быть построен таким образом, чтобы после загрузки ПО и запуска мог функционировать автономно и независимо от верхнего уровня. Более того, оператору для контроля процесса не надо включать ПЭВМ. Для этого можно воспользоваться клавиатурой и экраном дисплея, выполняющего при наличии соответствующего ПО в контроллере крейта VME роль интеллектуального инженерного пульта. Отделом автоматизации экспериментов МАИ на основе разработанного подхода к анализу и проектированию систем создан ряд ИПК для контроля испытании объектов новой техники и управления ими. Одним из примеров ИПК служит система управления режимами (СУР) ЖРД, которая предназначена для управления режимами ракетных двигателей при стендовых огневых испытаниях на базе научно-испытательного комплекса в качестве составной части стендовой АСУТП. Она выполняет следующие функции:
Система управления режимами ЖРД представляет собой ИПК с многоуровневой модульной структурой, характеризуется высокой гибкостью и способностью к расширению. Взаимодействие операторов с системой реализовано в виде двух различных процессов. Рассмотрим их.
Нижний уровень ИПК построен на базе крейта VME с контроллером VM662 под управлением ОС РВ OS-9, набором измерительных и управляющих модулей фирмы PEP (Германия). В настоящее время ИПК СУР ЖРД внедрен в штатную эксплуатацию в НПО "Энергомаш" (Московская обл.) для натурных испытаний ЖРД и обеспечил проведение испытаний нескольких десятков ЖРД. База исходных данных реализована на основе MS Access и является механизмом для работы с системой нижнего уровня. База данных позволяет провести разработку испытаний, начиная с адресации каналов ввода/вывода и заканчивая разработкой циклограмм на испытания. Базу данных в соответствии с задачами ИПК можно условно разделить на три части (рис. 2). Рис. 2. 1. Набор справочников Справочник двигателей содержит информацию об основных технических характеристиках двигателей и каналах ввода/вывода системы для каждого двигателя. Справочник подсистем включает в себя и перечень используемых циклограмм. В справочник процедур входят описание процедур, набор формальных параметров и их программный код. Процедура – некоторое действие (математическое, логическое), в результате которого вычисляется параметр в текущем кадре. Каждый параметр связан с одной из процедур. Справочник функций посвящен описанию функций, используемых циклограммой. Справочник компонентов топлива включает в себя описание различных видов топлива с их техническими характеристиками. 2. Поле "Входы/выходы системы" содержит информацию о характеристиках входов/выходов системы первичные параметры; вторичные параметры, рассчитываемые с помощью процедур; описание каналов вывода и кросс-параметров (предназначены для связи системы с оператором). 3. Поле "Подготовка испытаний" предусматривает несколько этапов заполнения БД, выполняемых перед каждым новым испытанием:
Рис. 3. Подсистема АРМ оператора СУР состоит из двух компьютеров, подключенных к локальной шине Ethernet, к которой подключен также контроллер подсистемы нижнего уровня, и обеспечивает:
Рис. 4. Рис. 5. Другим примером реализации разработанного метода проектирования служит система управления динамическим стендом для моделирования гидродинамических процессов в резервуарах с жидкостью. Основной частью стенда является тележка с гидродинамическим приводом, обеспечивающим её перемещение. На тележке установлены исследуемые модели баков ЛА, видеокамера, датчики и интеллектуальный измерительный контроллер. Интеллектуальный приборный комплекс стенда обеспечивает управление движением тележки с заданными характеристиками ускорения, а также измерение и регистрацию до 32 аналоговых и цифровых параметров от датчиков перемещения, уровня, расхода, сплошности, акселерометров и др. Подсистема нижнего уровня выполнена на базе промышленного программируемого контроллера SMART фирмы PEP с набором измерительных и управляющих модулей. Контроллер функционирует под управлением ОС РВ OS-9. Основные технические характеристики контроллера SMART
Подсистема верхнего уровня выполнена на базе ПЭВМ Pentium 200 с набором стандартных периферийных устройств и дополнительной платой оцифровки видеоизображений MiroVideo DC20, используемой для обработки информации, зафиксированной в процессе эксперимента на видеокамеру. Связь с подсистемой нижнего уровня осуществляется стандартным интерфейсом RS-232. Математическое обеспечение (МО) системы управления динамическим стендом можно разбить на две части:
В состав МО интеллектуального программируемого контроллера входят:
В состав МО ПЭВМ входят следующие подсистемы верхнего уровня:
Рассматриваемый ИПК построен без использования реляционной БД и стандартной SCADA. Функцию хранения исходных данных и результатов эксперимента выполняют специально организованные текстовые файлы, содержащие измерительную информацию, информацию о конфигурации ИПК в конкретном эксперименте и комментарии экспериментатора. Файлы измерительных данных построены таким образом, что они достаточно просто вводятся в программную среду Matlab для дальнейшей обработки. Пользовательский интерфейс выполнен в виде панелей, привычных для оператора и соответствующих текущим задачам проведения эксперимента (рис. 6), и написан в среде C++ Builder. Рис. 6. Выводы
|