Главная страница

И.В.Черных. Simulink. И. В. Черных. "Simulink Инструмент моделирования динамических систем"


Скачать 3.7 Mb.
НазваниеИ. В. Черных. "Simulink Инструмент моделирования динамических систем"
Дата21.09.2022
Размер3.7 Mb.
Формат файлаdoc
Имя файлаИ.В.Черных. Simulink.doc
ТипДокументы
#689048
страница8 из 26
1   ...   4   5   6   7   8   9   10   11   ...   26
[Скачать пример]

9.5.3. Релейный блок Relay

Назначение:

Реализует релейную нелинейность.

Параметры:

Switch on point - Порог включения. Значение, при котором происходит включение реле.

Switch off point - Порог выключения. Значение, при котором происходит выключение реле.

Output when on - Величина выходного сигнала во включенном состоянии.

Output when off - Величина выходного сигнала в выключенном состоянии.

Выходной сигнал блока может принимать два значения. Одно из них соответствует включенному состоянию реле, второе - выключенному. Переход их одного состояния в другое происходит скачком при достижении входным сигналом порога включения или выключения реле. В том случае если пороги включения и выключения реле имеют разные значения, то блок реализует релейную характеристику с гистерезисом. При этом значение порога включения должно быть больше, чем значение порога выключения.

На рис. 9.5.3 показан пример использования блока Relay. На временных диаграммах видно, что включение реле происходит при достижении входным сигналом величины 0.5, а выключение при - 0.5.



Рис. 9.5.3. Пример использования блока Relay

[Скачать пример]

9.5.4. Блок ограничения скорости изменения сигнала Rate Limiter

Назначение:

Блок обеспечивает ограничение скорости изменения сигнала (первой производной).

Параметры:

Rising slew rate - Уровень ограничения скорости при увеличении сигнала.

Falling slew rate - Уровень ограничения скорости при уменьшении сигнала.

Вычисление производной сигнала выполняется по выражению:

,

где u(i) - значение входного сигнала на текущем шаге,
t(i) - значение модельного времени на текущем шаге,
y(i-1) - значение выходного сигнала на предыдущем шаге,
t(i-1) - значение модельного времени на предыдущем шаге.

Вычисленное значение производной сравнивается со значениями уровней ограничения скорости Rising slew rate и Falling slew rate. Если значение производной больше, чем значение параметра Rising slew rate, то выходной сигнал блока вычисляется по выражению:

,

где R - уровень ограничения скорости при увеличении сигнала.

Если значение производной меньше, чем значение параметра Falling slew rate, то выходной сигнал блока вычисляется по выражению:

,

где F - уровень ограничения скорости при уменьшении сигнала.

Если значение производной лежит в пределах между нижним и верхним уровнями ограничения, то выходной сигнал блока равен входному:

.

На рис. 9.5.4 показан пример использования блока Rate Limiter, при подаче на его вход прямоугольного периодического сигнала.



Рис. 9.5.4. Пример использования блока Rate Limiter

[Скачать пример]

9.5.5. Блок квантования по уровню Quantizer

Назначение:

Блок обеспечивает квантование входного сигнала с одинаковым шагом по уровню.

Параметры:

Quantization interval - шаг квантования по уровню.

На рис. 9.5.5 показан пример использования блока Quantizer, выполняющего квантование по уровню синусоидального сигнала. Шаг квантования задан равным 0.5.



Рис. 9.5.5. Пример использования блока Quantizer

[Скачать пример]

9.5.6. Блок сухого и вязкого трения Coulomb and Viscous Friction

Назначение:

Моделирует эффекты сухого и вязкого трения.

Параметры:

Coulomb friction value (Offset)– Величина сухого трения.

Coefficient of viscous friction (Gain) – Коэффициент вязкого трения.

Блок реализует нелинейную характеристику, соответствующую выражению:

,

где u – входной сигнал,
y – выходной сигнал,
Gain – коэффициент вязкого трения ,
Offset – Величина сухого трения.

На рис. 9.5.6 показан пример использования блока Coulomb and Viscous Friction. Оба параметра блока заданы равными 1.



Рис. 9.5.6. Пример использования блока Coulomb and Viscous Friction

[Скачать пример]

9.5.7. Блок люфта Backlash

Назначение:

Моделирует нелинейность типа “люфт”.

Параметры:

Deaband width – Ширина люфта.

Initial output – Начальное значение выходного сигнала.

Сигнал на выходе будет равен заданному значению Initial output, пока входной сигнал при возрастании не достигнет значения (Deaband width)/2 (где U – входной сигнал), после чего выходной сигнал будет равен U-(Deaband width)/2. После того как, произойдет смена направления изменения входного сигнала, он будет оставаться неизменным, пока входной сигнал не изменится на величину (Deaband width)/2, после чего выходной сигнал будет равен U+(Deaband width)/2.

