Пр.1.2.2 Среда исследователя.(Разработчика директив)

Основные компоненты системы Структурно система ГАММА-2РС состоит из че­тырех взаимосвязанных компонентов:

Библиотека модулей.

Графический редактор

3.         Windows-Диалог

4.         Windows-Инструмент

Библиотека модулей предназначена для хранения информации о подключенных к системе модулях. Обеспечиват возможность добавления новых модулей, модифика­ции и удаления существующих, автономного исполнения модулей. Графический ре­дактор предназначен для составления структурных схем из модулей, содержащихся в библиотеке путем перетаскивания их на рабочее поле и соединения соответствующих входов и выходов. Программа Windows-Диалог предназначена для ввода, сохране­ния и загрузки исходных данных директивы, и для трансляции введенных данных из естественного вида во внутренний формат системы. Программа Windows-Инструмент обеспечивает выполнение директивы в соответствии со структурной схемой и автома­тически создает протокол работы директивы. Форматы хранения данных в системе

Базовые типы данных. В системе используются 5 предопределенных базовых типов данных: - логический (log); - число (val); - вектор (vec); - матрица (matr); -полиномиальная матрица (polmatr);

Для каждого базового типа данных определен свой формат хранения при передаче данных между модулями:

логический - соответствует формату используемому для записи логической пере­менной в языке Фортран: Т - истина, F - ложь;

число (числа) записывается в виде последовательности целых или вещественных чисел разделенных символом переноса строки или пробелом. Пример записи чисел: 1 1.2 З.е+5;

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

3 1.2 4 5.34;

матрица - в первой строке размерности (2 целых числа, разделенных пробелом), коэффициенты по столбцам, начиная со второй строки. Пример записи матрицы: 2 2 1.2 4.5 7.3 5.0ІЄ+2. Эта запись соотвествует матрице:

полиномиальная матрица - в первой строке размерности (3 целых числа, разде­ленных пробелом), начиная со второй строки коэффициенты по столбцам (последним меняется индекс степени). Пример записи полиномиальной матрицы:

Эта запись соответсвует полиномиальной матрице: 4.4s+l.l 8s 1.0e+4s+5 9s+5 Составные типы данных

Составной тип данных представляет собой набор переменных базового типа, объ­единенных общим именем. В системе определены следующие составные типы:

ldeqp - Дифференциальные уравнения объекта управления в форме Лагранжа. Транслируется в 3 переменные типа polmatr.

ldeqc - Дифференциальные уравнения регулятора в форме Лагранжа. Транслиру­ется в 3 переменные типа polmatr.

lmvp - Уравнения измеряемых переменных объекта управления в форме Лагранжа. Транслируется в 2 переменные типа matr.

lmv - Уравнения измеряемых переменных объекта управления в форме Лагранжа. Транслируется в 1 переменную типа matr.

lev - Уравнения регулируемых переменных объекта управления в форме Лагранжа. Транслируется в 1 переменную типа matr.

lu - Уравнения управлений регулятора в форме Лагранжа. Транслируется в 3 пе­ременные типа matr.

cdeqp - Дифференциальные уравнения объекта управления в форме Копій. Транс­лируется в 3 переменные типа matr.

edeqe - Дифференциальные уравнения регулятора в форме Коши. Транслируется в 3 переменные типа matr.

cmvr - Уравнения измеряемых переменных объекта управления в форме Коши. Транслируется в 3 переменные типа matr.

cevr - Уравнения регулируемых переменных объекта управления в форме Коши. Транслируется в 3 переменные типа matr.

cmv - Уравнения изм. переменных объекта управления в форме Коши. Трансли­руется в 1 переменную типа matr.

ccv - Уравнения регулируемых переменных объекта управления в форме Коши. Транслируется в 1 переменную типа matr.

cu - Уравнения управлений регулятора в форме Коши. Транслируется в 3 перемен­ные типа matr.

vv - Дифференциальные уравнения объекта в форме вход-выход. Транслируется в 3 переменные типа polmatr.

Передача данных между модулями системы

Передача данных между модулями системы осуществляется через файлы. Каждая

