Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

информатика / MathCad и MatLab / Расчеты и моделирование на ЭВМ

.pdf
Скачиваний:
42
Добавлен:
06.02.2016
Размер:
716.92 Кб
Скачать

Рисунок 38 – Раздел библиотеки Connections

1.Блоки In (Входной порт) и Out (Выходной порт) обеспечивают "линейную" связь между подсистемами модели по информации.

2.Блоки Goto Tag Visibility (Признак видимости), From (принять) и Goto (передать) используются совместно и предназначены для обмена данными между различными компонентами S-модели с учетом доступности (видимости) этих данных.

3.Блоки Data Store Memory (Память данных), Data Store Read (чтение данных) и Data Store Write (Запись данных) также используются совместно и обеспечивают не только передачу данных, но и их хранение на интервале моделирования.

4.Блоки Enable (Разрешить) и Trigger (в данном случае уместен буквальный перевод этого слова – защелка) предназначены для логического управления работой подсистем S-модели.

5.Блок Subsystem (Подсистема) представляет собой "заготовку" для создания подсистемы. Подсистема – это достаточно самостоятельная S-модель более низкого уровня, которая, в свою очередь, может содержать подсистемы произвольного уровня вложенности.

Наряду с перечисленными выше, раздел Connection, содержит еще несколько элементов, которые имеют самостоятельное значение и могут оказаться весьма полезными при создании многих практических приложений.

Блок Мuх – выполняет объединение входных величин в один линейный вектор. При этом входные величины могут быть как скалярными, так и векторными. Размерность результирующего вектора равна суммарному количеству элементов, поступающих на входные порты блока.

Например, если на 1-й вход блока подается матрица размером 2 × 2, содержащая четыре элемента: [[1,4], [6,7]], на 2-й и 3-й входы – константы "2" и "3" соответственно, то выходной вектор будет выглядеть так: [1 4 6 7 2 3] (рисунок 39).

71

Рисунок 39 – Пример использования блока Мuх

Блок Мuх имеет один параметр настройки – Number of inputs (Число входов). Блок Demux (Разделитель) выполняет функции, противоположные функциям блока Мuх: разделяет входной вектор на заданное число компонентов. Данный блок также имеет единственный параметр настройки, который называется Number of outputs (Число выходов). Поскольку соотношение между размерностью входного вектора и числом выходов блока может быть различным, то размерность компонентов выходного вектора разработчику модели необходимо определять заранее самому. При этом

следует учитывать следующие особенности работы блока Demux.

Если размерность входного вектора (М) равна значению параметра Number of outputs, то есть числу выходов блока (N), то на всех выходах блока формируются скалярные величины – входной вектор просто распадается на отдельные элементы.

Если размерность входного вектора превышает число выходов блока (M>N), то на первых (n-1)-м выходах формируются векторы, размерность которых равна целой части отношения M N , а размерность вектора на последнем выходе равна остатку от деления (рисунок 40).

Если М<N то при запуске модели выдается сообщение об ошибке ("несоответствие размерности портов").

Рисунок 40 – Пример использования блока Demux

Блоки Ground (Земля) и Terminator (Ограничитель) могут использоваться в качестве "заглушек" для тех портов, которые по какой-либо причине оказались не подключенными к другим блокам S-модели (например, на этапе отладки модели). Блок Ground используется как "заглушка" для входных портов, а блок Terminator – для выходных. Применение указанных блоков позволяет избежать выдачи интерпретатором MATLAB предупреждения о том, что в S-модели имеются неподключенные порты.

72

Блок IC (Initial Condition – начальное состояние) позволяет устанавливать произвольное начальное состояние входного сигнала. Длительность пребывания системы в этом состоянии равна длительности шага моделирования. Параметром настройки блока является величина Initial Valие (Значение сигнала на момент входа в блок).

Блок Width (Размер) вычисляет размерность сигнала, поступающего на его вход. Вычисленное значение выводится непосредственно на изображении блока. Параметров настройки он не имеет.

Блок Selector (Селектор) выбирает во входном векторе и передает на выход только те элементы, номера которых указаны в параметрах настройки блока. Блок имеет два параметра настройки:

