Главная » Просмотр файлов » Пояснительная записка

Пояснительная записка (1210991), страница 7

Файл №1210991 Пояснительная записка (Разработка учебно-лабораторного комплекса подготовки ДСП и ДНЦ. Обработка данных имитационной модели) 7 страницаПояснительная записка (1210991) страница 72020-10-04СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 7)

Procedure ShapeCreate;

Begin

Sh[i]:=TShape.Create (Self);

Sh[i].Left:=F[i].X*13-4;

Sh[i].Top:=F[i].Y*13-600;

Sh[i].Visible:=true;

Sh[i].Width:=8;

Sh[i].Height:=8;

Sh[i].Tag:=i;

Sh[i].OnMouseDown:=Fm.Shape1.OnMouseDown;

D_Krug.Panel1.InsertControl(Sh[i]);

end;

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

Рисунок 2.18 – Алгоритм извлечения и заполнения данных элементов пути из БД

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

DS5.SelectSQL.Text:=’Select * from St_Point’;

DS5.Open;

После подключения к БД проверяется условие окончания записей в таблице. Ниже приведен фрагмент листинга программы:

While Not DS5.EOF do begin

Если записи таблицы не закончились, то происходит чтение индекса номера стрелки. Далее идет заполнение данными для каждого элемента в массиве. Ниже приведен фрагмент листинга программы:

st:=DS5.FBN('NOM').AsInteger;

Point[st].IndexF:=DS5.FBN('IndexF').AsInteger;

Point[st].DirPl:=DirSet(byte(DS5.FBN('DirPl').AsInteger));

Point[st].DirMn:=DirSet(byte(DS5.FBN('DirMn').AsInteger));

Point[st].MaskPl:=DS5.FBN('MaskPl').AsInteger;

Point[st].MaskMn:=DS5.FBN('MaskMn').AsInteger;

Point[st].IndSm:=DS5.FBN('IndSm').AsInteger;

Point[st].PlaceO:=Direct(byte(DS5.FBN('PlaceO').AsInteger));

После заполнения всех данных по стрелкам цикл заканчивается. На рисунке 2.19 представлен алгоритм извлечения и заполнения данных стрелок в виде блок-схемы.

Рисунок 2.19 – Алгоритм извлечения и заполнения данных стрелок из БД

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

DS2.SelectSQL.Text:=’Select * from St_Signal’;

DS2.Open;

После подключения к БД проверяется условие окончания записей в таблице. Ниже приведен фрагмент листинга программы:

While Not DS2.EOF do begin

Если записи таблицы не закончились, то происходит чтение номера станции и индекса номера светофора. Далее идет заполнение данными для каждого элемента в массиве. Ниже приведен фрагмент листинга программы:

Nom_Sv:=DS2.FBN('Nom').AsInteger mod 1000;

Sv[N_St,Nom_Sv].Field:=DS2.FBN('N_Field').AsInteger;

Sv[N_St,Nom_Sv].Typ:=SignTypeSet(byte(DS2.FBN('Typ').

AsInteger));

Sv[N_St,Nom_Sv].IP:=DS2.FBN('IP').AsInteger;

Sv[N_St,Nom_Sv].H:=DS2.FBN('H').AsInteger;

После заполнения всех данных по стрелкам цикл заканчивается. На рисунок 2.20 представлен алгоритм извлечения и заполнения данных светофоров в виде блок-схемы.

Рисунок 2.20 – Алгоритм извлечения и заполнения данных стрелок из БД

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

DS4.SelectSQL.Text:=’Select * from St_Section’;

DS4.Open;

После подключения к БД проверяется условие окончания записей в таблице. Ниже приведен фрагмент листинга программы:

While Not DS4.EOF do begin

Если записи таблицы не закончились, то происходит чтение номера станции и индекса номера секции. Далее идет заполнение данными для каждого элемента в массиве. Ниже приведен фрагмент листинга программы:

e:=DS4.FBN('Nom').AsInteger mod 1000;

N_St:=DS4.FBN('N_Station').AsInteger;

Sec[N_St,e].Nom:=e;

Sec[N_St,e].IndF:=DS4.FBN('IndF').AsInteger;

Sec[N_St,e].Typ:=SecType(byte(DS4.FBN('Typ').AsInteger));

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

I:=DS4.FBN('N_Field').AsInteger;

I:=F[i].First+1000*N_St;

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

While (I mod 1000) > 0 do

Begin

F[I].NSec:=Sec[N_St,e].Nom;

I:=F[I].Next+1000*N_St;

end;

После заполнения всех данных по секциям цикл заканчивается. На рисунок 2.21 представлен алгоритм извлечения и заполнения данных светофоров в виде блок-схемы.

Рисунок 2.21 – Алгоритм извлечения и заполнения данных стрелок из БД

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

Sec[I].SecFree:={ };

F[I].First:=I;

После этого проверяется условие что индекс следующего поля не равен 0:

F[I].Next <> 0;

Если поле свободно, то индексу элемента пути присваивается номер следующего поля секции и происходит возвращение к предыдущему условию:

F[I].Next:=I;

Если, обнаружив что, хотя бы один заняты элемент пути является занятым, то указывается занятость всей секции:

Sec[I].Use:=1;

После проверки свободности секции цикл заканчивается. На рисунке 2.22 представлен алгоритм проверки свободности элементов пути в секции в виде блок-схемы.

Рисунок 2.22 – Алгоритм извлечения и заполнения данных стрелок из БД

  1. Описание форм программы

  2. Основная форма

