Имитационное моделирование.
Тема: «Формирование мгновенных схем в процессе моделирования
движения поездов»


К формированию последовательности множества мгновенных схем в процессе движения поездов можно приступить после выполнения предыдущих этапов – моделирования движения поезда и вероятностного моделирования графика движения грузовых поездов.
Алгоритм воспроизведения движения поездов в имитационной модели приведён в виде блок-схемы на рисунке. Этот алгоритм ограничен блоком задания начального значения модельного времени и логическим блоком проверки окончания периода моделирования.
На этом этапе временно исключаем из рассмотрения только блок решения мгновенных схем. Он будет рассмотрен позднее в виде отдельной темы.
Алгоритм, контролирующий вход очередного поезда на участок.
Контроль входа очередного поезда на участок выполняется сравнением значений счётчика межпоездного интервала, получающего приращение ∆t на каждом шаге квантования процесса, и текущим межпоездным интервалом.
В случае достижения условия, при котором счётчик межпоездного интервала становится больше или равным текущему значению межпоездного интервала, выполняются следующие алгоритмические действия, обеспечивающие корректное продолжение цикла имитационного моделирования:
Количество поездов, одновременно находящихся на участке, увеличивается на единицу; Время хода нового поезда по участку вычисляется как сумма меду начальным значением модельного времени (если оно отлично от нуля) разность показаний между счётчиком межпоездного интервала и текущего значения межпоездного интервала; При помощи графика движения поездов определяется новое значение текущего межпоездного интервала.На рисунке приведён пример реализации описанного алгоритма в виде подпрограммы-процедуры Delphi.

Цель формирования мгновенной схемы – получение массивов координат и токов поездов, находящихся в данных момент на рассматриваемом участке.
Исходными данными для этого алгоритма являются результаты тяговых расчётов и времена хода поездов по участку с момента выхода их на участок.
Этот алгоритм выполняется на каждом шаге имитационного моделирования и включает следующие шаги:
Организация цикла по числу поездов, находящихся в данный момент на участке; Организация цикла по числу точек тягового расчёта для определения временного сечения, соответствующего данному поезду; Определение координаты и тока поезда.На рисунке приведён пример реализации описанного алгоритма в виде подпрограммы-процедуры Delphi.

Контроль выхода головного поезда за пределы участка выполняется сравнением значения времени хода поезда по участку, получающего приращение ∆t на каждом шаге квантования процесса, и времени хода по участку, известного из результатов тягового расчёта.
В случае достижения условия, при котором время хода головного поезда превышает время хода поезда по участку, выполняются следующие алгоритмические действия, обеспечивающие корректное продолжение цикла имитационного моделирования:
Количество поездов, одновременно находящихся на участке, уменьшается на единицу; Производится перенумерация поездов в массиве времён хода поездов по участку: первому поезду присваивается номер два, второму – номер три и так далее.На рисунке приведён пример реализации описанного алгоритма в виде подпрограммы-процедуры Delphi.

Описанные выше алгоритмы позволяют построить основной каркас алгоритма процесса воспроизведения движения поездов с алгоритмом формирования множества мгновенных схем.
На рисунке приведён пример реализации описанного алгоритма в виде подпрограммы-процедуры Delphi.

Пояснения.
Описание типов и инициализация переменных, используемых в подпрограммах.

Инициализация переменных процесса.

Примечание.
Приведённый цикл имитационного моделирования будет пополняться к дополнительным действиям, выполняемым в цикле имитации:
Обращение к подпрограмме решения мгновенной схемы; Обращение к подпрограмме визуализации процесса движения поездов и потребляемых ими токов.