переменная базового или производного типа во время работы системы связывается с файлом, имя которого генерируется системой. Переменная составного типа данных связывается с несколькими файлами. Имена файлов с исходными данными переда­ются модулю в файле input.tmp следующего формата: в первой строке указывается количество файлов с данными, далее идут имена файлов.

Пример файла input.tmp:

Имена файлов для размещения результатов работы модуля передаются в файле out­put.tmp. Формат файла такой же, как и input.tmp. Если модуль имеет возможность автономной работы, то в файле result.tmp ему передается имя файла для вывода про­токола работы (в виде, удобном пользователю). Если модуль использует ключи, они передаются в файле key.tmp.

В процессе работы модуль должен создать файл с именем 2.gma и записать в него следующий код: 0 - успешное завершение работы 1 - выход по ошибке.

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

Файлы настройки системы

Основной файл настроек называется newgamma.ini и находится в каталоге с систе­мой. В нем могут быть заданы следующие параметры: GAMMA = путь к каталогу системы ГАММА1-РС

DATA = путь к каталогу с данными библиотеки модулей ГАММА-2РС DLIST = путь к каталогу с файлами-списками директив DIR = путь к каталогу со схемами директив

PAGEWIDTH = ширина файла протокола в символах (по умолчанию - 78) TIMEOUT = время ожидания исполнения модуля в минутах DEBUG = режим отладки: 1 - включить, 0 - выключить.

Дополнительный файл настроек называется gamma.ini и находится в каталоге си­стемы ГАММА1-РС. Он предназначен для создания файла gamma.cfg, небходимого для работы модулей из системы ГАММА1-РС. Могут быть заданы следующие пара­метры:

EXEMOD = путь к каталогу с исполняемыми файлами модулей; SAVEDATA = путь к каталогу для сохранения и загрузки данных; TMPDATA = путь к каталогу для размещения временных файлов

Добавление новых модулей в библиотеку

Библиотека модулей системы ГАММА-2РС разбита на группы в соответствии с классификацией решаемых задач. Существует возможность добавления и изменения группы. Для этого в меню "Группы" необходимо выбрать соответствующую команду.

Удалить непустую группу нельзя. Включение модулей в библиотеку ГАММА-2РС осуществляется в пределах конкретной группы выбором в меню "Модули" команды "Добавить". При выполнении этой команды на экране появляется окно описания мо­дуля.

Рис. 2.1. Окно описания модуля

Включение модуля подразумевает заполнение окон:

Имя модуля - имя модуля, которым идентифицируется модуль в окне группы. Длинное имя разделяют сдвойным слшем (//), в этом случае оно переносится на сле­дующую строку.

Номер - номер модуля в классификационном списке

Название - название модуля в классификационном списке

Ключи - ключи, если они необходимы для работы программы

Программа - имя exe-файла (без расширения), запуск которого осуществляет вы­полнение программы. Саму исполняемую программу следует поместить в каталог, за­данный в файле gamma.ini параметром EXEMOD. Обычно это каталог GAMMA/MODULES/.

Справка - имя файла справки (в формате doc или rtf) с расширением. Если файл находится не в главном каталоге программы, то указывается путь, например DOC/m010.doc. Вызов справки осуществляется выбором в меню "Модули" команды " Справка".

Тип модуля - устанавливается мышью на соответствующее окно

Входы - в этом окне пишут число входов модуля, например 3, затем нажимают кнопку "Описание" - высвечивается окно описания входов.

Рис. 2.2. Окно описания входов

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

Выходы - окно описания выходов заполняется аналогично окну входов. - Воз­можность автономной работы - устанавливается нажатием кнопки мыши. Показывает, возможен ли автономный (не в составе директивы) запуск модуля. Чтобы запустить модуль автономно, нужно в меню "Модули" выбрать команду "Выполнить".

Модули могут переноситься в другие группы. Для этого нужно нажать мышью на стрелку "вниз" у окна "Группа" и выбрать в списке групп ту, в которую должен быть перенесен модуль. Включенный модуль будет иметь свое графическое изображени.

Рис. 2.3. Пример графического изображения модуля

Создание новых директив Создание директивы начинается с создания входного

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

2.1) ставится в положение "входной" и описываются только выходы модуля. Дирек­тива может иметь только один входной модуль. Ввод директивы заключается в наборе структурной схемы в окне ГАММА-2РС. Структурная схема набирается из включен­ных ранее модулей путем соединения их выходов и входов. Набор структурной схемы осуществляется следующим образом. Модуль мышью переносится из группы, в состав которой он входит, в графический редактор системы. Далее его необходимо соединить с вынесенными ранее модулями. Нажатием кнопки мыши отмечают соединяемые вход и выход двух модулей. На экране связь отображается в виде прямой линии черного цвета. Одновременно на экране отображаются только те линии, которые связаны с выбранным в данный момент модулем, остальные линии скрываются. Выход модуля может иметь несколько связей, а вход - только одну. Допускается не задействовать вы­ходы модулей, входы должны быть заданны все. Если вход еще не задан, он отмечен красным цветом. Входы типа "text" не должны быть соединены с другими выходами, данные для них задаются напрямую при создании директивы с помошью двойного щелчка мышью на модуле и заполнения появившегося окна. Последовательность вы­полнение модулей задается соединением специальных входов и выходов, обозначенных ромбиками. Такие соединительные линии имеют зеленый цвет и постоянно находятся на экране. Возможно многократное разветвление структуры директивы с помощью мо­дуля "Условие". Входом такого модуля является переменная логического типа (log). Если ее значение является истиной (true), то выполнение директивы продолжается по ветви от выхода, обозначенного "1", если ложь (false) - то по ветви, обозначенной "О". Рис. 2.4. Модуль разветвления структуры директивы

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

