В. М. Дубовой, М. С. Юхимчук

ІМІТІЦІЙНЕ МОДЕЛЮВАННЯ
В СИСТЕМІ SCILAB/XCOS

Навчальний посібник


5. КОРОТКА ДОВІДКА

 

5.1. Неперервні динамічні системи

 

 

CLINDUMMY_f – блок повинен встановлюватися в будь-якій схемі, яка містить блок з перетином нуля, але не в системі з безперервним станом.
CLR – безперервна передавальна функція. Блок реалізує лінійну систему, представлену раціональною функцією.
Раціональна функція повинна бути належною (ступінь знаменника має бути меншим або рівним ступеню чисельника).
CLSS – безперервна система в просторі станів. Повинні бути задані матриці A, B, C, D і початковий стан x0.
x – це вектор змінних стану, u – вектор вхідних функцій, y – вектор вихідних змінних.
DERIV – блок похідної. Вона обчислюється по вхідному сигналу Δu/Δt
Початковий вихід для блоку – 0.
Цей блок є інтегратором, визначеним за допомогою передатної функції. Вихід є інтегралом входу.
INTEGRAL_m – інтегратор:
y0 – початкова умова, а t0 – відповідний час.
ПІД регулятор
Закон ПІД-регулятора (алгоритм) включає в себе три параметри: коефіцієнти пропорційної складової kp, інтегральної ki та диференціальної kd.
TCLSS – безперервна лінійна система зі стрибком Цей блок реалізує безперервну лінійну систему з можливістю стрибків у стані. Кількість входів до цього блоку два. Перший вхід є звичайним входом лінійної системи, другий – це нове значення стану, яке копіюється в стан, коли «подія» надходить на порт «події» цього блоку. Це означає, що стан системи переходить до значення, присутнього на другому вході. Система визначається матрицями (A, B, C, D) та початковим станом x0. Розміри повинні бути сумісними. Розмір входів та виходів регулюється автоматично.
TIME_DELAY – постійна затримка за часом
На початку моделювання блок виводить параметр Initial input, доки час моделювання перевищить параметр Time delay, тоді блок починає створювати затримку входу.
Параметр «Час затримки» має бути невід'ємним.
Блок Variable Transport Delay може бути використаний для імітації змінної затримки часу між дією та її ефектом.
Величина затримки задається значенням на другому вході.
Цей блок є реалізацією кількох чисельних методів (кінцеві елементи, різниці і об’єми 1 і 2 порядку) розв’язання одновимірних диференціальних рівнянь в частинних похідних (ЧДУ) в Xcos. Математичні рамки обмежують ЧДУ лінійним скаляром, максимальним порядком два (час і простір). Система вибирає найбільш ефективний чисельний спосіб залежно від типу рівняння і управляє рішенням.

 

5.2. Розриви

 

 

BACKLASH–мертвий хід (гістерезис із пропорційними гілками)
DEADBAND- зона нечутливості (забезпечує задану область нульового вихідного сигналу).
Це цілий ряд входів, для яких вихідні дані залишаються незмінними. Назовні цього діапазону є лінійний зв'язок між входом мертвої зони u(k) і виходом мертвої смуги v(k).
Блок може бути використаний для імітації змінного часу затримки між дією та її ефектом. Блок може бути використаний, наприклад, для моделювання системи з трубою, де швидкість перекачування рідини двигуна в трубі змінюється.
Блок приймає два входи і один вихід: перший вхід – це сигнал u(t), що проходить через блок (введення даних); другим входом є змінна затримка часу τ(t).
Гістерезис
RATELIMITER-блок обмежує першу похідну сигналу, що проходить через нього. Сигнал на виході змінюється не швидше за задану межу
QUANT_f – Квантизатор
Цей блок виводить квантування вводу відповідно до вибору методів (типи квантування):

• 1: округлення

• 2: по верхній межі

• 3: по нижній межі

SATURATION –Обмежувач

 

5.3. Дискретні динамічні системи

 

 