На рис. 9.5.7 показан пример работы блока Backlash. Входной сигнал блока гармонический с линейно возрастающей амплитудой.



Рис. 9.5.7. Пример использования блока Backlash

[Скачать пример]

9.5.8. Блок переключателя Switch

Назначение:

Выполняет переключение входных сигналов по сигналу управления.

Параметры:

Threshold – Порог управляющего сигнала.

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

На рис. 9.5.8 показан пример работы блока Switch. В том случае, когда сигнал на управляющем входе ключа равен 1, на выход блока проходит гармонический сигнал, если же управляющий сигнал равен нулю, то на выход проходит сигнал нулевого уровня от блока Ground. Пороговое значение управляющего сигнала задано равным 0.5.



Рис. 9.5.8. Применение переключателя Switch

[Скачать пример]

9.5.9. Блок многовходового переключателя Multiport Switch

Назначение:

Выполняет переключение входных сигналов по сигналу управления, задающему номер активного входного порта.

Параметры:

Number of inputs – Количество входов.

Блок многовходового переключателя Multiport Switch, пропускает на выход сигнал с того входного порта, номер которого равен текущему значению управляющего сигнала. Если управляющий сигнал не является сигналом целого типа, то блок Multiport Switch производит отбрасывание дробной части числа, при этом в командном окне Matlab появляется предупреждающее сообщение.

На рис. 9.5.9 показан пример работы блока Multiport Switch. Управляющий сигнал переключателя имеет три уровня и формируется с помощью блоков Constant, Step, Step1 и Sum. На выход блока Multiport Switch, в зависимости от уровня входного сигнала, проходят гармонические сигналы, имеющие разные частоты.



Рис. 9.5.9. Применение переключателя Multiport Switch.

[Скачать пример]

Количество входов блока Multiport Switch можно задать равным 1. В этом случае на вход блока необходимо подать векторный сигнал, а сам блок будет пропускать на выход тот элемент вектора, номер которого совпадает с уровнем управляющего сигнала.

На рис. 9.5.10 показан пример использования блока Multiport Switch при векторном сигнале. Временные диаграммы работы для данного примера совпадают с рассмотренными в предыдущем примере.



Рис. 9.5.10. Применение переключателя Multiport Switch при векторном входном сигнале.

[Скачать пример]

9.5.10. Блок ручного переключателя Manual Switch

Назначение:

Выполняет переключение входных сигналов по команде пользователя.

Параметры:

Нет.

Командой на переключение является двойной щелчок левой клавишей “мыши” на изображении блока. При этом изображение блока изменяется, показывая, какой входной сигнал в данный момент проходит на выход блока. Переключение блока можно выполнять как до начала моделирования, так и в процессе расчета.

На рис. 9.5.11 показан пример использования блока Manual Switch.



Рис. 9.5.11. Пример использования блока Manual Switch.

9.6. Math – блоки математических операций

9.6.1. Блок вычисления модуля Abs

Назначение:

Выполняет вычисление абсолютного значения величины сигнала.

Параметры:

Saturate on integer overflow (флажок) – Подавлять переполнение целого. При установленном флажке ограничение сигналов целого типа выполняется корректно.

Пример использования блока Abs, вычисляющего модуль текущего значения синусоидального сигнала, показан на рис. 9.6.1.



Рис. 9.6.1. Пример использования блока Abs

[Скачать пример]

Блок Abs может использоваться также для вычисления модуля сигнала комплексного типа. На рис. 9.6.2 показан пример вычисления модуля комплексного сигнала вида:

.

Модуль этого сигнала (как и следовало ожидать) равен 1 для любого момента времени.



Рис. 9.6.2. Пример использования блока Abs для вычисления модуля комплексного сигнала

[Скачать пример]

9.6.2. Блок вычисления суммы Sum

Назначение:

Выполняет вычисление суммы текущих значений сигналов.

Параметры:

Icon shape – Форма блока. Выбирается из списка.
  - round – окружность,
  - rectangular – прямоугольник.

List of sign – Список знаков. В списке можно использовать следующие знаки:
+ (
плюс), - (минус) и | (разделитель знаков).

Saturate on integer overflow (флажок) – Подавлять переполнение целого. При установленном флажке ограничение сигналов целого типа выполняется корректно.

Количество входов и операция (сложение или вычитание) определяется списком знаков параметра List of sign, при этом метки входов обозначаются соответствующими знаками. В параметре List of sign можно также указать число входов блока. В этом случае все входы будут суммирующими.

Если количество входов блока превышает 3, то удобнее использовать блок Sum прямоугольной формы.

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

Если количество входов блока больше, чем один, то блок выполняет поэлементные операции над векторными и матричными сигналами. При этом количество элементов в матрице или векторе должно быть одинаковым.

Если в качестве списка знаков указать цифру 1 (один вход), то блок можно использовать для определения суммы элементов вектора.