Elements (Элементы) список номеров элементов входного ректора, подлежащих отбору;

Input port width (размерность входною порта) – размерность входного вектора, который может быть "просеян" с помощью данного блока; значение этого параметра обязательно должно совпадать с числом элементов входного вектора.

Если на вход блока подается матрица, то в списке Elements используется сквозная нумерация элементов, причем индекс изменяется построчно.

Например, если на вход блока поступает матрица размером 3 × 4, то ее элементы будут иметь номера с 1-го по 12-й, причем номера 1...3 будут принадлежать элементам первой строки, номера 4...6 – элементам 2-й строки и т. д.

На рисунке 41 показана работа блока Selector, выполняющего "просеивание" входного массива, содержащего две строки (в первой – три элемента, во второй – два). На выход блока, в соответствии с его параметрами настройки (рисунок 42), передаются только два элемента – первый и четвертый.

Рисунок 41 – Пример работы блока Selector

Рисунок 42 – Пример установки параметров блока Selector

Существенным достоинством блока является то, что значения его параметров настройки отображаются в графическом виде на иконке блока.

Блок Merge (Слияние) выполняет объединение поступающих на его входы сигналов в один. Блок имеет два параметра настройки:

Number of inputs (Количество входов), определяющий число входных сигналов, которое может быть подано на входы блока: для корректной работы блока все входные сигналы должны иметь одинаковую размерность (хотя при несоблюдении этого правила сообщение об ошибке не выдается);

Initial output (Инициализация выхода) – задает сигнал, на основе которого должно выполняться объединение; если значение параметра не задано, то на выход блока просто выдастся один из входных сигналов.

3.2.2.4 Дополнительные разделы библиотеки (Blocksets & Toolboxes)

Еще раз отметим, что раздел Blocksets & Toolboxes является единственным разделом, содержимое которого изменяется в зависимости от установленной на вашем компьютере конфигурации пакета МATLAB.

Если из инструментальных средств пакета в рабочую конфигурацию включен только SIMULINK, то данный раздел содержит единственный подраздел – Simulink Extras (Дополнения к Simulink).

Этот подраздел, в свою очередь, разбит на шесть частей:

Additional Sinks (Дополнение к разделу Sinks) – включает дополнительные графические "смотровые окна"; четыре из них обеспечивают визуализацию спектрального анализа сигналов, другие два – отображение корреляционных характеристик сигналов. Для использования двух последних блоков требуется включить в состав конфигурации пакета инструментальные средства обработки сигналов (Signal Processing Toolbox).

Additional Linear (Дополнение к разделу Linear) – блоки, входящие в эту часть библиотеки, предназначены для расчета характеристик линейных систем автоматического управления.

Transformations (Преобразования) содержит блоки, выполняющие

74

различные преобразования числовых величин:

координат – из прямоугольной системы в полярную либо сферическую

иобратно;

температуры – из шкалы Фаренгейта в шкалу Цельсия и обратно;

углов – из градусов в радианы и обратно.

Flip Flop (Триггеры) — содержит блоки, моделирующие работу основных типов триггеров:

D-триггера;

S-R-триггера;

J-K-триггера.

Кроме того, в эту часть библиотеки включен блок Clock (Часы), генерирующий дискретный временной сигнал. Параметром настройки этого блока является величина периода сигнала.

Linearization (Линеаризация) – раздел содержит единственный блок, позволяющий вычислить производную входного сигнала по времени.

3.2.3 Приемы редактирования

Рассмотрим приемы редактирования на примере модели линейной системы (рисунок 43).

Рисунок 43 – Модель линейной системы

75

3.2.3.1 Изменение размера блока

Для изменения размера выделите блок щелчком ЛКМ на его изображении. Например, изменим размер блока Step. При выделении углы блока помечаются квадратиками (рисунок 44).

Рисунок 44 – Выделенный блок Step

Подведите курсор мыши к углу блока. Он изменит свой вид со стрелки на тонкую двунаправленную стрелку (рисунок 45).

Рисунок 45 – Вид курсора мыши при подведении его к границе блока

Нажмите ЛКМ и перемещайте мышь. Блок будет изменять свои размеры. Когда требуемый размер будет достигнут, отпустите ЛКМ. Для выхода из режима редактирования щелкните ЛКМ на пустом пространстве в окне модели.