Цей блок дає можливість будувати гібридні автомати, тобто гібридні системи, чия дискретна частина визначена способами і переходами між способами, а безперервна частина визначена через диференціальні рівняння алгебри. Блок забезпечує автоматичне перемикання між підсистемами. Підсистеми побудовані таким способом, що вони мають стаціонарний вхідний вектор, і обчислюють плавну і стрибкоподібну функції (перетин нуля) і передають їх назад до блоку автомата.
Стаціонарні змінні визначені в блоці автомата, підсистеми – статичні функції.
Блок Variable Delay може бути використаний для імітації змінної часу затримки між дією та її ефектом.
(Аналогічний блок є у палітрі «Розриви»)
Цей скомпільований суперблок реалізує дискретизовану затримку. Вона побудована з регістром зсуву та годинником. Значення затримки визначається часом дискретизації, помножене на (значення – 1) стану регістру.
Дискретна передавальна функція. Блок реалізує лінійну дискретну систему, представлену раціональною функцією типу 
Ця система моделей та блоків, яка представлена нулями та полюсами дискретної передавальної функції.
Дискретна система в просторі станів. Повинні бути задані матриці A, B, C, D і початковий стан x0
Розміри повинні бути сумісними. Після надходження вхідної «події» на порт «події», стан входу оновлюється.
Цей блок еквівалентний оператору дискретного часу 1/z. Блок приймає один вхід і генерує один вихід, який може бути або скалярним, або вектором. Якщо вхід є вектором, всі елементи вектора затримуються однаково.
Властивості цього блоку можна встановити, використовуючи функції set або uicontrol, і їх значення можна отримати за допомогою get.
Оператор затримки (1/z). Вхідна величина подається на вихід за сигналом активації, а після цього на вході запам'ятовуються нові вхідні величини
Відтворення на виході вхідного сигналу і зчитування нового вхідного по сигналу активації
Кожного разу, коли на блок надходить «подія», блок копіює свій вхід на виході і тримає до наступної «події». Для періодичної вибірки та утримання, вхід «події» повинен бути згенерований годинником.
Цей блок реалізує безперервну лінійну систему з можливістю стрибків у стані. Кількість входів до цього блоку становить два.
(Див. аналогічний блок у палітрі «Неперервні динамічні системи»)
Зсувний регістр
Цей блок реалізує регістр зсуву. На кожній вхідній «події» регістр зміщується на один крок.

5.4. Визначення табличних значень

 

 

2D Інтерполяція
Вихід цього блоку є функцією вхідних даних, отриманих шляхом білінійної інтерполяції. Цей блок має два скалярні входи і один скалярний вихід. X(i) та Y(i) відповідно представляють координати i-тої точки інтерполяції даних, Z(Y(i), X(i)) її значення.
Інтерполяція
(Аналогічно)
Блок заданий таблицею
Цей блок реалізує нелінійну функцію, задану точками за допомогою графічного редактора.

 

5.5. Обробка «подій»

 

 

Годинник активації. Встановлюється крок роботи і час початку роботи
Вихід цього блоку генерує регулярний потік «подій» з параметром Period в секундах. Початкову дату генерації «подій» можна встановити в секундах за допомогою параметра «Час ініціалізації».
Годинник активації. Встановлюється крок роботи і час початку роботи
Різниця між SampleCLK і CLOCK_c полягає в тому, що всі блоки SampleCLK в схемі є синхронними.
Цей блок вважається віртуальним блоком компілятора. Він використовується в SuperBlock (підсистеми) для запуску завжди активних блоків (наприклад, синусоїдального генератора) у SuperBlock і на рівні нижче.
Блок формує «подію» на виході при наявності на вході двох «подій» одночасно
Блок формує +1, якщо «події» прийшли на обидва входи разом і -1, якщо прийшла тільки одна «подія»
Перегляд сигналу активації
Прийом даних від відповідного CLKGOTO (див. нижче)
Цей блок використовується для підключення портів «подій».
(Див. також FROM блок палітри «Маршрутизація сигналів»).
Передача даних до відповідного блоку CLKFROM
CLKGOTO
Цей блок використовується в разі «події». (Див. також GoTagVisibility блок палітри «Маршрутизація сигналів»).
Цей блок представляє вихідний порт активації.
Цей блок підсумовує до трьох «подій». Вихід відтворює вхідні «події». Вхід і вихід синхронні.
Цей блок генерує «подію» на збільшення, зменшення або і те, і інше (див. установку параметрів). Він реагує тільки на скачок, який збігається з «подією». Вихідна «подія» синхронна з «подією», що викликала стрибок.
Цей блок може бути використаний для установки кінцевого часу роботи моделі. При цьому модель буде зупинена за даними цього блоку, а не по установці в Моделювання – Налаштування. Цей параметр може бути числом або змінною в контексті Xcos.
Цей блок збільшує поточний час до остаточного часу моделювання.
Комутація «подій»
Спеціальний блок, подібний до If-Then-Else. Вхідні та вихідні дані синхронізовані. Вхідна «подія» спрямовується до одного з порту вихідних «подій» залежно від значення звичайного вводу.
Затримка «подій»
Одна «подія» створюється затримкою після того, як «подія» входить до унікального порту вхідних «подій». Початкова вихідна «подія» також визначається за допомогою параметрів
Генератор «події». Генерує одну «подію» у встановлений час.
Змінна затримка «події». Після надходження «події» на вхід активації, вона затримується на величину, яка визначається сигналом, що надходять на сигнальний вхід. Блок може також генерувати початкову «подію» на виході.
Екстракція сигналу активації («події») з вхідного сигналу.
Цей блок має один вхідний порт «подій». «Події» моделювання зупиняються і активується головне вікно Xcos. Моделювання можна перезапустити або продовжити (кнопка «Виконати»). Використовується переважно для відлагодження.
Блок синхронізації If-Then-Else, тобто синхронізація за першим чи другим виходом в залежності від виконання або невиконання умови (подібно до блоку ESELECT_f)
Це синхронізований блок, вхідні та вихідні «події» синхронізовані.
Блок створює «події» в певні моменти часу роботи моделі. Періоди задаються в полі «Sample Time», а часові зсуви в полі «Offset». Блок має один вхід, а кількість виходів залежить від кількості заданих моментів часу. Наприклад, якщо вектор часу [1; +1; 2], і вектор зсуву – [0; 0.5; 0], тоді блок має 7 виходів.
Дільник частоти. На виході 1 – «події» з частотою f/n, на виході 2 – з частотою f. Параметр n задається у налаштуваннях.
Множник частоти.
Ділення частоти
Вхід керується годинником «події».

 