Примеры использования блока Sum показаны на 9.6.3.



Рис. 9.6.3. Примеры использования блока Sum

[Скачать пример]

9.6.3. Блок умножения Product

Назначение:

Выполняет вычисление произведения текущих значений сигналов.

Параметры:

Number of inputs – Количество входов. Может задаваться как число или как список знаков. В списке знаков можно использовать знаки * (умножить) и / (разделить).

Multiplication – Способ выполнения операции. Может принимать значения (из списка):
  - Element-wise – Поэлементный.
  - Matrix – Матричный.

Saturate on integer overflow (флажок) – Подавлять переполнение целого. При установленном флажке ограничение сигналов целого типа выполняется корректно.

Если параметр Number of inputs задан списком, включающим кроме знаков умножения также знаки деления, то метки входов будут обозначены символами соответствующих операций.

Блок может использоваться для операций умножения или деления скалярных векторных или матричных сигналов. Типы входных сигналов блока должны совпадать. Если в качестве количества входов указать цифру 1 (один вход), то блок можно использовать для определения произведения элементов вектора.

Примеры использования блока Product при выполнении скалярных и поэлементных операций показаны на 9.6.4.



Рис. 9.6.4. Примеры использования блока Product при выполнении скалярных и поэлементных операций

[Скачать пример]

При выполнении матричных операций необходимо соблюдать правила их выполнения. Например, при умножении двух матриц необходимо, чтобы количество строк первой матрицы равнялось количеству столбцов второй матрицы. Примеры использования блока Product при выполнении матричных операций показаны на рис. 9.6.5. В примере показаны операции формирования обратной матрицы, деление матриц, а также умножение матриц.



Рис. 9.6.5. Примеры использования блока Product при выполнении матричных операций

[Скачать пример]

9.6.4. Блок определения знака сигнала Sign

Назначение:

Определяет знак входного сигнала.

Параметры:

Нет.

Блок работает в соответствии со следующим алгоритмом:

Если входной сигнал блока положителен, то выходной сигнал равен 1.

Если входной сигнал блока отрицателен, то выходной сигнал равен -1.

Если входной сигнал блока равен 0, то выходной сигнал также равен 0.

Рис. 9.6.6. иллюстрирует работу блока Sign.



Рис. 9.6.6. Пример использования блока Sign

[Скачать пример]

9.6.5. Усилители Gain и Matrix Gain

Назначение:

Выполняют умножение входного сигнала на постоянный коэффициент.

Параметры:

Gain – Коэффициент усиления.

Multiplication – Способ выполнения операции. Может принимать значения (из списка):
  - Element-wise K*u– Поэлементный.
  - Matrix K*u – Матричный. Коэффициент усиления является левосторонним операндом.
  - Matrix u*K – Матричный. Коэффициент усиления является правосторонним операндом.

Saturate on integer overflow (флажок) – Подавлять переполнение целого. При установленном флажке ограничение сигналов целого типа выполняется корректно.

Блоки усилителей Gain и Matrix Gain есть один и тот же блок, но с разными начальными установками параметра Multiplication.

Параметр блока Gain может быть положительным или отрицательным числом, как больше, так и меньше 1. Коэффициент усиления можно задавать в виде скаляра, матрицы или вектора, а также в виде вычисляемого выражения.

В том случае если парметр Multiplication задан как Element-wise K*u, то блок выполняет операцию умножения на заданный коэффициент скалярного сигнала или каждого элемента векторного сигнала. В противном случае блок выполняет операцию матричного умножения сигнала на коэффициент заданный матрицей.

По умолчанию коэффициент усиления является действительным числом типа double.

Для операции поэлементного усиления входной сигнал может быть скалярным, векторным или матричным любого типа, за исключением логического (boolean). Элементы вектора должны иметь одинаковый тип сигнала. Выходной сигнал блока будет иметь тот же самый тип, что и входной сигнал. Параметр блока Gain может быть скаляром, вектором или матрицей либого типа, за исключением логического (boolean).

При вычислении выходного сигнала блок Gain использует следующие правила:

Если входной сигнал действительного типа, а коэффициент усиления комплексный, то выходной сигнал будет комплексным.

Если тип входного сигнала отличается от типа коэффициента усиления, то Simulink пытается выполнить приведение типа коэффициента усиления к типу входного сигнала. В том случае, если такое приведение невозможно, то расчет будет остановлен с выводом сообщения об ошибке. Такая ситуация может возникнуть, например, если входной сигнал есть беззнаковое целое (uint8), а параметр Gain задан отрицательным числом.

Примеры использования блока Gain при выполнении скалярных и поэлементных операций показаны на 9.6.7.



Рис. 9.6.7. Примеры использования блока Gain.
1   ...   4   5   6   7   8   9   10   11   ...   26


написать администратору сайта