Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




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

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

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

LOGIC R FLAG

LOGIC S 9

Имя LOGIC X A

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

INITIAL LSj

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

В данном примере блок PREEMPT работает в приоритетном режиме, а операнд С не используется, т. е прерванный транзакт к другому блоку не направляется. Поэтому он после прерывания с автоматически сохраненным временем до конца обслуживания (дообслуживание) автоматически возвращается в список задержки, связанный с одноканальным устройством Rem1.

Met4 TERMINATE 1

Met3 TERMINATE 1

Met2 TEST E PR, 2, Met4

Met1 TERMINATE 1

TEST E PR, 1, Met2

ADVANCE 11

PREEMPT Rem1, PR

PRIORITY XN1

PREEMPT Line1, PR, Line2

(транзакт может войти в блок и захватить прибор Line1, если он уже не занят транзактом с равным или большим приоритетом; прерванный транзакт, оставаясь в цепи прерываний и претендуя на обслуживание прибором, может продолжить движение в модели).

Пример прерывания в приоритетном режиме (Боев, стр. 116):

GENERATE 5,,,3; генерируется только 3 транзакта

RETURN Rem1

В модели генерируется только три транзакта, они дообслуживаются в порядке приоритета: сначала дообслуживается второй транзакт, а затем третий.

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

INITIAL LS$имя

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

INITIAL LS$Key1

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

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

Примеры:

TEST NE LS$Lock, 1

ADVANCE (X1 – LS$Alarm#X2)

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

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

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

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

GATE LR Switch

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

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

CC1 BVARIABLE X$BBB’E’9 + R$BOX’GE’2

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

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

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




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 552; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.