Математическое моделирование управления движения поезда

–PAGE_BREAK–В данном курсовом проекте мы рассмотрим не все требования, а только их малую часть.

2. Постановка задачи
Спроектировать на основе микропроцессора контроллер для модели железной дороги. Рассмотреть путь, состоящий из замкнутого кольца и тупиков со стрелками на разветвлениях, причем считайте, что на путях находиться один поезд с мотором постоянного тока. Контроллер должен управлять маршрутами поезда в соответствии с поступающими с клавиатуры командами. Должны быть предусмотрены, например, такие команды:
1.                      Проследовать кратчайшим маршрутом из данной точки в указанный пункт назначения и остановиться.
2.                      Уйти в тупик.
3.                      Выдать длину маршрута.
Начальное положение поездов можно считать фиксированным и известным микропроцессору. В дальнейшем он должен следить за положением поезда.
Исходные данные:
1.количество остановок на пути
2.расстояние между остановками
3.начальная координата поезда
4.конечная координата поезда
5.тупик (расстояние до тупика)
6.место положения стрелки

3. Первый этап моделирования. Формирование модели
На первом этапе моделирования формулируется модель, строится ее формальная схема и собственно решается вопрос об ее эффективности и целесообразности моделирования системы на вычислительной машине.
Рассмотрим путь, состоящий из замкнутого кольца и тупиков со стрелками на разветвлениях, причем считаем что на путях находится один поезд с мотором постоянного тока. Спроектируем на основе микропроцессора контроллер для модели железной дороги.
Для того, чтобы определить положение поездов и управлять их движением, все пути разбиваются на участки. Присутствие состава на участке можно определить по потребляемому этим участком току. Для этого достаточно в цепь питания рельса включить резистор. Если есть потребление на участке, то на резисторе возникает падение напряжения, которое с помощью специального усилителя будет превращено в логический сигнал. В нашей модели присутствие поезда на данном участке будет определяться по метке.
В интерфейс между микропроцессором и железной дорогой будут входить порт вывода для подачи напряжения на каждый участок и бит порта ввода для управления стрелкой.
Начальное положение поездов можно считать фиксированным и известным микропроцессору. В дальнейшем он должен следить за их положением, управляя их перемещениями, в соответствии с поступающими с клавиатуры командами. Программа микропроцессора должна уметь находить кратчайшие маршруты.
Графически наше замкнутое кольцо с тупиками можно представить в виде взвешенного графа.
   SHAPE  \* MERGEFORMAT
