Методы построения моделирующих программ

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

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

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

Рис. 2.2. Схема для структурного моделирования экстремальной системы

в пакете Simulink

Физическим мультидоменным моделированием(иногда просто мультидоменным моделированием называется техника моделирования, основанная на использовании библиотеки моделей элементов физических устройств, из которых можно составлять физические принципиальные схемы. Поскольку в энергетических цепях поток энергии может менять направление, то для элементов физических схем входы и выходы не определены. Частным случаем данной техники моделирования является использование графов связей.

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

Рис. 2.3. Схема моделирования электрической цепи

в пакете SimPowerSystems

В зависимости от уровня иерархии это могут быть библиотеки различных энергетических доменов (электрических, механических, гидравлических и т. д.) или более сложных функциональных узлов, например, механических звеньев и кинематических пар в механических моделях, усилителей, трансформаторов, преобразователей, двигателей – в электрических и электромеханических моделях.

Структурное моделирование

Структурное моделирование может предусматривать два варианта

управления процессом моделирования:

● поток команд (Control Flow);

● поток данных (Data Flow).

Принцип потока команд– это обычный принцип записи программ в текстовых языках программирования, где инструкции выполняются в той последовательности, в которой они написаны. Если в процессе выполнения очередной инструкции программа обнаруживает, что какие-то данные не определены, это рассматривается как ошибка и влечет остановку программы. Упорядочивание инструкций ложится на программиста. При этом следует понимать, что сам процессор только так и может работать – выполняя команды одну за другой.

Жесткие формы языков программирования, на основе которых формируется моделирующая программа при использовании принципа Control Flow, плохо сочетаются с возрастающим уровнем абстракции графических языков. При любой форме задания графической информации ее необходимо преобразовать в выполняемые инструкции, т. е. последовательность команд для процессора, т. к. код графического языка не может выполняться «строка за строкой». Кроме того, большинство типовых программ, реализующих численные методы, рассчитаны на стандартные формы записи уравнений, которые не всегда возможно соблюдать при графическом задании информации. Это ведет к необходимости автоматически преобразовывать введенные пользователем или построенные графическим интерфейсом уравнения к формам, с которыми могут работать, например, библиотеки программных реализаций численных методов.

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

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

Как правило, эта среда графическая.

На поточной модели управления процессом моделирования основана значительная часть программ математического структурного моделирования динамических систем. Поточная модель управления – основополагающее понятие для таких программ, как VisSim, MBTУ, Simulink, Easy5, LabVIEW.

Рассмотрим пример статического информационного потока, приведенный на рис. 2.4.

Рис. 2.4. Статический информационный поток в пакете Simulink

Блок-схема описывает набор действий, два варианта которого представлены в табл. 2.1.

Таблица 2.1

Неупорядоченный информационный поток Упорядоченный программой информационный поток
a) w = ln(r) b) e =1 c) r = e + q d) q = 0,1sin(e) 1) e =1 2) q = 0,1sin(e) 3) r = e + q 4) w = ln(r)

Неупорядоченный информационный поток не может быть выполнен ЭВМ. Упорядоченный – легко выполняется. Обычно упорядочивание информационного потока выполняется одновременно с расчетом модели. Интерпретирующий транслятор последовательно выполняет узлы программы, для которых имеются все необходимые исходные данные. Если реализуется процедура численного интегрирования, то такой расчет повторяется на каждом шаге.

Наши рекомендации