Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по самому GPSS - для студентов.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
153.76 Кб
Скачать

Логические переключатели

К аппаратным объектам относятся также  логические переключатели (ЛП), которые могут находиться в двух состояниях: "включено" и "выключено". В начале моделирования все ЛП находятся в состоянии "выключено". Отдельные переключатели могут быть установлены в начальное состояние "включено" с помощью оператора INITIAL (инициализировать), имеющего следующий формат:

INITIAL LS$имя

INITIAL LSj

Здесь  имя  0и  j  - соответственно имя и номер ЛП, устанавливаемого в начальное состояние "включено". Например:

INITIAL LS$Key1

Здесь начальное состояние переключателя Key1 равно 1, т.к. значение параметра B блока INITIAL по умолчанию равно 1.

Для включения, выключения и инвертирования логических переключателей в процессе моделирования служит блок LOGIC (установить ЛП), имеющий следующий формат:

 имя  LOGIC X A

В поле A указывается имя или номер ЛП. Вспомогательный операнд X указывает вид операции, которая производится с логическим переключателем при входе транзакта в блок: S - включение, R - выключение, I - инвертирование. Например:

LOGIC S 9

LOGIC R FLAG

Логические переключатели имеют один СЧА с названием LS. Значение СЧА равно 1, если ЛП включен, и 0, если он выключен.

Примеры:

TEST NE LS$Lock, 1

Здесь транзакт входит в блок TEST и продолжает движение, если логический переключатель Lock сброшен (выключен). Если же Lock включен, то транзакт остается в блоке, из которого он пытался войти в TEST, и присоединяется к цепи повторных проверок переключателя Lock.

ADVANCE (X1 – LS$Alarm#X2)

В этом примере интервал задержки равен значению сохраняемой величины X1, если ЛП с именем Alarm сброшен в 0, или равен разности значений сохраняемых величин 1 и 2, если ЛП Alarm установлен в 1.

Часто для проверки состояния ЛП используется блок GATE с условным оператором LS или LR:

LS – проверка условия «установлен в 1»; проверка истинна, если ключ в положении 1и ложна в противном случае.

LR – проверка условия «установлен в 0»; проверка истинна, если ключ установлен в 0 и ложна в противном случае.

Операндом a блока GATE задается имя проверяемого переключателя. Если операнд В отсутствует, то блок работает в режиме отказа. Пример:

GATE LR Switch

Транзакт проходит дальше, если ЛП Switch установлен в 0 (сброшен).

Булевские переменные. Команда bvariable

Выполнение набора логических условий, если таковые необходимо реализовать в соответствии с логикой работы модели, можно проверить в нескольких последовательно включенных блоках TEST или GATE. Однако количество блоков можно уменьшить, если воспользоваться булевской переменной. Для задания такой переменной используется команда BVARIABLE, в поле имени которой стоит имя этой переменной, а в поле операндов – булевское выражение. Например;

CC1 BVARIABLE X$BBBE’9 + R$BOXGE’2

Значение булевской переменной является системным числовым атрибутом BV$имя. Значение СЧА BV$имя равно1, если выражение истинно, или 0, если ложно. Например:

TEST E BV$CC1, 1, МЕТ3

В булевской переменной используются операторы отношения: ‘G’ – больше, ‘GE’ – больше или равно, ‘E’- равно, ‘NE’ – не равно, ‘L’ – меньше, ‘LE’ – меньше или равно.