3.2.3.2 Перемещение блока

Для перемещения блока нажмите ЛКМ на его изображении, и не отпуская ее, перемещайте мышь. Блок будет перемещаться в окне модели. Когда новое положение блока найдено, отпустите ЛКМ. Для выхода из режима редактирования щелкните ЛКМ на пустом пространстве в окне модели.

3.2.3.3 Удаление блока

Для удаления блока отметьте его щелчком ЛКМ и нажмите клавишу Delete на клавиатуре.

76

3.2.3.4 Изменение связи

Для изменения связи отметьте ее одиночным щелчком ЛКМ. Связь будет отмечена кружками. Теперь подведите курсор мыши к связи и нажмите ЛКМ. Курсор мыши изменит свой вид на перекрестие с двунаправленными стрелками (рисунок 46).

Рисунок 46 – Перемещение связи по вертикали

Удерживая ЛКМ нажатой, переместите мышь вниз. Связь также будет перемещаться. Отпустите ЛКМ для фиксации связи в новом положении (рисунок

47).

Рисунок 47 – Измененная связь

Второй способ перемещения связи такой. Пометьте связь щелчком ЛКМ. Подведите курсор мыши к одному из темных кружков. Он изменит свой вид на окружность (рисунок 48).

Рисунок 48 – Перемещение связи по горизонтали

Удерживая ЛКМ нажатой, переместите мышь влево. Связь также будет перемещаться. Отпустите ЛКМ для фиксации связи в новом положении (рисунок 49).

Рисунок 49 – Измененная связь

3.2.4Примеры моделирования систем автоматического регулирования

3.2.4.1 Простейшая модель

Откроем новую модель Simulink, нажав кнопку на панели инструментов MatLab. При этом окно будет выглядеть следующим образом (рисунок 50).

Рисунок 50 – Открытие новой модели Simulink

Откройте библиотеку Sources (Источники), дважды щелкнув на значке с одноименным названием в окне Library: simulink. Подведите курсор мыши к значку Sine wave (генератор синусоидальных колебаний). Нажмите левую клавишу мыши, и, не отпуская ее, перетащите блок в окно новой модели (untitled). Закройте окно библиотеки Sources, нажав кнопку "Закрыть" в правом верхнем углу.

Теперь откройте библиотеку Sinks (Приемники), дважды щелкнув на значке с одноименным названием в окне Library: simulink. Подведите курсор мыши к значку Scope (осциллограф). Нажмите левую клавишу мыши, и, не отпуская ее, перетащите блок в окно новой модели (untitled). Закройте окно библиотеки Sinks, нажав кнопку "Закрыть" в правом верхнем углу.

Перейдите в окно untitled. Подведите курсор мыши к выходу блока Sine wave. Курсор изменит свою форму на крестик (рисунок 51).

Рисунок 51 – Соединение блоков, шаг 1

Нажмите левую клавишу мыши, и не отпуская ее, перемещайте курсор мыши по направлению кол входу блока Scope (рисунок 52).

Рисунок 52 – Соединение блоков, шаг 2

С выхода генератора по направлению ко входу осциллографа начнет тянуться соединительная линия. Подведите эту линию ко входу осциллографа и отпустите. Блоки будут соединены. При этом стрелка показывает направление передачи сигнала (рисунок 53).

Рисунок 53 – Соединение блоков, шаг 3

Произведем моделирование. Для этого нажмем кнопку на панели инструментов. После окончания расчета компьютер выдаст звуковой сигнал в виде щелчка и в нижнем левом углу окна untitled (в строке состояния) появится надпись "Готово". Для просмотра результатов моделирования подведите курсор мыши к осциллографу и дважды щелкните ЛКМ. Откроется окно осциллографа (рисунок 54).

Рисунок 54 – Просмотр результатов расчета на осциллографе

Для того, чтобы сохранить модель, нажмите кнопку на панели инструментов. В появившемся диалоговом окне (рисунок 55) введите имя файла (в приведенном примере это "first"), укажите путь (по умолчанию модель сохраняется в папке "Мои документы") и нажмите кнопку "Сохранить".