Смекни!
smekni.com

А. В. Воронин (стр. 23 из 29)

Графический пользовательский интерфейс позволяет вводить информацию об исследуемой системе путем "рисования" на экране монитора проектируемой схемы в виде, понятном широкому кругу специалистов. Формой графического представления информации о моделируемой системе могут быть [16]:

- операторно-структурные схемы, принятые в ТАУ;

- функциональные и принципиальные схемы различных физических устройств;

- кинематические схемы механизмов;

- сигнальные графы;

- графы связей;

- блок–схемы алгоритмов и другие графические модели.

Однако простым "рисованием" роль графического интерфейса не ограничивается. Задачами графического интерфейса, кроме того, могут быть [16]:

- контроль за соблюдением некоторых правил в процессе создания графического изображения на экране монитора (обычно накладываются ограничения на способы соединения компонентов и т.п.);

- преобразование информации о схеме в команды для моделирующей программы (моделятора);

- контроль за процессом моделирования, визуализация результатов моделирования.

4.4.2. Язык описания объекта, транслятор, СУБД, монитор

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

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

Первоначально для этих целей использовались обычные языки программирования или их макрорасширения (SLAM, Simula). Необходимость введения специальных языков моделирования была обусловлена желанием упростить процедуру общения специалиста в определенной предметной области с ЭВМ. Поэтому многие языки являются предметно-ориентированными, включают в себя семантику определенной области применения. Кроме того, многие современные системы автоматизированного моделирования содержат как бы несколько уровней языка, рассчитанные на разных пользователей и разные задачи. Примером является среда MATLAB, имеющая в своем составе пакеты Simulink, SimMechanics, SimPower и другие, с которыми можно работать на уровне графических описаний. Однако использование наряду с этим текстового языка программирования среды MATLAB позволяет существенно расширить круг используемых возможностей. Часто, текстовые языки моделирования создаются как расширения какого-нибудь языка программирования (С, Fortran, Java). Например, в пакете AnyLogic в качестве языка моделирования принят язык Java.

Расширение аппаратных возможностей ЭВМ привело к появлению графических языков, наиболее удобных для исследователя – не программиста. В настоящее время использование графических языков стало стандартом в автоматизированном моделировании. В современных графических средах пользователь не имеет дела с системами уравнений. Основным способом моделирования объектов макроуровня, в частности мехатронных систем, является компонентное моделирование [21,29], которое может рассматриваться как частный случай объектно-ориентированного моделирования.

Идея метода состоит в том, чтобы заранее сформировать типовые компоненты заданного класса объектов, которые затем группируются в библиотеки и хранятся в базе данных системы моделирования. Для технических систем декомпозиция на компоненты обычно не составляет проблемы.

Метод компонентного моделирования хорошо сочетается с графическим способом задания информации, однако он был разработан еще тогда, когда возможности ЭВМ не позволяли реализовать полностью графический интерфейс, т.е. задавать модель путем изображения ее на экране ЭВМ в виде графического объекта [1,6].

Важной привлекательной стороной компонентного моделирования является то, что понятие структурного примитива не абсолютно, каждый иерархический уровень моделирования имеет свои примитивы. В процессе проектирования объект детализируется до заданного иерархического уровня и для его представления используется соответствующая библиотека структурных примитивов.

При этом структура может описываться различными типами иерархических схем, включающих как структурные (направленные) так и «физические» (ненаправленные) компоненты. Набор типовых компонентов может рассматриваться как специальный предметно-ориентированный язык моделирования в данной области.

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

Транслятор ЯОО преобразует исходное описание проекта в формат, пригодный для моделирования. В случае, если язык описания объекта графический, транслятор с этого языка является частью графического интерфейса.

Система управления базами данных (СУБД) отвечает за хранение библиотек моделей компонентов графических представлений, а также составленных пользователем моделей. Базы разделяются на справочные и рабочие.

СУБД обеспечивает поиск и подключение моделей компонентов, запрашиваемых пользователем через графический интерфейс; обновление, замену и удаление моделей; расширение библиотек за счет ввода новых моделей.

Управляющая оболочка САМ (монитор) обеспечивает интерфейс между функционирующим математическим ядром и пользователем, осуществляет вызовы нужных программ и делает работу с системой удобной для пользователя.

4.4.3. Инструментальные средства моделирования

(математическое ядро)

Основная вычислительная нагрузка осуществляется блоками, входящими в инструментальные средства (математическое ядро) САМ. Спектр задач, которые решают программы математического ядра, может быть весьма широк, от анализа только линейных моделей (Classic), до символьных вычислений и интервальной арифметики. Для пакетов, способных полноценно исследовать мехатронные системы, основной частью являются коллекции программ, содержащих реализации численных методов.

Как правило, современные универсальные системы моделирования содержат как средства решения статических (аналитических) задач, так и мощные средства расчета и анализа динамических процессов. Так большая часть задач анализа линейных систем (расчет переходных характеристик, получение и преобразование типовых математических моделей, построение частотных характеристик, анализ размещения полюсов и нулей на комплексной плоскости и т.п.), не говоря уже о задачах синтеза, решается программами, входящими в блок аналитических программ. Данная часть математического ядра в значительной мере привязана к специфике объекта проектирования, его физическим и информационным особенностям функционирования, а также к конкретным иерархическим уровням проектирования. Эти программы особенно актуальны при решении задач ТАУ.

Другую часть математического ядра составляют программы, предназначенные для анализа переходных процессов в сложных нелинейных системах, где применение аналитических методов невозможно. Эта часть является более инвариантной к особенностям объекта моделирования, включает в себя методы и алгоритмы, слабо связанные с особенностями математических моделей и используемые на многих иерархических уровнях. Наиболее важными являются разнообразные программы численного интегрирования.

Численное интегрирование (то, что в иностранной литературе понимается как «Simulation») выполняется специальной программой, называемой управляющей программой моделирования или коротко моделятором. На моделятор обычно возлагаются следующие функции [16]:

- установка начальных условий и значений сигналов на входах моделируемой схемы;

- управление модельным временем по принципу

или
, а при моделировании гибридных схем использование одновременно обоих принципов;

- интерфейс с пользователем по ходу модельного эксперимента, а также выдача запросов и диагностических сообщений;

Для вывода, наблюдения и обработки результатов моделирования используется другая программа, называемая постпроцессором моделирования.

Уже отмечалось, что многие методы были хорошо отработаны задолго до появления ЭВМ и программно реализованы на самых ранних стадиях использования ЭВМ. В настоящее время для исследователя, занимающегося моделированием технической системы, значительно более актуально уметь обоснованно выбирать те или иные программные средства расчета, нежели самостоятельно разрабатывать программное обеспечение. Характеристики математического обеспечения оказывают существенное, а иногда и определяющее влияние на возможности и показатели САМ. Важнейшими их них обычно считаются следующие [31,29].

Универсальность, под которой понимается применимость математического обеспечения к широкому классу проектируемых объектов. Высокая степень универсальности нужна для того, чтобы имеющуюся САМ можно было применить для исследования любых или большинства проектируемых объектов. Степень универсальности характеризуется заранее оговоренными ограничениями.

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