5.6. Математичні операції

 

 

Абсолютна величина
Сума або різниця
Користувач може регулювати коефіцієнт для кожного вводу за допомогою параметра:
Косинус
Експонента
Виходом цього блоку є вектор y з , де параметр a є позитивним скаляром і u – вхідним вектором.
Множення на коефіцієнт
Цей блок обчислює добуток квадратної матриці A на вхідний вектор U, де кількість рядків/стовпців A дорівнює кількості рядків U. Матриця A встановлюється параметром Gain.
Аналогічно
Аналогічно
Обернене значення
Цей блок обчислює вихідний вектор 1/y, де у – вхідний вектор. Розмір вводу та виводу визначається контекстом.
Логарифм
Користувач може встановити основу логарифму за допомогою параметра «Основи». За замовчуванням блок обчислює натуральний логарифм. Розмір вхідного та вихідного портів визначається контекстом.
Блок виробляє два типи перетворення.
Блок перетворює комплексне число до модуля і фази в радіанах, в цьому випадку вхід комплексний, а вихід два дійсних числа. Якщо вхід два дійсних числа, то вихід за кутом від 0 до π, а по величині модуля – модуль вхідного числа.
2. Зворотне перетворення
Комплексна композиція/декомпозиція
Цей блок розкладає матрицю комплексних чисел (або окрема число), розділяючи дійсні та уявні частини або складаючи матрицю комплексних чисел, об'єднуючи дві частини.
Блок видає на вихід найбільший або найменший елемент або елементи вхідного вектора. Функцію можна вибрати у параметрах.
Блок видає на вихід найбільший елемент або елементи вхідного вектора
Блок видає на вихід найменший елемент або елементи вхідного вектора
Степінь. Блок реалізує операцію .
Множення або ділення
Цей блок обчислює множення або ділення векторних входів. Кількість входів та операцій вказується за допомогою параметра «Кількість входів» або «Знак вектора».
Розташування входу у чисельнику або знаменнику визначається параметром «кількість входів»:
+1 (множимо) або –1 (ділити) для кожного входу
Множення
Вихід цього блоку є поелементним добутком двох вхідних векторів.
Функція Signum
Вихід блоку є вектором знаків елементів вхідного вектора. Для кожного елемента вхідного вектора елемент вихідного вектора:

• 1, коли елемент більше нуля.

• 0, коли елемент дорівнює нулю.

• –1, коли елемент менше нуля.

Синус
Квадратний корінь
Він підтримує комплексний типи даних
Блок виконує підсумовування або віднімання вхідних сигналів. Цей блок може підсумовувати або віднімати скаляр, вектор, або матриці. Число входів задається параметром Datatype. Цей параметр може бути вектор, що складається з плюс і мінус одиниць, або це може бути додатна величина (скаляр). У першому випадку кількість одиниць вказує число входів, а знаки вказують, чи є це підсумовуванням або відніманням. У другому випадку це блок підсумовування і величина вказує число входів.
Додавання
Блок виконує додавання трьох його входів. Цей блок може додати скалярні або векторні входи.
Властивості цього блоку можна встановити, використовуючи функції set або uicontrol, і їх значення можна отримати за допомогою get.
Тангенс
Тригонометрична функція
Тригонометричний функціональний блок виконує численні загальні тригонометричні функції.
Операція порівняння за величиною

 

5.7. Операції над матрицями

 

 