поставить галочку у пункта "Добавлять входы и выходы в файл протокола";

поставить галочки слева от тех входов/выходов, которые нужно добавлять в про­токол;

задать необходимые пояснения в текстовых полях справа от обозначения вхо­дов/выходов. В пояснениях можно использовать следующие символы: "//" (двойной слэш) - перенос на следующую строку; " " - разделительная линия.

Также для ведения протокола можно использовать специальные модули "Прото­кол" с различным числом входов.

Для вывода на экран графиков используется модули "график" с различным числом входов. Текстовые пояснения к графикам задаются аналогично протоколу.

Для остановки выполнения директивы используется модуль "останов". В качестве тектового пояснения к его единственному входу задается сообщение, которое при вы­полнении этого модуля выводится на экран.

Таким образом набирается вся структурная схема, (примеры схем см. далее на рис. 2.6, 2.8). Далее структурную схему можно сохранить, выбрав в меню "Дирек­

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

Расширение меню пользователя Меню пользователя (открывающееся при нажа­тии кнопки "Пользователь" при запуске системы) организовано в виде .lst-файлов, хранящихся в каталоге, заданном параметром DLIST в файле newgamma.ini. Каждый .lst-файл представляет собой список пунктов меню, каждому из которых может быть противопоставленно некоторое действие. Формат файла таков: ПУНКТ МЕНЮ [ = ИМЯ ФАЙЛА]

Если ИМЯ ФАЙЛА имеет расширение .1st, то при выборе этого пункта открывается новое меню, описанное в указанном файле. Ели ИМЯ ФАЙЛА имеет расширение .slim, то при выборе этого пункта открывается соответствующая директива и вызывается окно ввода исходных данных. Если ИМЯ ФАЙЛА не указано, то перед пунктом меню автоматически ставится символ "[-]", и нажатие на него не дает никакого эффекта. Первым всегда открывается файл start.1st. Русские буквы в lst-файлах должны быть в кодировке Windows

Пример lst-файла:

Построение непрерывной модели (111.3) = d401.slim

Построение непрерывной модели с её подтверждением (112.1)

Директива 401 с парными испытаниями (118.1) = d404.slim

Оценка верхней границы собственных частот объекта (119.1)

Построение дискретной модели (121.2)

Идентификация с параллельной фильтрацией (131.1)

Идентификация с последовательной фильтрацией (131.2)

Построение дискретной модели (211.3) = d409.slim ДОПОЛНИТЕЛБНЫЕ ДИРЕКТИВЫ = identd.lst ВСПОМОГАТЕЛБНЫЕ ДИРЕКТИВЫ = identv.lst


Авторы: 239 А Б В Г Д Е З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я

Книги: 268 А Б В Г Д Е З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я