Во время запуска программы появляется главное окно. После нажатие кнопки «Начать работу» происходит считывание информации из базы данных, согласно алгоритмам и визуальное отображение схематического плана станции и всего участка диспетчерского управления, согласно рисунку 2.23.

Рисунок 2.23 – Основная форма программы

Под цифрой 1 отмечена панель, на которой формируется схематический план. Схематический план представляет собой совокупность упорядоченных шильдиков (путевой участок, стрелки, светофоры). Под цифрой 2 обозначен текстовый редактор, с помощью которого отображается информация выбранного поля или объекта (номер поля, номер станции, координаты, тип и номер объекта). Фрагмент листинга программы вывода информации:

D_Krug.Memo1.Lines.Add(IntToStr(N_St)+'-'+IntToStr(D)+'-'+IntToStr(Sec[N_St,e].Nom));

D_Krug.Memo2.Lines.Add('Номер станции: '+ IntToStr(N_St));

D_Krug.Memo2.Lines.Add('Номер поля: '+ IntToStr(K));

D_Krug.Memo2.Lines.Add('Координата X поля: '+IntToStr(F[K].X));

D_Krug.Memo2.Lines.Add('Координата Y поля: '+IntToStr(F[K].Y));

D_Krug.Memo2.Lines.Add('Тип объкта: '+ IntToStr(byte(F[K].ObjT)));

D_Krug.Memo2.Lines.Add('Номер секции: '+ IntToStr(F[K].Nsec));

If Sec[N_St,e].Typ=SP then D_Krug.Memo2.Lines.Add('Тип секции: стрелочный участок');

If Sec[N_St,e].Typ=PU then D_Krug.Memo2.Lines.Add('Тип секции: бесстрелочный участок');

If Sec[N_St,e].Typ=BU then D_Krug.Memo2.Lines.Add('Тип секции: блок-участок');

If Sec[N_St,e].Typ=PP then D_Krug.Memo2.Lines.Add('Тип секции: приемо-отправочный путь');

If Sec[N_St,e].Typ=IP then D_Krug.Memo2.Lines.Add('Тип секции: подъездной путь');

If Sec[N_St,e].Typ=NC then D_Krug.Memo2.Lines.Add('Тип секции: нецентрализованный участок');

If F[K].ObjT=strel then

D_Krug.Memo2.Lines.Add('Номер стрелки: '+ IntToStr(F[K].NObj));

If F[K].ObjT=svet then

begin

D_Krug.Memo2.Lines.Add('Номер светофора: '+ IntToStr(F[K].NObj));

D_Krug.Memo2.Lines.Add('Тип светофора: '+ IntToStr(byte(Sv[N_St,m].Typ)));

If Chet In Sv[N_St,m].Typ then D_Krug.Memo2.Lines.Add('Четный');

If NChet In Sv[N_St,m].Typ then D_Krug.Memo2.Lines.Add('Нечетный');

If Poesd In Sv[N_St,m].Typ then D_Krug.Memo2.Lines.Add('Поездной');

If Man In Sv[N_St,m].Typ then D_Krug.Memo2.Lines.Add('Маневровый');

If Dop In Sv[N_St,m].Typ then D_Krug.Memo2.Lines.Add('Дополнительный');

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

  1. Форма редактирования данных

Для того чтобы открыть форму редактирования, необходимо нажать на кнопку «Редактирование данных». Далее появляется окно, согласно рисунку 2.24.

Рисунок 2.24 – Форма редактирования данных путевого участка

На форме располагается компонент для работы с вкладками PageConrol – обозначен цифрой 1. Под цифрой 2 выделены вкладки редактирования полей, стрелок, светофоров, секций и маршрутов. Цифрой 3 указана таблица базы данных путевых участков, содержащая различные записи. Под цифрой 4 выделен компонент связанный с определенным полем таблицы в базы данных. Под цифрой 5 Указан компонент, который содержит в себе поле для ввода новых данных и кнопку на сохранение этих данных в таблице базы данных. Цифрой 6 обозначен компонент, содержащий название записи таблицы.

Для выбора формы редактирования стрелок, светофоров, секций и маршрутов, необходимо нажать на соответствующую вкладку. На рисунках 2.25, 2.26 и 2.27 показаны формы редактирования стрелок, светофоров и секций.

Рисунок 2.25 - Форма редактирования данных стрелок

Рисунок 2.26 - Форма редактирования данных светофоров

Рисунок 2.27 - Форма редактирования данных секций

  1. Экономическая часть

    1. Характеристика проекта

Целью данного дипломного проекта является создание программы-редактора к системе обучения ДСП и ДНЦ в лабораториях кафедры «ОПиБТ». Существующий программный комплекс предоставляет возможность обучающимся выступать в роли ДСП одной из станций или ДНЦ одного из округов. Таким образом, во время процесса обучения студенты располагаются за рабочими местами и осуществляют работу ДСП или ДНЦ.

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

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

Характеристики

Список файлов ВКР

Разработка учебно-лабораторного комплекса подготовки ДСП и ДНЦ
256 гр
Графический материал
1 структура комплекса ч.б.vsd
2 схема полигона цвет.vsd
3 структура таблиц ч.б.vsd
4 алгоритмы ч.б.vsd
5 схематический план цвет.vsd
6 маршрут ч.б.vsd
7 структура базы данных ч.б.vsd
Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6803
Авторов
на СтудИзбе
277
Средний доход
с одного платного файла
Обучение Подробнее