Sinks - приемники сигналов
Библиотека блоков показана на рис.2.12. Вся библиотека разбита на три раздела.
Рис. 5.12.Библиотека приемников сигналов
1.Блоки выходов моделей и подсистем (Model & Subsystem Outputs).
2. Блоки для визуализации данных (Data Viewers).
3. Блок управления временем моделирования (Simulation Control).
Выходные порты модели и подсистемы содержат четыре блока.
Out– блок выходного порта.
Создает выходной порт для подсистемы или для модели верхнего уровня иерархии.
Блоки Outputs подсистемы являются ее выходами. Сигнал, подаваемый в блок Output внутри подсистемы, передается в модель (или подсистему) верхнего уровня.
При создании подсистемы с помощью команды Edit/Create subsystem выходные порты создаются и нумеруются автоматически. На рис. 5.13 показана модель из ранее рассмотренного примера модели широтно-импульсного модулятора (рис. 5.10). Здесь часть схемы с помощью команды Edit/Create преобразована в подсистему. Схема этой подсистемы с входными и выходными портами видна в правой части рисунка.
Выходной порт в системе верхнего уровня используется для передачи сигнала в рабочее пространство MATLAB.
Terminator – концевой приемник сигналов. В том случае, когда выход блока оказывается не подключенным ко входу другого блока, Simulink выдает предупреждающее сообщение в командном окне MATLAB. Для исключения этого необходимо использовать блок Terminator.
Рис. 2.13. Модель с подсистемой, входными и выходными портами
То File – блок сохранения данных в файле. Блок записывает данные, поступающие на его вход, в файл. В окна настройки параметров блока следует ввести имя файла для записи (Filename) и имя переменной, содержащей записываемые данные (Variable name). Если не указан полный путь файла, то файл сохраняется в текущей рабочей папке.
Кратность записи в файл входного сигнала определяется параметром Decimation. Шаг модельного времени (Sample time) определяет дискретность записи данных.
Пример использования данного блока был рассмотрен ранее (рис. 5.9).
То Workspace – блок сохранения данных в рабочей области. Блок записывает данные, поступающие на его вход, в рабочую область MATLAB.
В окне параметров блока, кроме рассмотренных выше, задается максимальное количество сохраняемых расчетных точек по времени (Limit data points to last). Отсчет ведется от момента завершения моделирования. В том случае, если значение параметра Limit data points to last задано как inf, то в рабочей области будут сохранены все данные.
Формат сохранения данных выбирается из выпадающего списка (Save format).
Для считывания данных, сохраненных в рабочей области MATLAB, можно использовать блок From Workspace (библиотека Sources).
Раздел для визуализации данных (Data Viewers) включает четыре блока.
Scope – осциллограф. Строит графики исследуемых сигналов в функции времени. Позволяет наблюдать за изменениями сигналов в процессе моделирования.
Для того чтобы открыть окно просмотра сигналов, необходимо выполнить двойной щелчок левой клавишей «мыши» на изображении блока. В том случае, если на вход блока поступает векторный сигнал, то кривая для каждого элемента вектора строится отдельным цветом.
Настройка окна осциллографа выполняется с помощью панелей инструментов (рис. 5.14).
Рис. 2.14. Панель инструментов блока Scope
Панель инструментов содержит 11 кнопок, большинство из которых являются типовыми для Windows приложений.
Параметры блока устанавливаются в окне ‘Scope’ parameters, которое открывается с помощью инструмента (Parameters) панели инструментов. Окно параметров имеет две вкладки:
General – общие параметры.
Data history – параметры сохранения сигналов в рабочей области MATLAB. Вкладка общих параметров показана на рис. 5.15.
Рис. 2.15. Вкладка общих параметров General
На вкладке General задаются следующие параметры:
1. Number of axes – число входов осциллографа. При изменении этого параметра на изображении блока появляются дополнительные входные порты.
2.Time range – величина временного интервала, для которого отображаются графики. Если время расчета модели превышает заданное параметром Time range, то вывод графика производится порциями, при этом интервал отображения каждой порции графика равен заданному значению Time range.
3.Tick labels – вывод/скрытие осей и меток осей.
4. Sampling – установка параметров вывода графиков в окне. Задает режим вывода расчетных точек на экран. При выборе Decimation кратность вывода устанавливается числом, задающим шаг выводимых расчетных точек.
5.Floating scope – перевод осциллографа в «свободный» режим (при установленном флажке).
На вкладке Data history (рис. 5.16) задаются следующие параметры:
2. Limit data points to last – максимальное количество отображаемых расчетных точек графика. При превышении этого числа начальная часть графика обрезается. В том случае, если флажок параметра Limit data points to last не установлен, то Simulink автоматически увеличит значение этого параметра для отображения всех расчетных точек.
Рис. 5.16.Вкладка Data history
3. Save data to workspace – сохранение значений сигналов в рабочей области MATLAB.
4. Variable name – имя переменной для сохранения сигналов в рабочей области MATLAB.
5. Format – формат данных при сохранении в рабочей области MATLAB.
Осциллограф (Floating Scope), по сути, есть обычный осциллограф Scope, переведенный в «свободный» режим. В этом режиме блок осциллографа не имеет входов, а выбор отображаемого сигнала осуществляется с помощью инструмента (Signal selection) панели инструментов. Для выбора сигналов необходимо выполнить следующие действия:
1. Выделить систему координат, в которой будет отображаться график. Это достигается с помощью одиночного щелчка левой клавишей «мыши» внутри нужной системы. Выбранная система координат будет подсвечена по периметру синим цветом.
2. С помощью инструмента открыть окно диалога Signal Selector (рис. 5.17).
Рис. 5.17.Окно диалога Signal Selector
3. Отметить флажком имена блоков, сигналы, с выхода которых требуется исследовать.
После выполнения расчета в окне блока Floating Scope будут отображены выбранные сигналы.
Схема модели с использованием осциллографа Floating Scope дана на рис. 5.18. В окне осциллографа отображаются входной и выходной сигналы блока Transfer Fcn.
Рис. 5.18.Схема модели с осциллографомFloating Scope
Задание.Сделать 2…3 модели с различными входными источниками
5.2.3. Continuous – аналоговые (непрерывные) блоки
Библиотека аналоговых блоков показана на рис 5.19.
Рис. 5.19. Библиотека непрерывных блоков
Все блоки в библиотеке разделяются на две группы. В первую группу включены динамические блоки, предназначенные для анализа и синтеза непрерывных систем. Эти блоки представляют собой символьную запись дифференциальных уравнений, которыми описываются непрерывные линейные системы управления. Во вторую группу включены блоки временных задержек сигнала.
Эти блоки, кроме своих основных функций, позволяют существенно уменьшить время моделирования в системах с отрицательной обратной связью. Для этого данный блок нужно включить в цепь обратной связи. При этом время задержки следует выбрать таким, чтобы наличие блока не влияло на динамические процессы в системе.
Integrator– интегрирующий блок.
Выполняет интегрирование входного сигнала с возможностью внешнего сброса на нарастающий сигнал (rising), на спадающий сигнал (falling), на нарастающий либо спадающий сигнал (either), на не нулевой сигнал (level). Блок позволяет задать начальное условие (Initial condition) и ввести ограничение выходного сигнала (Upper saturation limit. Lower saturation limit).
Derivative – блок вычисления производной. Выполняет численное дифференцирование входного сигнала.
Данный блок используется для дифференцирования аналоговых сигналов.
State-Space – блок создает динамический объект, описываемый уравнениями в пространстве состояний:
х = Ах + Ви
у = Сх + Du,
где х – вектор состояния, u – вектор входных воздействий, у – вектор выходных сигналов, А, В, С, D – матрицы: системы, входа, выхода и обхода, соответственно.
Блок позволяет задать вектор начальных условий для переменных состояния(Initial condition).
На рис. 5.20 показан пример моделирования динамического объекта с помощью данного блока (файл State-Space).
Рис. 5.20.Пример использования блока State-Space
Задание.Сделать 2…3 модели с использованием блока State-Space
Transfer Fcn — блок передаточной функции задает передаточную функцию в виде отношения полиномов:
При этом порядок числителя не должен превышать порядок знаменателя. В окне настройки параметров блока задаются вектор коэффициентов полинома числителя (Numerator) и вектор коэффициентов полинома знаменателя (Denominator). На рис. 5.21 показан пример моделирования колебательного звена с помощью блока Transfer Fun (файл Trans. Fun).
Рис. 5.21.Пример использования блока Transfer Fun
Если коэффициенты числителя заданы матрицей, то блок Transfer Fun мо, моделирует векторную передаточную функцию, которую можно интерпретировать как несколько передаточных функций, имеющих одинаковые полиномы знаменателя, но разные полиномы числителя. При этом выходной сигнал блока является векторным и количество строк матрицы числителя задает размерность выходного сигнала.
Задание.Сделать 2…3 модели с использованием блока Transfer Fun
Zero-Pole – определяет передаточную функцию с заданными полюсами и нулями:
где z1, z2, zm – нули передаточной функции (корни полинома числителя),
p1,p2, pn – полюсы передаточной функции (корни полинома знаменателя), K – коэффициент передаточной функции. В окне настройки параметров блока задаются – вектор нулей (Zeros), вектор полюсов (Poles), скалярный или векторный коэффициент передаточной функции (Gain).
Количество нулей не должно превышать число полюсов передаточной функции. Нули и полюса могут быть заданы комплексными числами. На рис. 5.22. показан пример использования блока Zero-Pole.
Рис. 5.22.Пример использования блока Zero-Pole
Задание.Сделать 2…3 модели с использованием блока Zero-Pole
5.2.4. Discontinuities – нелинейные блоки
Библиотека показана на рис. 5.23.
Рис. 5.23.Библиотека нелинейных блоков
Saturation -блок ограничения. Выполняет ограничение величины входного сигнала. В окне настройки параметров блока задаются верхний и нижний порог ограничения (Upper limit, Lower limit).
Выходной сигнал блока равен входному, если его величина не выходит за порог ограничения. По достижении входным сигналом уровня ограничения выходной сигнал блока перестает изменяться и остается равным порогу.
Блок Saturation Dynamic – аналогичен рассмотренному. В этом блоке верхний и нижний уровни ограничения выходного сигнала задаются по входам up, io и могут изменяться при моделировании.
Dead Zone – блок с зоной нечувствительности. Реализует нелинейную зависимость типа "зона нечувствительности (мертвая зона)".
В окне настройки параметров блока задаются начало зоны нечувствительности (Start of dead zone – нижний порог), конец зоны нечувствительности (End of dead zone – верхний порог).
Если величина входного сигнала находится в пределах зоны нечувствительности, то выходной сигнал блока равен нулю. Если входной сигнал больше верхнего порога зоны нечувствительности, то выходной сигнал равен входному минус величина порога.
Dead Zone Dynamic – аналогичен рассмотренному. В этом блоке верхний и нижний уровни мертвой зоны выходного сигнала задаются по входам up, io и могут изменяться при моделировании.
Rate Limiter – блок ограничения скорости изменения сигнала. Блок обеспечивает ограничение скорости изменения сигнала (первой производной).
В окне настройки параметров блока задаются уровень ограничения скорости при уменьшении сигнала (Falling slew rate).
Rate Limiter Dynamic – аналогичен рассмотренному. В этом блоке верхний и нижний уровни ограничения скорости изменения выходного сигнала задаются по входам up, io и могут изменяться при моделировании.
Backlash – блок люфта в механической передаче. Моделирует нелинейность типа "люфт".
В окне настройки параметров блока задаются ширина люфта (Deaband width), начальное значение входного сигнала (initial output).
На рис. 5.24. показан пример работы блока Backlash в замкнутой системе. Здесь в отличие от линейной системы, устанавливаются незатухающие колебания (предельный цикл).
Рис. 5.24.Пример использования блока Backlash
Задание.Сделать 2…3 модели с использованием блока Backlash
Relay – релейный блок. Реализует релейную нелинейность.
В окне настройки параметров блока задаются порог включения и порог выключения (Switch on point – значение входного сигнала, при котором происходит включение реле).
Switch off point – значение выходного сигнала, при котором происходит выключение реле).
Величина входного сигнала во включенном состоянии (Output when on), и величина выходного сигнала в выключенном состоянии (Output when off).
Переход из одного состояния в другое происходит скачком при достижении входным сигналом порога включения или выключения реле.
Пример использования блока Relay для получения напряжения пилообразной и прямоугольной формы показан на рис. 5.25.
Quantzier – блок квантования по уровню. Блок обеспечивает квантование входного сигнала с одинаковым шагом по уровню. В окне настройки параметров блока задается шаг квантования по уровню (Quantization interval).
Hit Crossing – блок определения момента пересечения порогового значения. Определяет момент времени, когда входной сигнал пересекает заданное пороговое значение. В окне настройки параметров блока задаются значение, пересечение которого входным сигналом требуется идентифицировать (Hit crossing offset), направление пересечения (Hit crossing direction), которое выбирается из списка:
rising – возрастание.
falling – убывание.
either – оба направления.
В момент пересечения порогового уровня блок вырабатывает единичный сигнал длительностью в один шаг модельного времени.
Coulomb and Viscous Friction – блок сухого и вязкого трения. Моделирует эффекты сухого и вязкого трения в механических передачах. В окне настройки параметров блока задаются величина сухого трения (Coulomb friction value(Offset), коэффициент вязкого трения (Coefficient of viscous friction (Gain).
Wrap to Zero – порог нулевого уровня. Сигнал на выходе блока равен нулю до тех пор, пока он не превысит значение параметра Threshold – порог. По превышении порога сигнал на выходе блока становится равным сигналу на входе.
5.2.5. Discrete – дискретные блоки
Библиотека дискретных блоков приведена на рис. 5.26.
Все блоки в библиотеке разделяются на две группы. В первую группу входят различные задержки и динамические блоки, предназначенные для анализа и синтеза дискретных систем. Эти блоки представляют собой символьную запись разностных уравнений, которыми описываются дискретные системы управления.
Во вторую группу (Sample and Hold Delays) включен блок памяти и блок экстраполяции.
Рис. 5.26.Библиотека дискретных блоков
Рис. 5.27.Модель блока Zero-Order Hold формирования дискретного сигнала
Задание.Сделать 2…3 модели с разными значениями
формирования дискретного сигнала
5.2.6. Math – блоки математических операций
Библиотека блоков (рис. 5.26) разбита на три раздела:
1. Math Operations – математические операции.
2. Vector Matrix Operations – векторные и матричные операции.
3. Complex Vector Conversation – преобразования комплексных векторов.
Рис.5.26.Библиотека блоков математических операций
Ниже рассмотрены блоки, которые часто используются при анализе мехатронных систем.
Различные блоки вычисления суммы выполняют вычисление суммы текущих значений сигналов.
В списке (List of sign) окна задания параметров можно использовать следующие знаки: + (плюс), – (минус) и | (разделитель знаков).
Количество входов и операция (сложение или вычитание) определяется списком знаков параметра List of sign, при этом метки входов обозначаются соответствующими знаками.
Блоки умножения Product выполняют вычисление произведения текущих значений сигналов.
Количество входов (Number of inputs) может задаваться как числом или как списком знаков. В списке знаков можно использовать знаки * (умножить) и / (разделить).
Если параметр Number of inputs задан списком, включающим кроме знаков умножения также знаки деления, то метки входов будут обозначены символа соответствующих операций.
Блок может использоваться для операций умножения или деления скалярных, векторных или матричных сигналов. Пример использования блока с разными значениями такта дискретности показан на рис. 5.28.
Рис. 5.28.Модель блока с разными значениями такта дискретности
Задание.Сделать 2…3 модели с разными значениями такта дискретности
Abs– блок вычисления модуля выполняет вычисление абсолютного значения величины сигнала.
Блок Abs может использоваться также для вычисления модуля сигнала комплексного типа.
Блок выполняет вычисление абсолютного значения величины сигнала (рис. 5.29).
Рис. 5.29. Модель блока для вычисления абсолютного значения величины сигнала
Задание.Сделать 2…3 модели с разным блоками математических операций
Sign – блок определения знака сигнала (рис. 5.30). Блок работает в соответствии со следующим алгоритмом:
Если входной сигнал блока положителен, то выходной сигнал равен 1.
Если входной сигнал блока отрицателен, то выходной сигнал равен – 1.
Если входной сигнал блока равен 0, то выходной сигнал также равен 0.
Рис. 5.30.Модель блока определения сигнала
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, то блок выполняет операцию умножения на заданный коэффициент скалярного сигнала или каждого элемента векторного сигнала. В противном случае блок выполняет операцию матричного умножения сигнала на коэффициент, заданный матрицей.
Math Function – блок вычисления математических функций. Вид вычисляемой функции выбирается из списка.
Trigonometric Function – блок вычисления тригонометрических функций. Вид вычисляемой функции выбирается из списка.
При векторном или матричном входном сигнале блок выполняет поэлементное вычисление заданной функции.
5.2.7. Signal Routing – библиотека маршрутизации сигналов
Библиотека маршрутизации сигналов показана на рис. 5.31.
Bus Creator – блок шинного формирователя. Формирует шину из сигналов различных типов. Блок позволяет объединять любые сигналы (векторные, матричные, комплексные, действительные и целые разных типов) в единую шину. Такая шина позволяет сократить количество соединительных линий в модели. Для разделения шины на отдельные составляющие необходимо использовать блок Bus Selector.
Mux– мультиплексор (смеситель). Объединяет входные сигналы в вектор.
Входные сигналы блока могут быть скалярными и (или) векторными.
Рис. 5. 31.Библиотека блоков маршрутизации сигналов
Еслисреди входных сигналов есть векторы, то количество входов можно задатькак вектор с указанием числа элементов каждого вектора. Размерность входноговектора можно задавать как -1 (минус один). В этом случае размерность входного вектора может быть любой.
Demux – демультиплексор (разделитель). Разделяет входной векторный сигнал на отдельные составляющие.
Bus Selection Mode (флажок) – режим разделения векторных сигналов.
Входным сигналами в обычном режимеявляется вектор,сформированный любымспособом. Выходными сигналами являются скаляры или векторы, количество которых и размерность определяется параметром Number of Outputs и размерностью входного вектора.
Если количество выходов Р (значение параметра Number of Outputs) равно размерности входного сигнала N, то блок выполняет разделение входного вектора наотдельные элементы.
Если количество выходов Р меньше, чем размерность входного сигнала N, то размерность первых Р-1 выходных сигналов равна отношению N/Р, округленному до ближайшего большего числа, а размерность последнего выходного сигнала равнаразности между размерностью входного сигнала и суммой размерностей первых Р-1 выходов.
В режимеBus Selection Mode блок Demux работает не с отдельными элементамивекторов, а с векторными сигналами в целом. Входной сигнал в этом режимедолжен быть сформирован блоком Mux или другим блоком Demux. ПараметрNumber of Outputs в этом случае задается в виде скаляра, определяющего количествовыходных сигналов, либо в виде вектора, каждый элемент которого определяет количество векторных сигналов в данном выходном сигнале.
Selector– блок селектора. Блок выбирает во входном векторе или матрице и передаетна выход только те сигналы, которые определены в параметрах блока илизаданы внешним входным сигналом.
Внешний вид блока изменяется в зависимости от установленных параметров блока.
Goto– блок передачи сигнала. Блок выполняет передачу сигнала к блоку From.
В окне параметров блока задаются:
Tag– идентификатор сигнала.
Tag visibility – признак видимости; выбирается из списка:
local– сигнал передается в пределах локальной подсистемы.
scoped – сигнал передается в пределах локальной подсистемы и подсистемах нижнего уровня иерархии.
global – сигнал передается в пределах всей модели.
Использование блока Goto совместно с блоком From обеспечивает передачу сигнала без линии связи.
Data Store Memory – блок создания общей области памяти. Блок создает поименованную область памяти для хранения данных.
Блок используется совместно с блоками Data Store Write (запись данных) и Data Store Read (считывание данных).
Переключатели сигналов – switch, manual switch, multiport switch.
6. Динамика объектов управления
мехатронных систем
1. 6.1. Математическое описание непрерывных
объектов управления в мехатронных системах
Для того чтобы исследовать динамику объекта управления, необходимо располагать его математическим описанием, т. е. системой дифференциальных уравнений, характеризующих зависимости координат и внешних воздействий друг от друга.
Наиболее распространенными способами математического описания мехатронных систем являются:
– дифференциальные уравнения, записываемые в той или иной форме;
– уравнения состояний – система дифференциальных уравнений, записанных в нормальной форме Коши;
– передаточные функции;
– системные функции (амплитудно-частотные, фазо-частотные, амплитудно-фазовые характеристики);
– нули и полюсы передаточной функции.
Дифференциальное уравнение, описывающее линейную динамическую систему (или ее часть), в операторной форме (передаточная функция) имеет вид:
6.1)
где u – входной сигнал, x – переменная состояния.
Выражение 3.1, совпадающее по форме с передаточной функцией, назовем операторной передаточной функцией. Заметим, что модели пакетов MATLAB-Simulink оперируют именно с операторным представлением дифференциальных уравнений.
При этом порядок числителя не должен превышать порядок знаменателя.
В окне настройки параметров блока задаются вектор коэффициентов полинома числителя (Numerator) и вектор коэффициентов знаменателя (Denominator). На рис. 5.31 показан пример моделирования лесосушильной камеры с помощью блока Transfer Fun.
7128 s^2 + 43.56 s + 0.5
W(s) = -------------------------
46332 s^2 + 241.6 s + 0.5
Рис. 6.1.Пример использования блока Transfer Fun.
Уравнения состояний (система дифференциальных уравнений, записанных в нормальной форме Коши) имеют вид:
(6.2)
где X – вектор состояния; U, Y – векторы входа и выхода системы, A – матрица коэффициентов; B – матрица управления; C – матрица выхода; D – матрица, характеризующая связь входного сигнала с выходным.
На рис. 6.2. показан пример моделирования лесосушильной камеры с помощью блока State Space.
Рис. 6.2.Пример использования блока State Space
Zero-Pole – определяет передаточную функцию с заданными полюсами и нулями:
(6.3)
где z1, z2, zm – нули передаточной функции (корни полинома числителя),
p1, p2, pm – полюсы передаточной функции (корни полинома знаменателя,
К – коэффициент передаточной функции. В окне настройки параметров блока задаются – вектор нулей (Zeros), вектор полюсов (Poles), скалярной или векторный коэффициент передаточной функции (Gain).
Количество нулей не должно превышать число полюсов передаточной функции.
Нули и полюса могут быть заданы комплексными числами. На рис. 6.3. показан пример использования блока
Рис. 6.3.Пример использования блока Zero-Pole.
2.
3.
4.
5.