- •Методичні вказівки
- •Імітаційне моделювання
- •Херсон 2004 Методичні вказівки до проведення лабораторних занять з дисципліни
- •1. Загальні відомості про Sіmulіnk
- •2. Запуск Sіmulіnk
- •3. Оглядач розділів бібліотеки Sіmulіnk
- •4. Створення моделі
- •5. Вікно моделі
- •6.1. Додавання текстових написів
- •6.2. Виділення об'єктів
- •6.3. Копіювання і переміщення об'єктів у буфер проміжного збереження
- •6.4. Вставка об'єктів з буфера проміжного збереження
- •6. Основні прийоми підготовки і редагування моделі
- •6.5. Видалення об'єктів
- •6.6. З'єднання блоків
- •6.7. Зміна розмірів блоків
- •6.8. Переміщення блоків
- •6.9. Використання команд Undo і Redo
- •6.10. Форматування об'єктів
- •7. Установка параметрів розрахунку і його виконання
- •7.1. Установка параметрів розрахунку моделі
- •7.1.1. Sіmulatіon tіme (Інтервал моделювання або час розрахунку)
- •7.1.2. Solver optіons (Параметри розрахунку)
- •7.1.3. Output optіons (Параметри висновку)
- •7.2. Установка параметрів обміну з робочою областю
- •7.3. Установка параметрів діагностування моделі
- •7.4. Виконання розрахунку
- •10. Редактор диференціальних рівнянь dee
- •12. Основные команды matlab для управления Simulink-моделью
- •Питання для самоперевірки
- •Завдання до роботи
- •Порядок виконання роботи:
- •Звіт про роботу
- •Питання для самостійного вивчення:
- •Вимоги до звiту
- •Iндивiдуальнi завдання
- •Приклад виконання завдання
- •Завдання для домашньої підготовки.
- •Завдання до роботи.
- •Завдання для домашньої підготовки.
- •Завдання до роботи.
- •Порядок виконання роботи
- •Звіт про роботу
- •Завдання для самоперевірки
- •Варіанти завдань
- •Порядок виконання роботи
- •Звіт про роботу
- •Питання для самоперевірки
- •Рекомендована лiтература Основна
- •Додаткова
Приклад виконання завдання
Задача. В обчислювальному центрі знаходиться ЕОМ (жовтогарячий блок), що здійснює обробку однотипних завдань. Завдання надходять з інтервалом 10±2.5 хвилини (бузковий блок). Перед обробкою завдання стають у чергу (зелений блок). Максимальний розмір черги 10 завдань. Обробка одного завдання на ЕОМ складає 20±5 хвилин. Змоделювати роботу системи протягом 1000 хвилин. Визначити кількість оброблених завдань і кількість завдань, яким відмовлено в обробці.
Пояснення. Дана імітаційна модель побудована з використанням процессно-ориентированного підходу. Центральним елементом такої моделі є транзакт. У запропонованій задачі в якості транзакта виступає завдання, призначене для обробки. Бузковий блок схеми з назвою Transact Generator являє собою зовнішнє середовище, відкіля в обчислювальний центр надходять завдання. Цей блок організований у виді підсистеми, структуру якої можна побачити вибравши опцію Open block контекстного меню або двічі клацнувши лівою кнопкою миші на цьому блоці. Центральним елементом підсистеми генератора транзактов є блок сумматора дискретного часу (Dіscrete-Tіme Іntegrator). Підсистема, що задає випадкові інтервали часу приходу транзакта має назву Subsystem. Вона складається з п'яти блоків. Блок константи задає постійну складового часу приходу транзакта. Блок генерації випадкового числа (Random Number) задає випадкову складового часу приходу транзакта. Блок арифметичної суми складає дві складові і через порт висновку (Out1) передає дане число в зовнішню підсистему. Блок Enable указує на те, що підсистема Subsystem є керованої, тобто при подачі на відповідний вхід сигналу логічної одиниці вона включається і працює, відповідно при подачі на її вхід сигналу логічного нуля підсистема відключається.
Після формування інтервалу часу приходу транзакта підсистемою Subsystem, його значення надходить на вхід (x0) сумматора. Цей вхід задає початкове значення сумматора. Початкове значення записується усередину сумматора після подачі на його середній вхід сигналу "скидання". Далі на кожнім такті моделювання до внутрішнього значення сумматора додається число, що надходить на його перший вхід (у нашому прикладі це -1). Очевидно, що через якийсь час сумматор обнулится і за допомогою блоку умови на вихід Out1 підсистеми Transact Generator буде виведений одиничний імпульс, що символізує один транзакт. У теж час по зворотному зв'язку за допомогою підсистеми Subsystem буде сформований новий інтервал часу приходу транзакта і зроблене скидання сумматора. Даний процес буде повторюватися циклічно. Іншими словами роль сумматора складається в затримці виходу транзакта з підсистеми, а час затримки задається підсистемою Subsystem. Блок Memory встановлюється в ланцюгах зворотного зв'язку для того, щоб запобігти в Sіmulіnk невизначеність, називану "Арифметичне зациклення" (Arіthmetіc Loop). Для пояснення даної невизначеності приведемо наступний приклад. Допустимо, необхідно обчислити значення вираження Z = Z + 1. На перший погляд, за допомогою блоків бібліотеки Sіmulіnk "модель" цього вираження можна було б представити в такий спосіб:
Однак, така схема працювати не буде тому що для розрахунку блоку суми й одержання значення на виході необхідно знати значення сигналів на всіх його входах. У цьому прикладі другий вхід блоку суми з'єднаний з його виходом, а, отже, виникає невизначеність у розрахунку блоку і... помилка. Для виключення помилки, у ланцюг зворотного зв'язку поміщають блок Memory, що затримує вхідний у нього сигнал на один такт моделювання. Крім того, цей блок установлює початкове значення на своєму виході в нульовий момент часу моделювання, у результаті чого стає можливим розрахунок блоку суми і моделі в цілому. Нова схема моделі буде тепер виглядати так.
Підсистема Maіntenance Channel (канал обслуговування з приладом) за структурою подібна з генератором транзактов з тією лише різницею, що ця підсистема є керованою. Вона включається в тому випадку якщо в черзі (Queue) є хоч одна заявка і відключається в противному випадку.
Тепер розглянемо основну схему моделі. У початковий момент часу черга порожня (зелений блок). На її виході Empty діє сигнал логічної одиниці, а на виході Full сигнал логічного нуля. Сигнал з виходу Full, проходячи через логічний блок NOT, попадає на другий вхід логічного блоку Logіcal Operator (AND) і цей блок входить у режим повторювача сигналу на своєму першому вході. Це означає, що сигнали (транзакты), що виходять із блоку Transact Generator будуть записуватися в чергу. Перша заявка, що прийшла в чергу, змінить значення сигналу на її виході Empty на логічний нуль, що спричинить за собою включення підсистеми Maіntenance Channel. Обслуживши чергову заявку, прилад видасть на свій вихід одиничний імпульс, що з однієї сторони збільшить значення лічильника обслугованих заявок (Transact Counter), а з іншого боку - виштовхне відпрацьовану заявку з черги (вхід Pop), і, відповідно, із системи. При переповненні черги на виході Full з'являється значення логічної одиниці. Це приведе до "запирання" блоку Logіcal Operator (сигнали, що приходять з генератора транзактов не будуть проходити через нього) і одночасному "відкриттю" блоку Logіcal Operator3 у режимі повторювача. У цьому випадку, усі заявки, що приходять у систему будуть скидатися у відмовлення і збільшувати значення лічильника скинутих заявок Transact Utіl.
ЛАБОРАТОРНЕ ЗАНЯТТЯ № 3
Тема: Дослідження характеристик системи комплексних іспитів за допомогою машинної імітації.
Мета:
одержання і закріплення навичок побудови і використання при дослідженнях імітаційної моделі, реалізованої на базі пакета Sіmulіnk, проведення імітаційних експериментів по оцінці характеристик системи і комплексних іспитів виробів у виробництві.
Теоретичнi вiдомостi.
Короткі зведення про об'єкт моделювання
Розглянемо виробничий процес виготовлення мікро ЕОМ, а точніше рішення приватної задачі, зв'язаної з оцінкою ефективності контролю якості, думаючи, що на підприємстві діє вхідний і вихідний контроль якості й існує держриймання товарних виробів. Структурна схема такого виробництва (мал. 1.):
Рис. 1.
З трьох цехів підприємства, що виготовляють, у складальний цех з визначеною інтенсивністю надходять окремі блоки микроэвм, по одному з кожного. Перед зборкою блоки піддаються вхідному контролеві якості, що виявляє й усуває дефекти по кожнім комплектуючому виробі окремо. Після проведення перевірки якості відбувається зборка ЕОМ за визначений час. Далі готові микроэвм надходять на посаду вихідного контролю якості, де перевіряються параметри ЕОМ у цілому. Останнім етапом контролю є держриймання, що закінчує перевірку готового виробу і дає дозвіл на висновок виробу з технологічного процесу і відправлення микроэвм на склад товарної продукції.
Кожна контрольна посада має свій нагромаджувач (буфер), службовець для згладжування неритмичностей технологічного процесу в цілому. Визначення затримок, внесених у роботу посадами контролю, виробляється шляхом уведення функцій штрафу. Штрафи накладаються на кожну посаду контролю при переповненні його буфера, і разом з тим обчислюється загальна функція штрафу Q за визначений інтервал часу Т.
У загальному випадку процес накладення штрафу є випадковим. Сукупність випадкових величин утворить деяку сукупність чисел {Qі}. Вплив умов виробництва носять випадковий характер. Тому на {Qі} можна дивитися як на сукупність чисел, що представляють собою можливі значення випадкової величини Q.
Природно, що величина Q для кожної реалізації виробничого процесу приймає фіксоване значення, обумовлене конкретно складаються випадковими обставинами. Щоб величина імовірності переповнення буфера, а, отже, і функція штрафу могли бути використані як досить об'єктивну характеристику процесу, необхідно прийняти міри для забезпечення статичної стійкості величини Q. Звичайно для цього як критерії можна застосовувати або середню частку , що обчислюється за даними великої кількості реалізацій виробничого процесу, або саму величину Q, отриману по великому числу вибірок з генеральної послідовності.
Нехай Q* величина, рівна 1, якщо V(t)>=L,
де V(t) - поточний уміст буфера контрольного пристрою;
L - його максимальна ємність.
Значення Q* для і-го посади контролю в і-й момент часу визначаються як
Функція штрафу для і-го посади при М блоках, що пройшли за час Т, має вигляд:
Загальний штраф обчислюється відповідно до вираження
де N - число посад контролю.
Середнє значення функції штрафу по всіх наявних контрольних посадах за час Т дорівнює
У якості вихідних даних для рішення задач моделювання такого процесу також повинний бути заданий інтервал (0,Т), на якому проводяться іспити.
