КАТЕГОРИИ: Архитектура-(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; Просмотров: 572; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |