48066 (588518), страница 4

Файл №588518 48066 (Подсистема визуального отображения процесса интерпретации сетевых моделей в системе имитационного моделирования МИКРОСИМ) 4 страница48066 (588518) страница 42016-07-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

INFMOD=RECORD

MODNAM: (* ИМЯ МОДЕЛИ *)

KOLSEG: WORD; (* ЧИСЛО СЕГМЕНТОВ *)

TMT: REAL; (* ТЕКУЩЕЕ МОДЕЛЬНОЕ ВРЕМЯ *)

FT: PINFSEG; (* АДР.1‑ГО СЕГМ. В СПИСКЕ СОБЫТ.*)

PFSEG: PINFSEG; (* АДРЕС ГОЛОВНОГО СЕГМЕНТА *)

TIMFIN: REAL; (* ИНТЕРВАЛ МОДЕЛИРОВАНИЯ *)

TUN: CHAR; (* ЕДИНИЦА МОДЕЛЬНОГО ВРЕМЕНИ *)

READY: CHAR; (* ГОТОВНОСТЬ К МОДЕЛИРОВАНИЮ:

1‑ЕСТЬ, 0‑НЕТ*)

CONDMD: ARRAY [1..9] OF CHAR; (* КОД И УСЛОВИЯ *)

(* ПРЕКРАШЕНИЯ МОДЕЛИРОВАНИЯ *)

ECOUNT: LONGINT; (* СЧЕТЧИК СОБЫТИЙ *)

NKB: LONGINT; (* ЦЕЛОЕ ЧИСЛО КИЛОБАЙТОВ МОД. *)

NB: LONGINT; (* КОЛ.БАЙТОВ В ПОСЛ.КИЛОБАЙТЕ *)

STEP: REAL; (* ШАГ ОСТАНОВКИ *)

STEPC: REAL; (* ШАГ КАТАЛОГИЗАЦИИ *)

NXTSTOP: REAL; (* ВРЕМЯ СЛЕДУ`ШЕЙ ОСТАНОВКИ *)

NXTCAT: REAL; (* ВРЕМЯ СЛЕДУ`ШЕЙ КАТАЛОГИЗ. *)

INFMODSIZE: INTEGER; (* РАЗМЕР СПРАВОЧНИКА МОДЕЛИ *)

STSTAT: REAL; (* ВРЕМЯ НАЧАЛА СБОРА СТАТИСТИКИ*)

END;

СПРАВОЧНИК СЕГМЕНТА (102 БАЙТА)

INFSEG=RECORD

SPS: WORD; (* РАЗМЕР СТАТИЧ. ЧАСТИ СЕГМЕНТА*)

SEGCNAME: ALFDIG; (* ИМЯ СЕГМЕНТА-КОПИИ *)

SEGONAME: ALFDIG; (* ИМЯ СЕГМЕНТА-ОРИГИНАЛА *)

ADROD: PINFSEG; (* АДРЕС СЕГМЕНТА-РОДИТЕЛЯ *)

ADBRAT: PINFSEG; (* АДРЕС СЛЕД.СЕГМЕНТА-БРАТА *)

ADSYN: PINFSEG; (* АДРЕС СТАРШЕГО СЕГМЕНТА-СЫНА *)

FTIME: PINFSEG; (* АДРЕС СЛЕДУЮШЕГОСЕГМЕНТА

В СПИСКЕ СОБЫТИЙ (ПРИ

СБОРКЕ-АДР.МЛАДШ.СЫНА)*)

LOWTIME: REAL; (* ВРЕМЯ БЛИЖ.СОБЫТИЯ В СЕГМЕНТЕ*)

