168 ТРУДЫ БГТУ. 2012. № 6. Физико-математические науки и информатика. С. 168-171
УДК 004.021
С. И. Акунович, кандидат технических наук, доцент (БГТУ);
Т. П. Брусенцова, ассистент (БГТУ)
ИТЕРАЦИОННОЕ МОДЕЛИРОВАНИЕ БЛОКОВ ЛОГИЧЕСКОГО УПРАВЛЕНИЯ
НАВИГАЦИОННЫХ СПУТНИКОВ
В статье предлагается интегрированная совокупность средств итерационного моделирования блоков логического управления навигационных спутников на алгоритмическом и логическом уровнях их проектирования. Блок логического управления является сложной системой, поведение которой на уровне технического задания (ТЗ) описывается в виде блок-схем алгоритмов (примерно 500) и логических функций (около 5000). При этом общее количество переменных превышает 20 000. Для создания программной модели блока управления предложен метод композиционного конструирования в среде DELPHI, а для имитации поведения блока управления -метод итерационного моделирования.
This article offers an integrated set of iterative modeling of logic control blocks of navigation satellites in the algorithmic and logical levels of their design. Logic control unit is a complex system whose behavior at the level of technical specifications (TS) is described as a flow chart (500) and logic functions (5000), while the total number of variables exceeds 20,000. To create a software model of the control unit of the composite design method is proposed in an environment DELPHI, and to simulate the behavior of the control unit - the method of iterative simulations.
Введение. Современные системы управления (СУ) автоматизированным оборудованием и процессами строятся на общих принципах структурно-функциональной организации. Системы управления химико-технологическими процессами, системы управления автоматическими линиями в машиностроении, системы управления полиграфическим оборудованием или системы управления спутниками навигационных систем могут с достаточной степенью адекватности описываться компьютерными моделями, построенными на базе общих принципов объектно-ориентированного моделирования.
Одной из ключевых задач в решении сформулированной проблемы является моделирование и проверка процессов функционирования СУ на стадии проектирования, до начала аппаратной реализации системы.
Принципиально важным с точки зрения разработки компьютерной модели считается интеграция в составе бортовой аппаратуры космического аппарата (КА) вычислительных, электронных и релейно-коммутационных компонентов. Традиционно процесс создания сложных технических объектов состоит из нескольких этапов, важнейшим из которых является проектирование. Если в описании проекта допущены ошибки, дальнейшая его реализация может оказаться бессмысленной.
В настоящей статье предложены средства моделирования и анализа проектов для выявления и устранения основных проектных ошибок, благодаря чему резко сокращаются сроки и стоимость изготовления, наладки и монтажа оборудования.
Основная часть. Логика функционирования навигационного спутника. В процессе
функционирования спутник последовательно находится в следующих режимах работы: выведение на орбиту, ожидание после выведения на орбиту, начальная ориентация, дежурное функционирование, ввод штатного функционирования, штатное функционирование.
После выведения спутников на заданную орбиту по команде, выдаваемой разгонным блоком непосредственно после остановки двигателей, включаются электропитание некоммутируемых шин питания и дежурные схемы спутников. Через 15 с после этого система управления разгонным блоком выдает команду на отделение спутников. Данный процесс контролируется с помощью телеметрической системы разгонного блока.
Перевод спутника в режим начальной ориентации происходит в зоне радиовидимости наземных средств в следующей последовательности:
1) раскрытие солнечных батарей и штанги магнитометра; успокоение спутника;
2) начальная ориентация спутника на Солнце.
В режиме успокоения осуществляется торможение вращательного движения спутника с помощью двигательной установки с одновременным разворотом панелей солнечных батарей для выставки крыльев активной поверхностью в одну сторону и установкой их в плоскости, совпадающей с продольной осью спутника.
В режиме начальной солнечной ориентации осуществляется разворот спутника вокруг продольной оси и разворот вокруг поперечной оси до совмещения нормали к солнечной батареи с направлением на Солнце.
Режим начальной ориентации на Землю проводится в зоне радиовидимости. При этом
обеспечивается торможение вращения спутника и его разворот вокруг направления, ориентированного на Солнце до попадания Земли в поле зрения прибора ориентации на Землю. После этого включается режим одновременного слежения за Солнцем и Землей и спутник переводится в режим дежурного функционирования.
Вывод из целевого использования спутника осуществляется при возникновении аварийных ситуаций, приводящих к кратковременному нарушению целевого функционирования спутника, а также после возникновения необратимых отказов, исключающих возможность целевого применения спутника.
Аварийная ситуация на борту спутника регистрируется телеметрической аппаратурой и запоминается с последующей передачей по командной радиолинии сигнала «вызов НКУ» при вхождении спутника в зону радиовидимости наземных средств.
При возникновении аварийных ситуаций на спутнике необратимого типа принимается решение о прекращении его обслуживания.
Языки описания логики функционирования блоков управления. В техническом задании (ТЗ) на проектирование блоков управления алгоритмы центрального приборного модуля (ЦПМ) записываются на языке блок-схем. Схемы и алгоритмы, разработанные с помощью этого языка, просты и понятны, благодаря чему разработку многих компьютерных программ для космических объектов на практике ведут не программисты, а обычные предметные специалисты по принципу «программирование без программистов».
При применении блок-схем алгоритмов в большинстве случаев переход от алгоритмизации к программированию для сложных задач логического управления представляет большую проблему. Это объясняется тем, что обычно процесс алгоритмизации почти никогда не завершается тем, чем положено -созданием алгоритма в математическом смысле, который, по определению, должен однозначно выполняться любым вычислительным средством, а оканчивается лишь некоторой «картинкой», называемой алгоритмом. В этой ситуации либо разработчик должен сам программировать, либо программист должен знать все особенности технологического процесса, либо они вместе должны устранять неминуемые ошибки традиционного проектирования программ при испытаниях.
В настоящей работе блок-схемы ТЗ предлагается записывать на языке FC стандарта IEC 61131-3 и использовать метод их преобразования в программу DELPHI. Кроме этого,
разработан способ записи программы DELPHI непосредственно по «картинке» алгоритма ТЗ.
Логические функции ИМС. Аналитической формой представления булевых функций являются булевы формулы и системы булевых формул, которые позволяют описывать как комбинационные схемы, так и автоматы с памятью большой размерности. Основным ограничением на применение систем булевых формул для автоматов с памятью считается их низкая наглядность. Кроме этого, в логических формулах блоков управления могут использоваться импульсные сигналы, передние и задние фронты, таймеры, счетчики, компараторы, что требует разработки дополнительных способов и средств для построения адекватной модели на языке DELPHI.
Комплексное итерационное моделирование в среде DELPHI. Композиционное конструирование модели блока управления. В работе [1] предложена технология композиционного конструирования моделей систем дискретного управления в среде DELPHI. В настоящей статье эта технология существенно доработана с целью повышения эффективности и адекватности процессу разработки технического задания на проектирование блоков управления навигационных спутников.
Основными преимуществами предложенного композиционного конструирования модели являются:
- отсутствуют процедуры по преобразованию композиционной модели в среду программирования (создается непосредственно на языке среды программирования);
- композиционная модель представляет собой композицию из предметных конструкций и конструкций среды программирования;
- предметные конструкции представляются на языке предметной области в виде текстовых файлов и образуют внешнюю пользовательскую часть композиционной модели;
- вставка предметных конструкций в конструкции среды программирования выполняется с помощью директив INCLUDE среды DELPHI для подключения внешних текстовых файлов в код программы;
- обеспечивается параллельная разработка частей модели разными специалистами;
- допускается задействование специалистов невысокой квалификации (не требуются знания среды программирования);
- для совместной разработки разных взаимосвязанных частей модели используется многооконный интерфейс.
Фрагменты основных конструкций среды программирования резидентной (внутренней) части модели представлены на рис. 1.
170
С. И. Акунович, Т. П. Брусенцова
% Итерационное_моделирование - Delphi ХЕ - Управление_моделированием
ЕВ®
File Edit Search View Refactor Project Run Component Tools AQtime Window Help
11 © i « ¡a - a | m a a t; ♦ » h i * i ♦ -
§) VnpaBJieHMe_MOAenMpoBaHMeM |_
' I Default Layout # I Seconds
}® ©ffl^ Id
J Classes Ö ^ TOptionForm(TForm)
ŒJ Ш Published I Dil Variables/Constants llii Uses
||g?Hj3j Итерационное_моделирование^.,,
<J_
procedure TOptionForm.Моделирование_С1ick(Sender: TObject); War Процесс,Шаг:Integer;
OptionFогш.Анализ_.Enabled := False; AssignF ile (ФС, 'Выходные результаты\ Фс 1 ) ; ReWcite(ФС) ;
WriteLn(ФСГ1 Функциональная схема1);
Контролируемый процесс := StrToInt(InputBox(1 Контролируемый : Коианды_выполнены := False; Процесс := 1;
while not Команды выполнены do Процесс_ := Процесс;
Внешняя Входная последоательность(Процесс); Алгоритмы_ЦПН; Входы_поданы := False; Шаг := 1;
while not. Входы_поданы do Begin
Шаг_:= Шаг;
Входная_последоательность(Шар); Есть_переклгачения:= false; Repeat
Ранг := Ранг + 1; Пе р е ключе ния_ИИС; Проверить зацикливание; until not Есть_перек Шаг := Шаг + 1; End;
Процесс := Процесс + 1; End;
end;
168; 77 Insert
Code Design History
e e
% EtB fe I -
File
ProjectGroupl Q- Итерационное_моделирование.ене
©■■ _r Build Configurations © ModelSupport_MTepaL(HOHhoe_MOAefl.,, Ш Cl Profiling
Q- ЦЦ Управление_моделированием. pas
pjj Управление_моделированием^Рт Средства_моделирования,ра5 ¡§3 HMC.pas ■ ■■ Объявление_переменных. pas ^Bn.pas ЦПМ-pas ВВП.pas
0:\КИМ^Управление_моделированием.ра5 ~1 Е'дИтераци. ■. | Model View | »"^Data Ex. ■ ■ |
ш
+ Delphi Projects
l+l Delphi Projects | Delphi Files ffl Other Files ffi Unit Test © Design Projects
Рис. 1. Код программы управления моделированием
Фрагменты основных предметных конструкций модели пользовательской (внешней) части модели показаны на рис. 2.
г В Алгоритмы_ЦПМ.ра5 - Блокнот |_ ИИ
I Файл Правка Формат Вид Справка
procedure 0BRKKU;
{$1 Входные_данные\Блоки_ОВРКК11}
Begin
3anMCb_®C(1,'0BRKKU');
OBRKKU S1;
End; v]
Рис. 2. Предметная конструкция (алгоритмы ЦПМ)
Эта предметная конструкция содержит директивы вставки других предметных конструкций (блоков алгоритма).
Моделирование алгоритмов ЦПМ. Процесс моделирования блока управления начинается подачей команды БИВК (рис. 3).
Моделирование алгоритмов начинается обработкой условий их запуска (рис. 4).
В 3 апус к_ал го р итмов_ЦПМ. рas - Блокнот
Формат Вид Справка
IfZOH Then ONBU;
If Хрк07 and (ВКФБУ) and (not3PAC0) Then STRASO; lfXpn3D Then STPASO;
Рис. 3. Предметная конструкция (команды БИВК)
Рис. 4. Запуск алгоритмов ЦПМ
При запуске алгоритма выполняется процедура начала алгоритма (рис. 6). Эта процедура осуществляет запись своего имени в функциональную схему (ФС) и вызывает первый блок алгоритма. Вызов других блоков запущенного алгоритма происходит в процедурах - блоках алгоритма.
Моделирование функций ИМС. В настоящей работе реализован метод асинхронного моделирования (простых итераций). Суть метода заключается в следующем. Обозначим через х1, х2, ..., хп значения сигналов из множества Е = {0, 1} на входах схемы; е1, е2, ..., ек -состояния элементов схемы. Для простейших элементов с единственным выходным полюсом можно отождествлять состояние со значением сигнала на полюсе. Каждый из элементов реализует некоторую функцию из множества /1, /2, ..., /к. Здесь функция понимается в широком смысле - это может быть логическое уравнение, система логических уравнений, описание автомата и т. п.
Вводя понятие дискретного времени, любую схему при асинхронном моделировании описывают системой уравнений
e1(t + 1)=/1^1(0, ..., xn(t), e1(t), ..., ек(0);
e2(t + 1) = f2(x1(t), ..., хп(0, e1(t), ..., ек(0);
еЩ + 1) = /£(х1(0, ..., хп(0, e1(t), ..., еЩ).
Зная состояния элементов схемы и значения сигналов на ее входных полюсах в некоторый дискретный момент времени t, по вышеприведенным уравнениям можно вычислить состояния всех элементов в момент времени ( + 1). При этом в правую часть уравнений подставляются значения входных сигналов и состояния элементов схемы, которые они имели в момент времени t.
Если сигналы на входах схемы сохраняют неизменные значения, т. е. х/(0 = х}(1 +1) = = х}(1 + 2) = ... для всех / = 1, п, то, повторяя расчет по уравнениям для дискретных моментов времени ( + 1), ^ + 2), ... до тех пор, пока для всех / = 1, п не будет е^ + р) = е^ + р + 1), получим установившиеся значения выходных сигналов, состояний элементов схемы в момент времени ( + р) при заданных значениях сигналов на входных полюсах и состояний элементов схемы в момент времени t, а в процессе расчета получим состояния элементов в моменты времени ^ + 1), ^ + 2), ^ + р).
Рассмотренный итерационный процесс и есть моделирование схемы методом простой итерации, или асинхронное моделирование.
При этом методе порядок записи уравнений, описывающих элементы схемы, безразличен, а при определении состояний элементов на некоторой итерации в правые части вышеприведенных уравнений подставляются состояния элементов, полученные на предыдущей итерации.
Контроль адекватности поведения блока управления. При поступлении команд от БИВК или подачи входов на ИМС от датчиков спутника блок управления должен выдавать выходы, соответствующие штатному режиму функционирования (требуемые выходы). Контроль адекватности поведения блока управления заключается в сравнении требуемых выходов (они задаются проектировщиком) с выходами, полученными в процессе моделирования. При этом выявляются и фиксируются следующие ситуации: лишнее переключение; нет включения; нет выключения; зацикливание.
В процессе выполнения моделирования ключевые события (в основном результаты контроля адекватности) сопровождаются речевыми оповещениями.
Графическое представление таймеров блока управления. Особо важное значение в функционировании блока управления имеют таймеры. С ними связаны события: запуск таймера; срабатывание таймера; перезапуск таймера; останов и обнуление таймера.
Ниже (рис. 5) представлен фрагмент ФС, на котором показано, что по радиокоманде ХРК5Б запущен алгоритм 8ТТБК, блоком 8ТТБК_84 которого запущен таймер ТТЕНЬ.
Рис. 5. Запуск таймера ТТЕНЬ
Заключение. Описанные средства итерационного моделирования реализованы в универсальной среде комплексного моделирования и анализа для отработки сложных проектов логического управления машинами, оборудованием и процессами в различных предметных областях.
Литература
1. Акунович, С. И. Композиционное конструирование моделей систем дискретного управления в среде DELPHI / С. И. Акунович. -Минск: БГТУ, 2009. - 75 с.
Поступила 25.02.2012