Файл: Динамические системы и методы их математического моделирования в пакете Matlab Simulink.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 09.01.2024
Просмотров: 70
Скачиваний: 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:
-
режим безусловной передачи; -
режим статистической передачи; -
режим BOTH (ОБА); -
режим ALL (ВСЕ); -
режим PICK (выборочный); -
режим FN (функциональный); -
режим P (параметрический); -
режим SBR (подпрограммный); -
режим 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 | Среднее время нахождения транзакта в устройстве. |