ADRTABNAME: PTABNAME; (* АДРЕС ТАБЛИЦЫ

(*ДОБАВЛЯЕМЫХ СЕГМЕНТОВ *)

ADRTABLINKS: PTABLINKS; (* АДРЕС ТАБЛИЦЫ СВЯЗИ

(*В СИМВОЛЬНОЙ ФОРМЕ *)

ADRTABLINK: PTABLINK; (* АДРЕС СПИСКА ТАБЛИЦ СВЯЗИ *)

ADRP: POINTER; (* АДРЕС УКАЗАТЕЛЕЙ, ИСПОЛЬЗУЕМЫХ*)

(* В ПРОЦЕДУРЕ СЕГМЕНТА *)

PFPLACE: PPLACE; (* АДРЕС СПИСКА ПОЗИЦИЙ *)

PFTRAN: PTRANSITION; (* АДР.СПИСКА ПЕРЕХОДОВ *)

PTA: PTDIST; (* АДРЕС СП.ТАБЛИЦ РАСПРЕДЕЛЕНИЙ*)

PIL: PTRANSITION; (* АДР.СПИСКА ПРЕРЫВАНИЙ *)

PVAR: POINTER; (* АДР.ТАБ.ПЕРМЕННЫХ И МАССИВОВ *)

ADSEG: PINFSEG; (* АДРЕС ЗАГРУЗКИ СЕГМЕНТА *)

PLS: PTRANSITION; (* АДР.СПИСКА «S» *)

PLR: PTRANSITION; (* АДР.СПИСКА «R» *)

RESERV: INTEGER; (* РАБ.ЯЧЕЙКАИСП.ПРИ СБОРКЕ *)

SEGX: INTEGER; (* РАЗМЕР СЕГМЕНТА ПО ОСИ «X» *)

SEGY: INTEGER; (* РАЗМЕР СЕГМЕНТА ПО ОСИ «Y» *)

TIMEUN: CHAR; (* ЕДИНИЦА ВРЕМЕНИ *)

NSATR: CHAR; (* ЧИСЛО АТРИБУТОВ *)

PTATR: PTATRIB; (*АДР.ТАБЛИЦЫ ОПИСАНИЯ АТРИБУТОВ*)

INFSEGSIZE: INTEGER; (* РАЗМЕР СПРАВОЧНИКА СЕГМЕНТА *)

PSTOP: PTABSTOP; (* АДР.ТАБЛИЦЫ УСЛОВИЙ ОСТАНОВА *)

ЕND;

ТАБЛИЦА ПЕРЕХОДА (66 БАЙТ)

TRANSITION=RECORD

NUMTRAN: WORD; (* НОМЕР ПЕРЕХОДА *)

PRIZN: WORD;

(* СЛОВО ПРИЗНАКОВ:

БИТЫ: 2..0 – ТИП ЭЛЕМЕНТАРНОЙ СЕТИ:

1 – T, 2 – Y, 3 – X, 4 – G, 5 – I

8..3 – РЕЗЕРВ

9 – НАЛИЧИЕ ПРОЦЕДУРЫ УПРАВЛЕНИЯ

10 – НАЛИЧИЕ ПРОЦЕДУРЫ ВРЕМЕНИ

11 – НАЛИЧИЕ ПРОЦЕДУРЫ ТРАНСФОРМАЦИИ

12 – ПРИЗНАК ТРАССИРОВКИ

13 – ПРИНАДЛЕЖНОСТЬ К СПИСКУ «S»

14 – ПРИНАДЛЕЖНОСТЬ К СПИСКУ «R»

15 – ПРИЗНАК СБОРА СТАТИСТИКИ *)

PIPL: PPLACE; (* АДР.СПИСКА ВХОДНЫХ ПОЗИЦИЙ *)

POPL: PPLACE; (* АДР.СПИСКА ВЫХОДНЫХ ПОЗИЦИЙ *)

NIPT: CHAR; (* ЧИСЛО ВХОДНЫХ ПОЗИЦИЙ *)

NOPT: CHAR; (* ЧИСЛО ВЫХОДНЫХ ПОЗИЦИЙ *)

PNTRANL: PTRANSITION; (* АДР.ТАБЛ.СЛЕДУ`ШЕГО ПЕРЕХОДА *)

PNSRT: PTRANSITION; (*АДР.СЛЕД.ПЕРЕХ.В СП. «S" ИЛИ «R»*)

TSTAT: PTDIST; (* АДР.ТАБЛИЦЫ РАСПРЕДЕЛЕНИЯ *)

ADRP: POINTER; (*АДР.ПРОЦЕДУРЫ «ТРАНСФОРМАЦИЯ» *)

ADRC: POINTER; (* АДР.ПРОЦЕДУРЫ «УПРАВЛЕНИЕ» *)

ADRT: POINTER; * АДР.ПРОЦЕДУРЫ «ВРЕМЯ» *)

TX: INTEGER; (* КООРДИНАТА «X» *)

TY: INTEGER; (* КООРДИНАТА «Y» *)

FINT: REAL; (* ВРЕМЯ ОКОНЧ.АНИЯ КТИВНОЙ ФАЗЫ *)

DELAY: REAL; (* ВРЕМЕННАЯ ЗАДЕРЖКА *)

INSEL: CHAR; (* ЗНАЧ.ПРОЦЕДУРЫ ВХ.УПРАВЛЕНИЯ *)

OUTSEL: CHAR; (* ЗНАЧ.ПРОЦЕДУРЫ ВЫХ.УПРАВЛЕНИЯ*)

NENTR: LONGINT; (* ЧИСЛО АКТИВИЗАЦИЙ ПЕРЕХОДА *)

SUMTACT: REAL; (* СУММА ИНТЕРВАЛОВ АКТИВИЗАЦИИ *)

END;

ТАБЛИЦА ПОЗИЦИИ (50 БАЙТ)

PLACE=RECORD

NUMPOS: WORD; (* НОМЕР ПОЗИЦИИ *)

PRIZN: WORD;

(* СЛОВО ПРИЗНАКОВ:

БИТЫ: 0 – ТИП ПОЗИЦИИ: 0 – ПРОСТАЯ, 1 – ОЧЕРЕДЬ

3..1 – ТИП ОЧЕРЕДИ: 0 – FIFO 3 – LOW(I)

1 – LIFO 4 – HIGH(I)

2 – RAND

5..4 – РЕЗЕРВ

6 – ТИП АТРИБУТА ДЛЯ ОЧЕРЕДЕЙ HIGH, LOW

7 – ПРИЗНАК ОСОБОЙ ОЧЕРЕДИ, Т.Е. ОЧЕРЕДИ,

ЯВЛЯЮЩЕЙСЯ ВХОДНОЙ И ВЫХОДНОЙ ДЛЯ ПЕРЕХОДА

8 – ВХОДНАЯ ПОЗИЦИЯ СВЯЗИ

9 – ВЫХОДНАЯ ПОЗИЦИЯ СВЯЗИ

14..10 – РЕЗЕРВ

15 – ПРИЗНАК СБОРА СТАТИСТИКИ *)

PBT: PTRANSITION; (* АДР.ТАБЛ.НАЧАЛЬНОГО ПЕРЕХОДА

(*ИЛИ ТАБЛИЦЫ СВЯЗИ *)

PET: PTRANSITION; (* АДР.ТАБЛ.КОНЕЧНОГО ПЕРЕХОДА

(*ИЛИ ТАБЛИЦЫ СВЯЗИ *)

NALOHI: INTEGER; (* СМЕШЕНИЕ АТРИБУТА ДЛЯ *)

(* ОЧЕРЕДЕЙ ТИПОВ HIGH И LOW *)

PNTP: PPLACE; (* АДРЕС ТАБЛ.СЛЕДУЮЩЕЙ ПОЗИЦИИ *)

PNIP: PPLACE; (*АДР.ТАБЛ.СЛЕД.ВХ.ПОЗ. ПЕРЕХОДА*)

PNOP: PPLACE; (*АДР.ТАБЛ.СЛЕД.ВЫХ.ПОЗ.ПЕРЕХОДА*)

PST: PTDIST; (* АДР.ТАБЛИЦЫ РАСПРЕДЕЛЕНИЯ *)

PX: INTEGER; (* КООРДИНАТА «X» *)

PY: INTEGER; (* КООРДИНАТА «Y» *)

PLREC: POINTER; (* АДР.СПИСКА ЗАПИС.ОБ АТРИБУТАХ*)

NOB: CHAR; (* ЧИСЛО ФИШЕК *)

QMAX: CHAR; (* МАКС.ДЛИНА ОЧЕРЕДИ *)

NENTR: LONGINT; (* ЧИСЛО ВХОДОВ ФИШЕК В ПОЗИЦИ` *)

SUMTZ: REAL; (* СУММА ИНТЕРВАЛОВ ЗАНЯТОСТИ *)

END;

Входными параметрами процедуры трассировки I00TRD являются указатели на справочники модели, сегмента и перехода. Все необходимые для записи в файл данные процедура получает из справочников. Имя сегмента в котором сработал переход получаем с помощью процедуры GETNAME, модельное время и время задержки с помощью процедуры I00TUN, обе процедуры из модуля ISPINT.

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

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

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

FTRACE: TEXT;

SCH: INTEGER;

Закрытие файла происходит по окончании процесса моделирования, командой: CLOSE (FTRACE);

    1. Структура СВПИМ

Разработка СВПИМ велась в операционной системе Windows’95.В качестве программного комплекса для реализации СВПИМ использовалась интегрированная среда разработки Delphi 2.0, которая является средой визуального программирования. Поскольку ядром для подсистемы визуального отображения была выбрана СВПИМ, очевидно, что для ее разработка тоже проводилась в среде Delphi 2.0.

Создание программ в Delphi базируется на объектно-ориентированной технологии. Структурной единицей визуального программирования является компонент. Компонент представляет собой объект, обладающий набором свойств, которые определяют его представление и поведение. Е-сетевая модель состоит из связанных друг с другом сегментов, которые можно определить как объекты, имеющие графическое представление и определяемые некоторым набором свойств. В свою очередь, сегменты состоят из элементарных Е-сетей определенных типов. Однако, учитывая идеологию СВПИМ будем считать, что сегменты состоят из переходов, позиций и линий связи между ними (дуг). Каждый из этих структурных элементов Е-сети также можно определить как объект, имеющий свое графическое представление и определяемый соответствующим набором свойств. При таком подходе сегмент представляется набором объектов с определенными свойствами. Таким образом, все структурные компоненты имитационной модели представлены в СВПИМ как Delphi‑компоненты.

      1. Общая структура программы

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

В СВПИМ определено пять основных окон:

  • основное окно сегмента, представляющее графическое изображение сегмента;

  • окно, представляющее текстовое описание сегмента;

  • окно свойств элементов, в том числе сегмента;

  • окно конструктора процедур;

  • окно задания связей сегмента с другими сегментами.

Общая структура программы представлена на рисунке 2.4

      1. Графическое представление сегмента в СВПИМ

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

Таблица 2.6

Название

Тип

Описание

Name

String

Название сегмента

TimeDelay

TtimeDelay

Модельное время ('псек', 'нсек', 'мксек', 'мсек', 'сек', 'мин', 'час', 'день')

ListNet

Tlist

Список переходов.

ListPos

Tlist

Список позиций.

ListLine

Tlist

Список дуг.

AttributeNames

TstringList

Имена атрибутов фишек

AttributeTypes

TstringList

Типы атрибутов фишек

NetVarNames

TstringList

Имена сетевых переменных

NetVarVals

TstringList

Значения сетевых переменных

NetVarTypes

TstringList

Типы сетевых переменных


При визуальном отображении разработанной подсистемой используются свойства ListPos и ListNet.

      1. Компоненты Е-сети

Все компоненты Е-сети в СВПИМ порождены от базового класса TNObject и перегружают все его виртуальные функции. Кроме того, каждый из компонентов имеет собственные данные и методы, специфичные для него.

Переходы представлены в редакторе классом TNetObj. Кроме свойств, определенных в базовом классе, объект имеет набор собственных свойств, описывающих тип перехода, ширину графического изображения, высоту графического изображения, выражение в операторе TIME, выражение в операторе CONTROL, выражение в операторе TRANSFER и т.д.

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

Дуги представлены классом TlineObj Кроме свойств, определенных в базовом классе, объект имеет следующий набор собственных свойств: тип дуги, направление дуги, указатель на переход, к которому присоединена дуга, указатель на позицию, к которой присоединена дуга и т.д.

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

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

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