Кумулятивна сума
Блок CUMSUM накопичувально підсумовує елементи вхідної матриці U розміром M × N по рядках, стовпцях або до першого не-одиночного вимірювання. Розмір виходу також M × N.
Екстракція матриці
Блок ЕКСТРАКТ витягує деякі елементи з вхідної матриці. Розмір виводу залежить від кількості рядків і кількості стовпців для екстракції.
Елементи параметрів Lines to extract і Columns to extract визначають відповідно індекси рядків і стовпців, які потрібно видобути. Написання цих параметрів відповідає правилам вилучення (див. Витяг), зокрема ви можете вказати ряд індексів з оператором діапазону
Трикутна або діагональна екстракція
Залежно від параметра у вихідну матрицю копіюются елементи, що лежать вище, нижче або на головній діагоналі. Розмір вихідної матриці такий самий, як і вхідної матриці.
Ліве матричне ділення
Це розв’язання рівняння (A * x = B). Вищий вхід – це матриця A, нижній – матриця B, а вихід – x. Якщо А є матрицею M × N1, то B повинна бути матрицею M × N2, де N1 та N2 можуть бути різними або однаковими. Вихід x є матрицею N1 × N2.
Горизонтальна конкатенація (горизонтальне об’єднання). Це також називається конкатенацією відповідно до колонок.
Входи U1, U2, ..., Un повинні мати однакову кількість рядків M. Користувач повинен встановити кількість вхідних матриць у параметрі «Кількість вхідних даних». Результат буде мати розмірність M×(N1+N2+…+Nn)
Блок MATCATV виводить вертикальне об'єднання декількох матриць. Це також називається конкатенацією відповідно до рядків.
Входи U1, U2, ..., Un повинні мати однакову кількість стовпчиків N. Користувач повинен встановити кількість вхідних матриць у параметрі «Кількість вхідних даних». Результат буде мати розмірність (M1+M2+…+Mn) ×N
Детермінант матриці
Створення діагональної матриці
Блок MATDIAG створює діагональну матрицю з вектора. Якщо вхід є вектором M × 1, то вихід – матриця M × M.
Праве матричне ділення
Це розв’язок рівняння (x * B = A). Вищий вхід – це матриця A, нижня – матриця B, а вихід – x.
Власна матриця
Блок MATEIG обчислює власні значення та власні вектори квадратної вхідної матриці U. Коли тип розпаду встановлюється на:

• 1, блок виводить власне значення в векторній формі, якщо вхід є матрицею M × M, вихід є вектором M × 1.

• 2, блок виводить дві матриці. Для матриці вводу M × M перший вихід є діагональною матрицею M × M, складовою власними значеннями, а друга – матрицею M × M, де стовпці є власними векторами.

Експоненціальна матриця
MATEXPM виводить експоненціальну матрицю квадратної вхідної матриці, обчислених апроксимацією Паде. Вихід являє собою квадратну матрицю з однаковим розміром входу.
Обернення матриці
Блок MATINV виводить обернену квадратну вхідну матрицю, яка розраховується за допомогою факторизації LU. Попередження виводиться, якщо вхід погано масштабується або майже однозначний.
Факторизація
Блок MATLU виводить дві матриці L і U, з поворотом рядків, з LU факторизацією квадратної вхідної матриці.
Якщо A є вхідною матрицею, то:
E * A = L * U, де E – матриця перестановки, U – верхня трикутна матриця, L – нижня трикутна матриця.
Блок виконує два типи перетворення.
1.   Блок перетворює елементи матриці комплексних число на модуль і кут у радіанах, у цьому випадку вхід комплексний, а вихід – два реальних числа.
2. Зворотне перетворення
Матричне множення
Псевдообернення матриці (див. документацію)
Блок змінює розмірність матриці або вектора на задану в полі “output size desired”. Вихідна розмірність може бути менше або дорівнює вхідний.
Блок MATSING розкладає матрицю A(M × N) на три матриці U, S та V такі, що
A = U * S * V '.
Сума елементів матриці
Блок MATSUM повертає суму елементів вхідної матриці / вектора.
Коли параметр суми встановлено на:

• 0 (все) блок виводить суму всіх елементів матриці. Вихід є скаляром.

• 1 (рядки) блок – рядова сума. Вихід – це вектор рядка.

• 2 (Стовпці) блок – це стовпчаста сума. Вивід – векторний стовпець.

Транспонування матриці
Заміняє комплексні елементи матриці на спряжені
Комплексна декомпозиція
Цей блок розкладає матрицю комплексних чисел, розділяючи дійсні та уявні частини або складаючи матрицю комплексних чисел, об'єднуючи дві частини.
Розв’язання рівняння Ріккаті
Цей блок обчислює розв'язок рівняння Ріккаті за допомогою різних методів і для безперервного та дискретного випадку. (Див. документацію)
Обчислення поліноміальних коефіцієнтів
Цей блок вираховує коефіцієнти полінома з заданими його кореневими значеннями. Ці корені подаються на вхід у вигляді вектора-стовпця. Довжина вектора кореня повинна бути вказана в параметрі розміру рядка вхідних даних.
Квадратний корінь кожного елемента матриці
SUBMAT – підматриця
Цей блок виводить підматрицю вхідної матриці. Розміри вхідної матриці вказані в параметрах вводу. Користувач задає діапазон з чотирма параметрами:

• Параметри Starting Row Indicator та Ending Row Index визначають діапазон рядків, які слід видобути.

• Параметри Starting Column Index та Ending ColumnIndex визначають діапазон стовпців, який потрібно видобути.

 

5.8. Електрика

 

 

