Файл: Динамические системы и методы их математического моделирования в пакете Matlab Simulink.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.01.2024

Просмотров: 68

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

3. Описание языка моделирования GPSS
GENERATE (ГЕНЕРИРОВАТЬ)

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

Формат оператора:

GENERATE [A],[B],[C],[D],[E]

Значения операндов:

A – средний интервал времени между генерируемыми транзактами или вероятностное распределение интервала из встроенной библиотеки процедур, заключённое в круглые скобки; [по умолчанию – ноль];

B – величина полуинтервала равномерно распределенного интервала или модификатор таблично заданной функции; [по умолчанию – ноль];

С – смещение – момент формирования первого транзакта; [по умолчанию – ноль];

D – ограничитель – число генерируемых данным оператором транзактов; [по умолчанию – не ограничено];

Е – уровень приоритета от 0 до 127 (чем больше номер, тем выше приоритет); [по умолчанию – ноль].

Примечание. Несмотря на то, что операнды A и D – необязательные операнды, в операторе GENERATE обязательно должен использоваться один из них: либо операнд A, либо операнд D.
TERMINATE (ЗАВЕРШИТЬ)
Назначение оператора: удаление транзактов из модели.

Формат оператора:

TERMINATE [A]

Значения операндов:

A – указатель уменьшения счетчика завершений (целое положительное число); [по умолчанию – ноль].
ADVANCE (ЗАДЕРЖАТЬ)
Назначение оператора: задержка транзакта на заданное время.

Формат оператора:

ADVANCE [A],[B]

Значения операндов:

A – среднее время задержки или вероятностное распределение из встроенной библиотеки процедур, заключённое в круглые скобки; [по умолчанию – ноль];

B – величина полуинтервала равномерно распределенного интервала задержки или модификатор таблично заданной функции; [по умолчанию – ноль].
SEIZE (ЗАНЯТЬ)
Назначение оператора: занятие транзактом прибора.

Формат оператора:

SEIZE A

Значения операндов:

A – идентификатор (число или имя) занимаемого прибора.


RELEASE (ОСВОБОДИТЬ)
Назначение оператора: удаление транзакта из прибора (освобождение прибора).

Формат оператора:

RELEASE A

Значения операндов:

A – идентификатор (число или имя) освобождаемого прибора.
QUEUE (СТАТЬ В ОЧЕРЕДЬ)
Назначение оператора: занесение транзакта в очередь (точнее – регистрация статистики очереди, связанная с фиксацией момента поступления транзакта в очередь и увеличением ее длины).


Формат оператора:

QUEUE A,[B]

Значения операндов:

A – идентификатор (число или имя) очереди;

B – количество элементов, на которое должна увеличиться длина очереди; [по умолчанию – один].
DEPART (ПОКИНУТЬ ОЧЕРЕДЬ)
Назначение оператора: удаление транзакта из очереди (точнее – регистрация статистики очереди, связанная с уменьшением ее длины и фиксацией момента удаления транзакта из очереди с целью определения времени ожидания).

Формат оператора:

DEPART A,[B]

Значения операндов:

A – идентификатор (число или имя) очереди;

B – количество элементов, на которое должна уменьшиться длина очереди; [по умолчанию – один].
ENTER (ВОЙТИ)
Назначение оператора: вход транзакта в многоканальное устройство.

Формат оператора:

ENTER A,[B]

Значения операндов:

A – идентификатор (число или имя) многоканального устройства;

B – количество занимаемых приборов многоканального устройства; [по умолчанию – один].
LEAVE (ВЫЙТИ)
Назначение оператора: удаление транзакта из многоканального устройства.

Формат оператора:

LEAVE A,[B]

Значения операндов:

A – идентификатор (число или имя) многоканального устройства;

B – количество освобождаемых приборов многоканального устройства; [по умолчанию – один].
TEST (ПРОВЕРИТЬ)
Назначение оператора: поверка значения (обычно СЧА) и передача активного транзакта в блок, отличный от последующего, если указанное условие не выполняется.

Формат оператора:

TEST Х A,B,[C],

Значения операндов:

A – проверяемое значение;

B – контрольное значение;

C – имя (метка) блока назначения C; [по умолчанию – Режим отказа];

Х – оператор отношения, определяющий условие проверки операнда

А с операндом В:


Значения Х

Интерпретация в смысле блока TEST

G

A больше B?

GE

A больше или равно B?

E

A равно B?

NE

A не равно B?

LE

A меньше или равно B?

L

A меньше B?



Блок TEST может функционировать в двух режимах:

  • в режиме альтернативного выхода (если задан операнд C);

  • в режиме отказа (если операнд C не задан).

Когда транзакт пытается войти в блок TEST в режиме альтернативного выхода и проверяемое условие не выполняется, транзакт передается блоку, указанному в

операнде С.

Когда транзакт пытается войти в блок TEST в режиме отказа (при отсутствии операнда С) и заданное условие не выполняется, транзакт блокируется до тех пор, пока условие не будет выполнено.


TRANSFER (ПЕРЕДАТЬ)
Назначение оператора: передача транзакта в блок, отличный от последующего.

Режимы использования оператора TRANSFER:

  1. режим безусловной передачи;

  2. режим статистической передачи;

  3. режим BOTH (ОБА);

  4. режим ALL (ВСЕ);

  5. режим PICK (выборочный);

  6. режим FN (функциональный);

  7. режим P (параметрический);

  8. режим SBR (подпрограммный);

  9. режим SIM (одновременный).