Эффективность и целесообразность моделирования системы представленной графом, дает возможность рассмотреть полностью структуру системы движения поезда по пути, не запуская его экспериментально на самом деле, и связи между элементами системы. Обход данного графа, возможно, провести несколькими способами расчета: аналитическим, имитационным. Аналитическое моделирование-процесс функционирования элементов системы записываются в виде некоторых функциональных соотношений или логических условий. Имитационное моделирование реализует модель, алгоритм воспроизводит процесс функционирования системы во времени, имитируются элементарные явления, составляющие процесс, с сохранением их логической структуры и последовательности протекания во времени, что позволяет по исходным данным получит сведения о состояниях процесса в определенные моменты времени, дающие возможность оценить характеристики системы. Имитационный метод включает все элементы реальной системы.
Методологическую основу построения маршрутов составляет расширенная граф-модель, реализующая событийное управление, позволяющая проводить адаптацию алгоритмов построения маршрутов, основанную на формальных манипуляциях с объектами без изменения исходной граф-модели. Для графа зависимости по управлению  на каждом конкретном шаге процесса управления для узла, из которого исходят несколько дуг, возникновение коллизии на одной из них определяет выбор стратегии (алгоритма) управления. Активизация некоторого события зависит от состояния транспортной инфраструктуры, определяемого ее текущими характеристиками.
Введем множество предикатов  для реализации событийного управления на графе управлений  и поставим их в соответствие дугам графа . Алгоритм, реализующий переход →на графе , инициируется, если объект на текущем шаге находится в состоянии , и предикат , помечающий данный переход, принимает «разрешающее» значение. При этом на дугах, исходящих из одной вершины, возможна ситуация появления значения истинности одновременно нескольких предикатов.
Вершины данного графа 1, 2, 3, 4, 5, 6 есть остановки; ребра-ветви железной дороги; e, r,t,y,x,w,1u,2u..- длина пути ветвей; ответвления от замкнутого кольца – тупики, вместе ответвления расположена стрелка. В данном курсовом проекте рассмотрена упрощенная схема пути, но на ее основе можно будет рассмотреть модернизацию в сторону усложнения пути и добавления поездов.
Процесс функционирования системы может быть реализован с помощью различных алгоритмов.
Построение математической модели. Под математической моделью будем понимать процесс установления соответствия данному реальному объекту некоторого математического объекта и исследование этой модели, позволяющее получать характеристики рассматриваемого реального объекта. Модель объекта содержит:
·               совокупность входных воздействий — задача начальной и конечной точки отправления;
·               совокупность воздействий внешней среды;
·               совокупность внутренних параметров — длины путей(скорость, свободна или занята ветвь по которой собирается двигаться поезд);
·               совокупность выходных характеристик – длина всего пройденного пути (время его прохождения, и вывод кратчайшего пути).
1)                Задаем длины отдельных ветвей графа, они могут быть представлены вектором:
P[ e, r,t,y,x,w], все элементы больше нуля.
2)                Задаем начальную координату или вершину отправления, она должна быть истинной для заданного графа: номер вершины – nach, где 1
3)                Задаем конечную координату или вершину прибытия: номер вершины – kon, где 1
4)                Задаем длину до тупика: u, где u=1u=2u=…=6u, u>0.
5)                Выбери направление обхода: по часовой стрелки или против часовой.
6)                Ищем длину пути: алгоритм – по очередное суммирование всех длин пройденных ветвей, т.е.элементов вектора Р
S=[nach]+[nach+1]+…+[nach+n], где nach+n=kon.
7)                Задаем уйдет ли поезд в тупик. Если уходит то к общему полученному пути прибавляем длину ветви тупика. Skon=S+u, где u элемент из вектора U[1u,2u,3u,4u,5u,6u]
8)                Задаем среднюю скорость прохождения маршрута поездом: V=v.
9)                Вычисляем время, затраченное на весь маршрут: T= Skon/v

4. Второй этап моделирования. Реализация машинной модели
На втором этапе математическая модель воплощается в машинную модель, т.е. решается проблема алгоритмизации модели, ее рационального разбиения на блоки и организации интерфейса между ними. Реализация алгоритма представлена на языке турбо паскаль.
4.1 Блок схема
Основная схема
 SHAPE  \* MERGEFORMAT

 SHAPE  \* MERGEFORMAT

 SHAPE  \* MERGEFORMAT

 SHAPE  \* MERGEFORMAT
4.2 Листингпрограммы
program u;
uses crt;
label m1,m2,m3;
const n=5;
type
uk=^zap;
zap=record
s:integer;
zn:boolean;
Lln:uk;
Rln:uk;
end;
var
zn:char;
perv,tek,divd,perv1:uk;
met:boolean;
i,nash,kon,znash,dl:integer;
Блок описаний: Задание названия программы, задание существующих меток, констант (n=5) – задание точного числа остановок на пути, задание типов переменных: целочисленных данных, логических переменных, логические метки, символьные переменные.
procedure poisk1;
begin
tek:=perv1;
znash:=0;
while tek^.zn=false do
begin
znash:=tek^.s+znash;
tek:=tek^.rln;
end;
writeln(‘ ‘);
znash:=znash+dl;
end;
Процедура поиска и задания начальной координаты, и нахождения суммарного пути по часовой стрелке.
    продолжение
–PAGE_BREAK–