Кероване джерело струму
Цей блок є ідеальним джерелом струму. Поточне значення контролюється через вхід блоку. Напруга в блоці не залежить від поточного значення.
Керований генератор напруги
Цей блок є ідеальним джерелом напруги. Значення напруги регулюється через вхід. Потік, що проходить через блок, не залежить від напруги на блочних клеммах.
Електричний конденсатор
Джерело постійної напруги
Вихідна напруга цього джерела напруги постійного струму визначається користувачем. Чорний порт вказує на додатний полюс. Омічний опір цього джерела напруги дорівнює нулю.
Амперметр
Напрямок від чорного до білого порту вважається позитивним. Опір цього блоку дорівнює нулю.
Діод
Заземлення (точка нульового потенціалу)
Кожна електрична схема повинна містити принаймні один заземлений елемент.
Фазообертач (Гіратор)
Ідеальний трансформатор
Індуктор електричний (котушка індуктивності)
Транзистор
Модель NMOS є простою моделлю n-канального металево­оксидного напівпровідникового FET.
Транзистор n-p-n
Операційний підсилювач
Транзистор
Модель PMOS є простою моделлю p-channel металооксидного напівпровідникового FET.
Транзистор p-n-p
Ця модель являє собою просту модель транзистора біполярного транзистора PNP.
Потенціалоскоп
Цей блок використовується для вимірювання напруги відносно опорної напруги (земляний блок) у електричному ланцюгу.
Резистор
Джерело синусоїдальної напруги
Неідеальний електричний ключ
Якщо вхід стає позитивним, два входи з'єднані через резистор опору RON. В іншому випадку два входи з'єднані через опір ROFF.
Регульоване джерело змінної напруги
Джерело регульованої напруги змінного струму. Амплітуда вихідної напруги регулюється входом даних, а частота визначається користувачем. Опір блоку дорівнює нулю.
Електричний змінний резистор
Опір (Rx) керується через вхідний порт.
Вольтметр
Цей компонент використовується для вимірювання напруги між двома вузлами в електричній схемі.
Електричне джерело змінної напруги
Амплітуда та частота вихідної напруги встановлюються користувачем. Опір цього блоку дорівнює нулю.

 

5.9. Ціле

 

 

Очистка бітів
Цей блок задає значення 0 вказаного біта його вводу.
Користувач дає індекс біта в поле Index of Bit
Установка бітів
Цей блок задає значення 1 вказаного біта його вводу. Користувач дає індекс біта в поле Index of Bit
Перетворення типу даних
Цей блок перетворює вхідний сигнал реального подвійного чи цілого типу даних у ціле чи дійсне подвійне тип даних.
Тригер
Цей блок виводить на Q його вхідний стан (D), коли ввімкнення входу (en) встановлено та на зростаючому фронті вхідного сигналу годинника (clk). Вихід !Q є інверсією Q. Цей тригер також відомий як затримка тригера, оскільки стан виходів змінюється лише на наступному зростаючому фронті годинника.
Блокований тригер
Цей блок копіює свій стан вводу (D) на виході (Q), коли вхідний вхід (C) є високим, і в цій конфігурації він виглядає як прозорий. Вихід !Q є інверсією Q.
Блок виводить набір суміжних бітів вхідного числа. (див. документацію)
Матричне множення цілого
Цей блок обчислює матричне множення двох матриць цілих чисел. Кількість рядків другої матриці повинна дорівнювати кількості стовпців першої матриці.
JK тригер
Тригер JK є найрізноманітнішим з основних тригерів. Він має два входи, традиційно позначені як J (Set) та K (Reset). Зміна стану відбувається за синхросигналом
Блок комбінованої логіки
Цей блок реалізує стандартну таблицю істинності для моделювання цифрової схеми та інших логічних операцій.
Зсувний регістр
Цей блок змінює біти вхідного сигналу. У цій операції цифри рухаються вправо або вліво. Користувач може вибрати правило, яке змінює біти Кількість та напрямок зсувів встановлюються з кількістю бітів для переміщення вліво. Якщо цей номер позитивний, вхід зміщений уліво, інакше його буде зміщено вправо.
RS тригер. Вихід Q залежить від стану входів S і R. Вихід !Q – інверсія Q.
R=S=0 – вихід не змінюється
R=S=1 – недозволений стан
Логічна операція (установка виду операції в параметрах)
Блок логічного оператора виконує вказану логічну операцію на його входах.

 

 

5.10. Порт і підсистема

 

Вхідний порт активації. Він повинен використовуватися тільки усередині суперблоків Xcos як вхідний порт активації. Якщо цих входів кілька, вони нумеруються підряд, починаючи з одиниці.
Вихідний порт активації
Його слід використовувати лише усередині суперблоків Xcos та бути підключеним до джерела активації
Вхідний порт
Він повинен використовуватися лише усередині суперблоків Xcos.
Вхідний порт, вхід в систему зовні
Цей блок представляє неявний вхідний порт. Він повинен використовуватися лише усередині суперблоків Xcos. Використовується в разом з моделями електричних, гідравлічних та подібних блоків
Вихідний порт зовнішній
Він повинен використовуватися лише усередині суперблоків Xcos. Використовується в разом з моделями електричних, гідравлічних та подібних блоків
Вихідний порт
Його слід використовувати лише усередині суперблоків Xcos.
Створення суперблоку
Цей блок відкриває нове вікно Xcos для редагування нової блок-схеми. Ця діаграма описує внутрішні функції суперблоку.

 

 

5.11. Визначення переходів через нуль

 

Блок видає серію сигналів активації
Поріг перетину нуля від мінуса до плюса
Вихідна подія генерується, коли вхід перетинає нуль з позитивним нахилом.
Поріг перетину нуля від плюса до мінуса
Вихідна подія генерується, коли вхід перетинає нуль з негативним нахилом.
Виявлення перетину нуля
Вихідна «подія» генерується, коли всі входи (якщо їх більше ніж один) перетинають нуль одночасно у будь-якому напрямі.

 

 

5.12. Маршрутизація сигналів

 

Демультиплексор
Вхідний вектор цей блок розбиває на кілька векторних виходів. Кількість виходів задається параметром. Розмір вхідного та вихідного порту визначається контекстом.
Аналогічно
Виділяє один сигнал з векторного вхідного сигналу
Перетворення скаляра в вектор
Прийом даних від відповідного GOTO
Основна роль блоків GOTO/FROM полягає в передачі сигналів від блоку до іншого блоку без фізичного підключення. Використовується для спрощення великих моделей
Прийом даних від відповідного GOTOMO
Використовується для спрощення великих моделей електричних, гідравлічних та інших подібних систем
Передача даних блоку FROM
Основна роль блоків GOTO/FROM полягає в передачі сигналів від блоку до іншого блоку без фізичного підключення. Використовується для спрощення великих моделей
Передача даних блоку FROMMO
Використовується для спрощення великих моделей електричних, гідравлічних та інших подібних систем
Прийом даних від відповідного CLKGOTO
Використовується для з’єднання блоків «подій»
В параметрах задається «область видимості»
Передача даних відповідному блоку CLKFROM
Використовується для з’єднання блоків «подій»
Визначають область видимості етикетки CLKGOTO
Цей блок визначає доступність блоку GOTO, коли він налаштований як «обладнаний». Блок FROM, що відповідає цьому GOTO, повинен знаходитись в тій же підсистемі GotoTagVISibility або в підсистемах, що знаходяться нижче, в ієрархії моделі.
Цей блок використовується у випадку з'єднання з системою Modelica
Вибирає і передає на вихід значення вхідного сигналу. Перший вхід «подій» керує першим виходом, другий – другим виходом.
Мультиплексор
Цей блок об'єднує входи в єдиний вихідний вектор. Розмір вхідного та вихідного порту визначається контекстом.
Мультиплексор
Цей блок об'єднує входи в єдиний вихідний вектор. Розмір вхідного та вихідного порту визначається контекстом.
Блок пропускає сигнал через перший (верхній) вхід або через третій (нижній), в залежності від величини сигналу на середньому (другому) керуючому вході. Можна вибрати критерій (поріг) підключення до першого входу.
Аналогічно
Злиття даних
Блок об'єднує свої входи в єдину лінію виходу, значення якого в будь-який момент часу дорівнює значенню входу, який надійшов останнім
Реле
Цей блок спрямовує один з регулярних входів на унікальний регулярний вихід. Вибір того, який вхід повинен бути, спочатку виконується за допомогою параметра «початковий під'єднаний вхід». Потім, кожного разу, коли вхідний потік надходить до i-го порту «події» вводу, i-й черговий вхідний порт перенаправляється до звичайного виходу.
Блок приймає векторні або матричні сигнали і передає на вихід той, номер якого дорівнює номеру входу «події», яка надійшла.
Блок ручного перемикання. В параметрах задається кількістю положень перемикача, і в якому становищі перемикач знаходиться.
Це блок автоматичного перемикача. Двічі клацніть по ньому, щоб переключити його стан (вкл / викл).

 

 

5.13. Обробка сигналів

 

Квантизатор
Цей блок виводить квантування вводу відповідно до вибору методів (типи квантування):

• 1: округлення

• 2: по верхній границі кванта

• 3:по нижній границі кванта

Дискретизація
Відтворення на виході вхідного сигналу і зчитування нового вхідного по сигналу активації

 

 

5.14. Неявний

 

Визначення неявних алгебраїчних виразів
C-макроси доступні шляхом включення С-файлу
Обчислення похідної

 

 

5.15. Примітки

 

Текстовий блок
Цей спеціальний блок використовується лише для додавання тексту в будь-яку точку діаграми.

 

 

5.16. Пристрої реєстрації

 