Далее рассматриваются только первый, третий и четвертый режим.

Режим безусловной передачи

Назначение оператора: безусловная передача транзакта в блок, отличный от последующего.

Формат оператора:

TRANSFER ,B

Значения операндов:

A – НЕ используется, что является признаком режима безусловной передачи;

B – имя блока, к которому направляется активный транзакт.

Режим BOTH (ОБА)

Назначение оператора: В этом режиме каждый входящий транзакт сначала пытается перейти к блоку, указанному в поле В. Если это сделать не удается, транзакт пытается перейти к блоку, указанному в поле С. Если транзакт не сможет перейти ни к тому, ни к другому блоку, оно остается в блоке TRANSFER и будет повторять в том порядке попытки перехода при каждом просмотре списка текущих событий, до тех пор, пока не сможет выйти из блока TRANSFER.

Формат оператора:

TRANSFER A,B,C

Значения операндов:

A – равно BOTH, что является признаком режима ОБА;

B,С – имена блоков, к которым может направляется активный транзакт.
Режим ALL (ВСЕ)

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


Формат оператора:

TRANSFER A,B,C,D

Значения операндов:

A – равно ALL, что является признаком режима ВСЕ;

B – первый блок к которому направляется транзакт;

C – последний блок к которому направляется транзакт;

D – шаг, количество операторов который пропускает транзакт до следующего блока, если и блок который указ в операнде C, цикл начинается с начала.


TABULATE (ТАБУЛИРОВАТЬ)
Назначение оператора: занесение значений в таблицу.

Формат оператора:

TABULATE A,[B]

Значения операндов:

A – имя таблицы, в которую заносится соответствующее значение и которая должна быть описана с помощью оператора описания (команды) TABLE;

B – весовой коэффициент; [по умолчанию – Коэффициент равен 1]. При попадании активного транзакта в оператор TABULATE обновляется статистика, связанная с таблицей, указанной в операнде A
STORAGE (МНОГОКАНАЛЬНОЕ УСТРОЙСТВО)
Назначение: описание ёмкости многоканального устройства (памяти).

Формат оператора:

<Имя> STORAGE A

Здесь: <Имя> – имя многоканального устройства.

Значения операнда:

A – количество приборов (каналов) в многоканальном устройстве.
TABLE (ТАБЛИЦА)
Назначение: описание таблицы, используемой в модели для накопления частоты попадания некоторой случайной величины в заданные частотные интервалы и построения гистограммы плотности распределения.

Формат оператора:

<Имя> TABLE A,B,C,D

Здесь: <Имя> – имя таблицы (не более 32-х алфавитно-цифровых символов).

Значения операндов:

A – имя случайной величины (СЧА), значения которой должны учитываться в таблице; операнд А игнорируется дисперсионным анализом, но должен быть определен, когда используется блоками TABULATE;

B – ширина первого частотного интервала;

C – ширина всех промежуточных частотных интервалов;

D – количество частотных интервалов таблицы, включая левый и правый (целое положительное число).
QTABLE (ТАБЛИЦА ОЧЕРЕДИ)
Назначение: описание таблицы очереди, используемой в модели для накопления частоты попадания времени нахождения транзакта в очереди (времени ожидания) в заданные частотные интервалы и построения гистограммы плотности распределения.


Формат оператора:

<Имя> TABLE A,B,C,D

Здесь: <Имя> – имя таблицы (не более 32-х алфавитно-цифровых символов), в которой будут накапливаться значения частот.

Значения операндов:

A – имя очереди, для которой формируется таблица;

B – ширина первого частотного интервала;

C – ширина всех промежуточных частотных интервалов;

D – количество частотных интервалов таблицы, включая левый и правый (целое положительное число).
VARIABLE (АРИФМЕТИЧЕСКАЯ ПЕРЕМЕННАЯ)
Назначение: описание арифметической переменной.

Формат оператора:

<Имя> VARIABLE X

Здесь: <Имя> – имя арифметической переменной.

Значения операнда:

X – арифметическое выражение для вычисления значения переменной <Имя>.
START (НАЧАТЬ)
Назначение: запуск процесса моделирования.

Формат оператора:

START A,[B],,[D]

A – начальное значение «счетчика завершений»;

B – признак вывода статистики: значение NP (no printout) блокирует вывод стандартной статистики; необязательный операнд;

D – признак вывода списков: значение 1 включает вывод списков будущих и текущих событий в стандартный отчет; необязательный операнд.
Групповые имена (наименования) и значения основных СЧА объектов, таких как приборы, многоканальные устройства, очереди итаблицы приведены ниже.
СЧА приборов


Групповое имя

Значение

F

1, если прибор занят; 0, если свободен

FC

Число занятий прибора транзактами

FR

Загрузка прибора, выраженная в долях тысячи

FT

Среднее время занятия прибора транзактом


СЧА многоканальных устройств


Групповое имя

Значение

R

Количество незанятых приборов (каналов)

S

Количество занятых приборов (каналов)

SA

Среднее количество занятых приборов

SC

Счетчик числа входов в многоканальное устройство

(при каждом выполнении блока ENTER значение

счетчика увеличивается на величину операнда B блока)

SM

Максимальное количество занятых приборов

(максимальное значение Sj или S$ имя)

SR

Загрузка многоканального устройства, выраженная в

долях тысячи

ST

Среднее время нахождения транзакта в устройстве.