В стандарте определено, что основой интерфейса является «панель» – информация, сгруппированная и расположенная на экране определенным способом.
Определены панели: меню, ввода, информационная, списковая, идентификации, приложения. Каждая панель состоит из трех частей, каждая из которых содержит свою информацию. Это меню действий с выпадающими меню, тело панели и область функциональных клавиш.
Меню действий представляет доступ к основным функциям приложения и отображается вверху экрана. При выборе действия на экране появляется расширенное меню действий – выпадающее меню.
Тело панели располагается под меню действий и может быть разделено на несколько областей. Область функциональных клавиш располагается внизу панели. Она содержит список назначений функциональных клавиш. Панели, расположенные в отдельных ограниченных частях экрана, называются окнами.
Краткое описание типов панели.
Панель меню.
Содержит один и более список объектов, из которых пользователь выбирает один или несколько. Для этой цели есть поля выбора.
Панель ввода.
Она отображает поля, в которые пользователь вводит информацию и из которых выбирает объекты. Имеется три типа панелей ввода:
• панель ввода параметров отображает поля для ввода значений параметров и указания режимов действий. Содержит поля ввода и выбора.
• Панель ввода с заголовками представляет форму документов на бумаге и на каждой строке, и на каждой строке может содержать несколько панелей;
• Панель ввода с табуляцией содержит поля с заголовками, организованные по столбцам и строкам.
Информационная панель.
Отображает защищенную информацию: данные, сообщения, справки.
Списковая панель.
Отображает список объектов, из которых пользователь выбирает один или несколько и запрашивает одно или несколько действий над ними. Для каждого объекта одновременно запрашивается только одно действие, но для различных объектов – различные действия.
Панель идентификации приложения.
Отображает информацию, идентифицирующую приложение и авторские права разработчиков. Панели имеют различные рабочие области. К ним относятся:
• разделители областей;
• идентификатор панели;
• заголовок панели;
• инструкция;
• заголовок столбца и группы;
• заголовок поля;
• указатель протяжки;
• область сообщений;
• область команд.
Панель обладает рядом свойств, которые позволяют открывать и закрывать их различными способами (клавиатура или мышь), перемещать их на экране или изменять их размер.
Стандарт фирмы ШМ также предлагает для цветового решения приложения несколько палитр, разработанных с учетом требований эргономики и санитарии.
Из изложенного видно, что круг задач, который должен решить программист при разработке диалоговых программ, весьма обширен. Поэтому для эффективной работы необходимо пользоваться современными инструментальными средствами. В качестве такого может быть выбран язык программирования BORLANDPASCAL в комплекте с библиотекой TURBOVISION.
Эта библиотека использует объектно-ориентированный подход в программировании и содержит большое количество объектов, позволяющих эффективно строить диалоговые программы с использованием оконного интерфейса.
Разрабатываемая программа-оболочка должна обеспечивать следующее:
• отображения в окне текстовых файлов, содержащих справочную информацию;
• отображение в окне графических файлов в формате PCX, содержащих иллюстрации;
• запуск на выполнение исследовательских программ и отображение результатов в окне.
Основное окно программы-оболочки содержит главное меню, тело и область функциональных клавиш.
Главное меню имеет следующий вид:
Справки | Демонстрация | Исследование | Выход |
Выбор пункта меню «справки» приводит к появлению выпадающего меню второго уровня, которое имеет вид:
Методы исследования |
Нелинейные элементы |
Инструкция программисту |
Инструкция пользователю |
Выбор пункта меню «демонстрация» вызывает запуск демонстрационной задачи, содержащей текст описания и графическое представление результатов.
Выбор пункта меню «Исследование» вызывает запуск программ, реализующих методы исследования САУ, и имеет вид:
Метод 1 |
Метод 2 |
Метод 3 |
Метод 4 |
Метод N |
Где «Метод» – конкретное название метода анализа САУ. Выбор пункта меню «Выход» приводит к завершению работы.
4. Разработка программного обеспечения АИС
Библиотека TURBOVISION основана на объектно-ориентированном подходе к программированию, который базируется на трех основных понятиях: инкапсуляция, наследование, полинорфаза.
Инкапсуляция – объединение данных с процедурами и функциями, которые манипулируют этими данными. Примером может служить перемещаемый по экрану отрезок, определяемый координатами своих концов (данные), и процедурой, обеспечивающей это перемещение (метод).
Наследование – возможность использования уже определенных объектов для построения иерархии объектов, начиная с некоторого простого первоначального (предка) и кончая более сложными, но включающими свойства предшествующих элементов (потомки). В качестве такой иерархии можно рассмотреть точку на экране дисплея, задаваемую своими координатами (предок), отрезок, задаваемый координатами двух точек – его концов (потомок точки), перемещаемый отрезок, задаваемый координатами своих концов и процедурой, обеспечивающей его перемещение (потомок неперемещаемого отрезка).
Полиморфизм – возможность определения единого по имени действия, принимаемого одновременно по всем объектам иерархии наследования, т.е. для различных родственных объектов можно задать единый класс действий.
Под объектом понимается такая структура, компонентами которой являются взаимосвязанные данные различных типов и использующие эти данные процедуры и функции. Компоненты – данные называются полями объекта, а компоненты – процедуры и функции называются методами. Дальнейшее описание диалоговой программы будет базироваться на этих понятиях.
Разработка системы меню с использованием TURBOVISION, базируется на применении объектов TMenuBar и TmenuBox, которые отличаются от абстрактного типа TmenuView.
Объекты TMenuBar представляют полосы горизонтального меню, пункт которого может быть выбран через:
• прямую отметку;
• клавишу F10;
• выбор (подсветку) и нажатие ENTER;
• горячие клавиши.
Объект TMenuBar обычно принадлежит TApplication. Перекрывая TapplicationTnitMenuBar соответствующим набором вложенных видов New, NewSubMenu, Newltem и NewLine, можно сформировать объект меню.
Объекты MenuBox представляют вертикальные прямоугольники меню. Они могут содержать произвольный характер выполняемых действий.
Функция NewSubMenu распределяет и возвращает указатель на новую запись TMenuItem, которая представляет собой подменю. Функция Newltem распределяет и возвращает указатель на новую запись THenaltem, которая представляет собой меню. Реализация системы меню диалоговой программы осуществлена в процедуре TMyAPP.InitMenuBar.
Функция, которая будет выполнена диалоговой программой; определяется выбором пункта меню. В TURBOVISION для обработки событий меню предназначен метод HandleEvent (процедура) объекта TmenuView. Он определяет, какой элемент меню был выбран «мышью» или клавиатурой, и генерирует соответствующее командное событие. Реализация обработки событий осуществлена в процедуре Тту Арр. HandleEvent.
Кроме описанных процедур в состав диалоговой программы входят также:
TmyApp. TnitStatusLine – привязка функциональных клавиш к пунктам меню.
• TmyApp. PrintFile – вывод текста в окно без возможности прокрутки;
• TmyApp. PrintFileScr – вывод текста в окно с возможностью прокрутки
• TmyApp. ShowFile – вывод графического файла в формате PCV в окно;
• TmyApp. RunMetod I, TmyApp. RimMetod2,..., TmyApp. RunMetod N – запуск программы исследования САУ.
На следующих страницах приведены рисунки, иллюстрирующие вышеизложенное.
5. Результаты испытания АИС
Во второй главе специальной части дипломного проекта для подтверждения работоспособности АИС были получены результаты аналитического исследования электромеханического привода для нескольких конкретных примеров, характеризующиеся различными видами нелинейности (зоны нечувствительности и насыщения, релейная, петли гистерезиса) и различиями в структуре привода. После завершения разработки АИС были проведены вычислительные эксперименты по расчету рассмотренных ранее моделей приводов.
Результаты показали адекватность разработанной АИС. Результаты испытаний АИС приведены на рисунках.
Заключение
В дипломной работе рассматривались вопросы, связанные с разработкой учебно-методического комплекса для исследования нелинейных систем.
Разработана диалоговая программа, позволяющая объединить в рамках одной системы различные методы исследования САУ.
Для доказательства работоспособности автоматизированной системы были проведены аналитические исследования некоторых контрольных примеров, а затем они же были рассчитаны с помощью АИС. Сравнительный анализ полученных результатов подтверждает адекватность системы.
Приложение
ProgramDiplom; uses
Forms,
Mainin 'Main.pas' {MainForm},
Unitl in'Unitl.pas' {Forml},
Unit2 in 'Unit2.pas' {AboutBox}; ($R *.RES begin
Application. CrateForm (TmainForm, MainForm);
Application. CrateForm (TForml, Forml);
Application. CrateForm (TAboutBox, AboutBox);
Forml.Show;
Application.Run; end.
unit Main;
interface
uses
SysUtils, Windows, Messages, Classes, Graphics, Controls, Fornis, Dialogs,
StdCtris, Buttons, ExtQik, Menus, Grids, Unitl; type
TMainForm=dass (TForm); StringGridl:TStringGrid;
procedure FormCreate (Sender TObject);
procedure SttingGridlClick (Sender TObject); ant
TMass=aiay[l J6,136]ofByte; var
MainForm TMainForm; MassTMass В1:Всх*щ
implementation fSR *DFM)