Logic X а

Операнд А – назва або номер логічного ключа. Може бути назвою, додатним цілим числом, виразом у дужках, СЧА або СЧА*параметр.

Логічний оператор X описує стан логічного ключа, що вказуються операндом А. Він може приймати наступні значення:

· S – логічний ключ вмикається;

· R – логічний ключ вимикається;

· I – логічний ключ інвертується (стан змінюється на протилежний, наприклад з ON на OFF).

Для перевірки стану логічного ключа використовується блок GATE у форматі:

GATE X А,[В]

Операнд А – назва або номер ключа, що перевіряється. Може бути назвою, додатним цілим числом, виразом у дужках, СЧА або СЧА*параметр.

В операнді В задається мітка блоку, до якого буде спрямований транзакт у випадку невиконання умови, заданої оператором X.

Умовний оператор Х приймає значення:

· LS = 1, якщо логічний ключ, заданий операндом А, включений; 0 – якщо виключений;

· LR = 1, якщо логічний ключ, заданий операндом А, виключений; 0 – якщо включений.

Розглянемо приклад використання блоку GATE для перевірки стану логічного ключа [1]. Нехай БКП переводиться в недоступний стан. Транзакти, що перебували в БКП до моменту переведення його в недоступний стан, продовжують обслуговуватись. Проте транзакти, що знову надходять, не потрапляють в список затримування БКП. Відновлення доступності БКП починається після того, як БКП буде порожній (рис. 7.6).

Рис. 7.6. Імітаційна модель використання блоку GATE для
перевірки стану логічного ключа

Блок GENERATE другого сегмента в t = 0 генерує один транзакт (XN 1=1) і перестає бути активним. Цей транзакт входить у блок LOGIC, що включає ключ Flag, і далі затримується блоком ADVANCE.

Блок GENERATE першого елементу генерує з інтервалом 5 одиниць часу моделювання п'ять транзактів і також перестає бути активним.

Перший транзакт (XN 1=2) в момент часу t = 5 проходить перший і другий блоки GATE, тому що ключ Flag включений і БКП вільний, і займає два вільних канали. Обслуговування цього транзакта закінчиться в t =5 + 12 = 17 одиниць часу.

Другий транзакт (XN 1=3) в t = 10 також пройде обидва блоки GATE і займе наступні два канали БКП Nak. Вільним залишиться один канал. Обслуговування другого транзакта закінчиться в t =10 + 12 = 22 одиниць часу.

В t = 15 третій транзакт пройде перший блок GATE сегмента імітації надходження й обслуговування і ввійде в другий блок GATE. Оскільки БКП Nak має один канал вільним, умова, задана в блоці GATE, виконається й транзакт пройде до блоку ENTER. Але одного каналу недостатньо для обслуговування запиту, тому транзакт потрапить в список затримування БКП.

В t = 17 ключ Flag буде виключений і БКП буде недоступний для транзактів, що знову надходять. У цей же час закінчиться обслуговування першого транзакта і третій транзакт зі списку затримування займе БКП. У БКП Nak перебувають другий і третій транзакти (Nak не порожній). Тому транзакт, що викликав вимикання ключа, буде затриманий блоком GATE сегмента імітації недоступності, оскільки задана в ньому умова не виконується.

В t = 20 четвертий транзакт (XN 1=5) ввійду у блок GATE першого сегмента. Оскільки ключ Flag виключений, то цей транзакт направляється до блоку TERMINATE з міткою Vuhid і знищується. Обслуговування другого транзакта завершиться в t = 22. У БКП залишиться один транзакт. Умова в блоці GATE сегмента імітації недоступності знову не виконається й транзакт, що викликав вимикання ключа, не ввійде в блок затримки ADVANCE.

В t = 25 п'ятий транзакт (XN1=6) першим блоком GATE сегмента 1 також направляється до блоку TERMINATE з міткою Vuhid і знищується.

Обслуговування третього транзакта завершується в t = 17 + 12 = 27. Транзакт, що викликав вимикання ключа, пройде через блок GATE до блоку затримки ADVANCE. В момент t =27 + 5 = 33 буде включений ключ Flag. Транзактам відкриється шлях на БКП Nak.

У даному прикладі і у прикладі з використанням блоків SUNAVAIL і SAVAIL будуть обслуговуватися три транзакта (перший, другий й третій). Час закінчення обслуговування з використанням логічного ключа складає 27 одиниць модельного часу, а з використанням блоків SUNAVAIL і SAVAIL – 39 одиниць часу.

Для перевірки стану логічного ключа також використовується блок TEST. Формат запису й умовні оператори такі ж, що й для перевірки станів ОКП й БКП. У булевій змінній використовується тільки СЧА LS.

Контрольні запитання та завдання

1. Охарактеризуйте режими функціонування БКП..

2. Охарактеризуйте блоки зайняття та звільнення БКП.

3. Які дії виконуються під час входження транзакту в блок ENTER?

4. Чи може бути БКБ вилучений з моделі за допомогою команди STORAGE?

5. Охарактеризуйте блоки SUNAVALL і SAVALL.

6. Вкажіть параметри у звіті після моделювання БКП. Яке їх призначення?

7. Вкажіть значення умовного оператора блоку GATE для перевірки стану БКП.

8. Охарактеризуйте режими роботи блоку GATE.

9. Як використовується блок TEST для перевірки стану БКП?

10. Наведіть формати блоку для моделювання логічного ключа.

11. Чи можна використовувати блок GATE для перевірки стану логічного ключа?

12. Напишіть сегмент програми для моделі перебування в магазині 23 покупців протягом 10±6 хвилин.

13. Напишіть програму для моделювання роботи чотирьох БКП за умови, що їх коефіцієнти використання є однакові.

14. Змоделювати процес обслуговування двоканальним пристроєм потоку вимог, який поступає з інтервалом 4±1 хвилин. Протягом перших 150 хвилин обслуговування здійснюється першим каналом, а потім другим. Три­валість обслуговування у першому каналі триває 8±1 хвилин, а в другому – 14±1 хвилини.

15. Змоделювати процес обслуговування двоканальним пристроєм потоку вимог, який надходить з інтервалом 6±1 хвилин. Протягом перших 200 хвилин обслуговування здійснює другий канал, а потім перший. Три­валість обслуговування першого каналу триває 10±1 хвилин, а другого – 9±1 хвилини.


“Навіть якщо ваше пояснення є настільки зрозумілим, що виключає будь-яке неправильне пояснення, то все одно знайдеться людина, яка зрозуміє вас неправильно”

(закон Мерфі)


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: