Полная версия

Главная arrow Информатика arrow Имитационное моделирование

  • Увеличить шрифт
  • Уменьшить шрифт


<<   СОДЕРЖАНИЕ ПОСМОТРЕТЬ ОРИГИНАЛ   >>

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

Анализ соотношений (2.1)—(2.5) позволяет установить следующие основные блоки алгоритма [4]:

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

Для операторов алгоритма введем следующие обозначения:

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

Р — логический оператор (проверка справедливости заданных условий и выработка признаков, обозначающих результат проверки). Направление продолжения процесса вычислений зависит от результатов вычислений, а именно от значения признака, вырабатываемого данным логическим оператором;

Ф — оператор формирования реализаций случайных процессов;

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

К — оператор счета.

Для моделирования агрегата вводятся следующие операторы:

Ф-l — формирование очередного момента т,- поступления в агрегат управляющего сигнала;

Р2— проверка условия xf < Г, где Т — граница интервала (О, Т) изучения агрегата;

F3 — подстановка вместо т( величины Т;

А4 — запоминание величины т

Р5 — проверка условия i > 1;

Р6 — проверка условия tj < тг-, где t; — момент поступления входного сигнала, и определение tBX = тт(тг-, t;), причем далее под ?вх понимается ближайший момент поступления сигнала: ij или L;

Ф7 — формирование очередного момента tj поступления в агрегат входного сигнала;

Р8 — проверка условия tj< Т;

F9 — подстановка вместо tj величины Т;

А10 — запоминание величины ?;-;

Fn — формирование признака р = О — «ближайшим сигналом будет управляющий сигнал», ?вх=

F12— формирование признака ц = 1 — «ближайшим сигналом будет входной сигнал», ?вх = ?;-;

Ф13 — формирование оператора t/(toc) в зависимости от вида особого состояния: поступление входного сигнала, поступление управляющего сигнала, выдача выходного сигнала, начало моделирования (? = 0) для определения состояний z(t);

К14 — счетчик времени;

Ф15 — формирование непрерывного процесса функционирования агрегата z(t) под действием оператора [/(?ос);

Р16 — проверка принадлежности состояния z(t) подмножеству ZY(g, л) и определение ближайшего момента tBbIX выдачи выходного сигнала (реализация оператора W');

Р17 — проверка условия tBbIX < tBX, где под tBX понимается меньшее из т,- и t-;

Ф]8 — определение состояния агрегата в момент tBbIX (реализация оператора U(toc));

Ф19 — формирование выходного сигнала у (реализация оператора W");

Ф20 — формирование состояния z(tBbIX + 0) после выдачи выходного сигнала (реализация оператора V')’,

Р21 — проверка принадлежности состояния z(tBbIX + 0) подмножеству ZY(g, л) (реализация оператора W');

Р22 — проверка условия (tBX < Т);

Ф23 — определение состояния агрегата z(tBX) в момент tBX (реализация оператора lf(toc));

Р24 — проверка условия ц > 0;

Ф25 — формирование входного сигнала х;

Ф26 — определение состояния z(t; + 0) агрегата после входного сигнала (реализация оператора V);

Р27 — проверка принадлежности состояния z(tj+ 0) подмножеству ZY(g, п) (реализация оператора W');

Ф28 — формирование управляющего сигнала g;

Ф29— определение состояния z(xt- + 0) агрегата после управляющего сигнала (реализация оператора V");

Р30 — проверка принадлежности состояния г(т,- + 0) подмножеству ZY(g, л) (реализация оператора W');

Ф31 — определение состояния агрегата z(T) в момент Т окончания моделирования (реализация оператора U(toc);

А32 — фиксация результатов, полученных при моделировании данной реализации процесса;

К33 — счетчик количества реализаций (выполняет операцию N + 1);

Р34 — проверка условия N < N*, где N* — необходимое количество реализаций;

F35 — переход к моделированию очередной реализации;

А36 — обработка результатов моделирования;

Я37 — выдача результатов.

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

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

Работа моделирующего алгоритма заключается в следующем.

Группы операторов Ф3 — А4 и Ф7 — А10 по структуре одинаковы и служат для задания очередных моментов времени поступления входных и управляющих сигналов, имеющих случайный характер. Операторы F3 и F9 выводят эти моменты из рассмотрения, если они наступают позже заданного конца интервала моделирования.

Группа операторов Ф13 — Ф15 моделирует процесс функционирования агрегата в интервале времени между последовательными моментами поступления внешнего сигнала. Поскольку в течение этого интервала внешних сигналов нет, состояния агрегата определяются оператором H(toc) (оператор Ф15). Единственным видом особых состояний агрегата (т. е. состояний, в которые агрегат переходит скачком) в этом случае являются состояния выдачи выходных сигналов, или, другими словами, состояния, принадлежащие подмножествам ZY(g, л).

Задача оператора Р16 состоит в том, чтобы путем совместного моделирования состояний z(t) и условий, определяющих подмножества ZY(g, л), определить моменты tBblx выдачи выходных сигналов агрегата (оператор W) и найти наименьший из них. Поскольку состояние z(t) изменяется непрерывно, необходимо иметь средства для управления ходом времени. Для этого в составе операторов алгоритма предусмотрен счетчик времени К14, который, вообще говоря, представляет собой механизм, внешний по отношению к имитационному алгоритму. Он реализуется специальными программными средствами.

Если момент ?вых выдачи выходного сигнала оказывается внутри интервала между внешними сигналами (оператор Р17), то выходной сигнал у должен быть фактически выдан. Поэтому необходимо найти z(tBbIX) (оператор Ф18) и сформировать сам сигналу (оператор Ф19). Далее необходимо определить состояние z(tBbIX + 0) (оператор Ф20) и проверить (оператор Р21), не принадлежит ли z(tBbIX + 0) одному из подмножеств ZY(g, л).

Если это условие выполнено, то управление передается опять оператору Ф19 для формирования второго выходного сигнала, выдаваемого в момент tBbIX, и т. д.

Если же состояние z(tBbIX + 0) не принадлежит ZY(g, л), то управление передается оператору F13 для формирования новых моментов tBbIx.

Группа операторов Ф25 — Р27 моделирует прием входного сигнала, группа операторов Ф28 — Р30 — прием управляющего сигнала. Заметим, что z(tBX + 0), где tBX — момент поступления входного или управляющего сигнала, сразу может принадлежать одному из подмножеств ZY(g, л). Это условие проверяется операторами Р27 и Р30. Если обнаружено, что переходы в соответствующие особые состояния приводят к выдаче выходного сигнала, следуют обращения к оператору формирования Ф19.

Остальные операторы имеют вспомогательный характер.

Видно, что моделирующий алгоритм, имитирующий работу одиночного агрегата, имеет сложную структуру. Если принять во внимание иерархический характер системы моделей агрегатов, возможность их одновременного функционирования и, следовательно, необходимость параллельного моделирования с учетом обратных связей, то трудности разработки имитационного алгоритма многократно возрастут. Путь к упрощению этой задачи — разбиение интервала длительности Т на интервалы меньшей длительности At. Когда число активных агрегатов на каждом таком интервале мало, размерность и сложность задачи анализа существенно уменьшаются. Существуют два принципа выбора длительности шага At и, соответственно, два типа моделирующих алгоритмов: с фиксированным (детерминированным) шагом и с переменным (случайным) шагом.

 
<<   СОДЕРЖАНИЕ ПОСМОТРЕТЬ ОРИГИНАЛ   >>