Дисплей
Цей блок відображає цифрове значення входу під час моделювання.
Цей блок будує вектор від початку координат до точки, яка визначається двома входами. При надходженні нових даних попередній вектор зникає.
Використовується для анімації
Блок будує точку y(x), де x і y – входи. При надходженні нових даних попередня точка зникає.
Використовується для анімації
Будує точку в 3D координатах
Осцилограф з плаваючою точкою підключення. Показує дані, що виводяться у блок Trash. Може в одних осях показувати графки декількох вихідних потоків.
Output window number – номер графічного вікна, використовуваного для показу. Його потрібно ставити великим, щоб не переплутати з іншими вікнами.
Вихідний порт активації
Цей блок представляє вихідний порт активації. Його слід використовувати лише в Xcos Super Blockand підключатися до виходу активації на внутрішній вивід активації в підсистемі.
Матричний 3D осцилограф
CMAT3D – це область, яка показує значення матриць у вигляді z-значень в сітці xy.
Матричний осцилограф з кольоровим зображенням
CMATVIEW – це область, яка показує значення матриці в кольоровій сітці.
Багатовіконний дисплей
Блок виводить декілька графіків в окремих осях
Простий осцилограф
Відображає залежність y(x). Змінні х і у подаються на два входи. Зокрема при сінусоїдальних вхідних сигналах будуються фігури Лісажу
Відображає залежність y = f(x). Змінні х і у подаються на три входи
Цей блок реалізує візуалізацію еволюції трьох правильних вхідних сигналів, малюючи третій вхід як функцію двох інших в моменти «подій» на вхідному порту «події». Коли точка відображається на екрані, вона залишається до завершення імітації.
Цей блок може бути використаний для встановлення кінцевого часу моделювання (аналогічно до встановлення часу моделювання у меню «Налаштування».
Цей параметр може мати числове значення або символьну змінну, визначену в контексті Xcos.
Цей блок збільшує поточний час до остаточного часу інтеграції симуляції, коли він активований.
Після прибуття «події» симуляція зупиняється і активується головне вікно Xcos. Моделювання можна перезапустити або продовжити (кнопка «Виконати»).
Цей блок представляє собою регулярний неявний порт. Він повинен використовуватися лише в Xcos Super Block і бути підключеним до неявного виводу внутрішнього неявного виводу в підсистем.
Вихідний порт
Цей блок представляє собою звичайний вихідний порт. Його слід використовувати лише в Xcos Super Block та підключатися до звичайного виходу в підсистему.
Цей блок використовується для додавання імітаційних даних в робочу область Scilab.
Цей блок є кінцевим блоком, в якому накопичуються дані
Запис звукового файлу AU
Цей блок записує звуковий файл, заданий файлом string*.au. Дані повинні бути організовані одним каналом для кожного стовпця. Значення амплітуди за межами діапазону [-1, + 1] обрізаються перед написанням.
Запис двійкових даних
Цей блок дозволяє користувачеві записувати дані у бінарному файлі C з ім'ям, визначеним ім'ям вихідного файла рядка. Файл являє собою послідовність записів.

 

 

5.17. Джерела сигналів

 

Вхідний порт активації. Він повинен використовуватися тільки всередині суперблоків Xcos. Якщо цих входів кілька, вони нумеруються підряд, починаючи з одиниці
Годинник активації
Генерує регулярний потік «подій» з параметром Period в секундах. Початковий час генерації «подій» можна встановити в секундах за допомогою параметра «Час ініціалізації».
Константа
Формує табульовану функцію часу. Функція задається вбудованим графічним редактором. Між точками використовується лінійна інтерполяція.
Лічильник. Встановлюється максимальна величина рахування і спосіб рахування: на збільшення або на зменшення.
Передача даних з робочого простору Scilab в Xcos
Дані повинні мати поля «час» та «значення».
Генератор синусоїдального сигналу

 Ви можете налаштувати:

• Величину амплітуди задають параметром Magnitude.

• частоту F в радіан/с задають параметром Frequency.

• початкову фазу P в радіанах.

Генератор прямокутних. Необхідна дискретна активація. Блок CLOCK_c для цього не підходить.
Вхідний порт, вхід в систему зовні (за замовчуванням)
Він повинен використовуватися лише в Xcos Super Block та бути підключеним до неявного входу в підсистемі.
Вхідний порт. Він повинен використовуватися тільки усередині суперблоков Xcos в якості вхідного порту активації. Якщо цих входів кілька, вони нумеруються підряд, починаючи з одиниці.
Лічильник по модулю. Параметр – величина модуля
Це дискретний блок. Блок виводить періодичний скалярний кусочно-постійний сигнал. Сигнал починається з значення Initial State. Вихід збільшується, коли блок отримує «події» на вхід активації, доки вихід не досягне значення параметра верхнього межі. У цей момент стан змінюється на 0. Виходом є квантований пилоподібний сигнал.
Блок видає сигнал у встановлений час, величина і швидкість наростання якого задаються.
Генератор рівномірно розподілених випадкових чисел в діапазоні 0 ... 1
Зчитування звукових файлів AU
Завантажує звуковий файл, вказаний файлом string*.au, що повертає вибіркові дані у y. Додано розширення .au, якщо не вказано розширення. Значення амплітуди знаходяться в діапазоні [-1, + 1]. auread підтримує багатоканальні дані у наступних форматах:

• 8-бітний му-закон

• 8-, 16- та 32-розрядні лінійні

• Плаваюча точка

Зчитування двійкових даних
Цей блок дозволяє користувачеві читати дані в файлі C. Вибір запису часу дозволяє користувачеві вибирати дані між записами файлів. Кожен виклик до блоку запускає один запис у файлі.
Зчитування з файлу
Цей блок дозволяє користувачеві читати дані у файлі з ім'ям, визначеним параметром Input File Name, у текстовому форматі або в бінарному режимі.
Генератор пилкоподібного сигналу в діапазоні 0...1.
Генератор ступінчастого сигналу
Імпульсний генератор. Він генерує імпульс зі скважністю 1/P, де P – період сигналу.
Другий параметр блоку дає ширину імпульсу, а четвертий параметр дає амплітуду імпульсу.
Годинник активації
Різниця між SampleCLK і CLOCK_c полягає в тому, що всі блоки SampleCLK в схемі є синхронними.
Блок Builder сигналу – це суперблок, що містить блок, порт вихідної «події» якого підключений до порту «події» вхідних даних.
Час. Установок немає. Лінійно наростаючий сигнал. Крутизна дорівнює одиниці.
Блок видає постійний сигнал, величина якого може бути змінена в установленому діапазоні безпосередньо під час роботи моделі за допомогою повзункового регулятора з урахуванням фактора нормалізації (для збільшення точності).

 

 

5.18. Термогідравлічні блоки

 

Бейч-блок представляє собою резервуар. Цей блок має два впускні отвори і два випускних, висоту яких може змінити користувач.
Для вхідних портів (чорних портів) напрям потоку є позитивним, коли рідина входить в резервуар. Для вихідних портів (білих портів) напрямок потоку позитивний, коли рідина витікає з резервуара.
Користувач може встановити площу поверхні резервуара, початкову температуру та початковий рівень рідини в резервуарі. Якщо вхідний або вихідний порт залишився невикористовуваним, він повинен бути заблокований блоком зупинки.
Труба (гідравлічний опір)
Цей компонент являє собою тиску прямо пропорційні витраті. Традиційно напрям потоку є позитивним, коли рідина тече від чорного порту до білого порту.
Термогідравлічний витік
Цей термогідравлічний компонент являє собою термічно-гідравлічний конденсатор (свердловину). Цей блок визначений з його тиском і температурою.
Цей термогідравлічний компонент являє собою термічно-гідравлічне живлення постійного тиску. Цей блок вказаний з вихідним тиском і температурою. Традиційно напрям потоку є позитивним, коли рідина витікає з блоку.
Блок VanneReglante являє собою регульований клапан з отвором. Швидкість потоку через клапан пропорційна відкриттю клапану.
Цей компонент використовується для вимірювання об'ємної витрати.

 

 

5.19. Функції визначені користувачем

 

Примітка: коректнішою назвою палітри було б «Засоби визначення функцій користувачем»

 

Цей блок створює каркас функції C-обчислень. Він також створює бібліотечні файли та об'єктні файли.
Цей блок створює каркас функції C-обчислень. Він також створює бібліотечні файли та об'єктні файли.
Використовується для налагодження сценарію Scilab. Після виклику debug () ви входите в режим налагодження. Цей режим дозволяє управляти точками зупинки, запускати виконання з stop on error, виконувати сценарій крок за кроком.
Блок Expression застосовує вказані вирази Scilab до його вводу.
Блок «MBlock» забезпечує простий спосіб побудови блоку xcos, поведінка якого визначається програмою Modelica. Використовуючи цей блок, користувач зможе писати та збирати програми Modelica в xcos без створення будь-якої функції інтерфейсу.
Цей блок являє собою реалізацію кількох числових схем (кінцевих елементів (1-го та 2-го порядку, кінцевих приростів 1-го та 2-го порядку, кінцевих розрізів 1-го порядку) для вирішення диференціального рівняння у Xcos.
Цей блок відкриває нове вікно Xcos для редагування нової блок-схеми. Ця діаграма описує внутрішні функції суперблоку.
Входи і виходи суперблоку (звичайний або «подія») позначаються спеціальними блоками (вхідними або вихідними портами).
Цей блок створює каркас функції C обчислень. Також створює файли бібліотеки та об'єктні файли.
Цей блок створює скелет функції обчислень FORTRAN. Також створює файли бібліотеки та об'єктні файли.
Блок забезпечує загальну функцію інтерфейсу, однак обчислювальна функція повинна бути визначена окремо, як функція Scilab, Fortran або C.
Цей блок може реалізувати будь-який тип блоку Xcos. Функція блоку визначається інтерактивно за допомогою діалогових вікон та на мові Scilab.