Об’єктно-орієнтоване проектування програмних систем. Послідовність розробки програмного продукту на основі об’єктноорієнтованого підходу, страница 2

Технічне завдання на комплекс лабораторних робіт

При виконанні лабораторних робіт група студентів представляє собою колектив програмістів, що повинен реалізувати на основі об’єктно-орієнтованої методології проект програми для моделювання нелінійних неперервних динамічних систем з параметрами визначеними технічним завданням. В якості керівника проекту виступає викладач. 

Технічне завдання на проектування 

Розробити програмний продукт для моделювання нелінійних неперервних динамічних систем, заданих блочно-структурними математичними моделями. 

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

Результатом роботи програми є сформовані в результаті імітаційного моделювання залежності значень виходів окремих блоків системи від модельного часу (перехідні процеси системи). Відповідно до вимог користувача необхідно забезпечити представлення будь-якого з обчислених сигналів (або їх поєднання) в графічному вигляді в окремому вікні та в табличному вигляді в текстовому файлі. 

Інтерфейс програмного продукту – командний рядок з можливістю ведення протоколу роботи з програмою, запису та виконання макропослідовностей (сценаріїв), що мають вигляд текстових файлів. 

Для формування блочно-структурних моделей систем необхідно забезпечити можливість застосування наступних типових блоків:

1. Генераторні блоки

Всі генераторні блоки не мають вхідних сигналів та мають по одному вихідному сигналові y . Настроювані параметри відповідають специфіці алгоритму функціонування кожного окремого типу.

1.1. Генератор ступінчатого сигналу.

Настроювані параметри:

T – час спрацювання, по замовчанню T = 0 с; y0 – значення до спрацювання, по замовчанню y0 = 0; y1 – значення після спрацювання, по замовчанню y1 = 1.

Алгоритм функціонування:

                                                                                  y0,     ï ðè tmod <T

                                                                        y = y ,    ï ðè t      T ,

                                                                                   1                     mod

де tmod – модельний час.

1.2. Генератор гармонічного сигналу Настроювані параметри:

A – амплітуда коливань, по замовчанню  A  = 1; w – частота коливань (рад/с), по замовчанню w = 1; j – зсув фаз (рад), по замовчанню j = 1.

Алгоритм функціонування:

y = A⋅sin(wtmod +j ).

1.3. Генератор лінійно-наростаючого сигналу. Настроювані параметри:

T – час спрацювання, по замовчанню T = 0 с; k – тангенс кута нахилу лінії після спрацювання, по замовчанню k = 1; y0 – значення до спрацювання, по замовчанню y0 = 0. 

Алгоритм функціонування:

y0, ï ðè tmod <T y = k t( −T)+ y0, ï ðè tmod T .

mod

1.3. Генератор постійної величини.

Настроювані параметри: y0 – значення константи, по замовчанню y0 = 0. 

Алгоритм функціонування:

y = y0.

2. Блоки, що реалізують арифметичні та логічні операції

Блоки даної групи призначені для реалізації бінарних арифметичних операцій. В зв’язку з цим всі блоки мають по два вхідних сигнали x1, x2 та по одному вихідному сигналу y

2.1. Суматор – реалізує операції додавання та віднімання.

Настроювані параметри:

s1, s2 – знаки входів (можуть приймати значення -1, +1), по замовчанню

s1 = 1;  s2 = −1.

Алгоритм функціонування:

y = s x1 1 + s x2 2.

2.2. Мультиплікатор

Настроювані параметри відсутні.

Алгоритм функціонування:

y = x x1 2.

2.3. Поділювач

Настроювані параметри відсутні.

Алгоритм функціонування:

y = x1 . x2

4. Динамічні ланки

Блоки даної групи призначені для реалізації динамічних ланок. З теорії автоматичного управління відомо [4], що будь яку модель лінійної динамічної системи можна перетворити до структурного поєднання інтегруючих динамічних ланок, суматорів та підсилювальних ланок. Нелінійності в системах повинні бути реалізовані введенням відповідних блоків (помножувачів та поділювачів). Таким чином, необхідною є реалізація наведених ланок. Крім того, система повинна містити ланку, що реалізує диференціювання вхідного сигналу. Всі блоки даної групи мають по одному вхідному сигналу x та по одному вихідному сигналу y