начальное состояние сумматора (Initial condition); значение вводится в
строке редактирования либо как числовая константа, либо в виде вычисляемого выражения;
флажок Limit output (Ограничение выходного значения сумматора)
определяет, будут ли использоваться следующие ниже 4 параметра настройки;
верхнее предельное значение времени ( Upper saturation limit); по
умолчанию не ограничено (inf);
нижнее предельное значение времени (Lower saturation limit); по умолчанию параметр имеет значение -inf;
флажок показать порт насыщения (Show saturation port);
флажок показать порт состояния (Show state port).
Параметры 5... 9 используются следующим образом. Если флажок Limit output установлен, то при переходе значения сумматора через верхний или нижний предел на дополнительных выходах блока (saturation port и state port) формируется единичный сигнал.
Чтобы этот сигнал можно было использовать для управления работой S- модели, флажки Show saturation port и Show state port должны быть включены (при этом на графическом изображении блока появляются обозначения портов). Особенность порта state port состоит в том, что снимаемый с него сигнал может быть использован только для прерывания алгебраического цикла или для согласования состояния подсистем модели.
2.2.4. Раздел Linear (Линейные элементы)
Раздел содержит блоки, которые можно условно разделить на две группы: блоки, непосредственно предназначенные для описания линейных непрерывных систем, и блоки общего назначения, которые могут быть использованы в модели любой системы (рис. 2.19).
Кпервой группе относятся:
1.Gain «линейный усилитель» (умножитель).
2.Transfer Fcn «передаточное звено».
3.State-Space блок формирования состояния системы.
4.Zero-Pole.
5.Derivative
блок вычисления производной входного сигнала по времени (du/dt).
6.Dot Product
блок вычисления свертки (скалярного произведения) двух входных сигналов.
7. Matrix Gain матричный усилитель (умножитель) входного сигнала. Во вторую группу входят три блока:
1.Integrator сумматор непрерывного времени.
2.Sum блок суммирования входных сигналов.
3. Slider Gain
блок изменения коэффициента усиления. В соответствии с общей концепцией книги более подробно будут рассмотрены блоки, относящиеся ко второй группе.
Блок Integrator производит вычисление «времени существования» входного сигнала, и,
подобно блоку Discrete-Time Integrator, может быть использован для определения временных характеристик моделируемой системы (или отдельных ее подсистем).
Параметры настройки блока полностью идентичны параметрам настройки блока DiscreteTime Integrator, рассмотренным ранее. Некоторое отличие имеет лишь последний из них: вместо дискретности суммирования в данном случае требуется указать точность вычислений (Absolute tolerance).
Блок Sum может использоваться в двух режимах:
• сложения входных сигналов (в том числе
сразными знаками);
Рис. 2.19 |
• суммирования элементов вектора, |
поступающего на вход блока. |
|
Для управления режимами работы блока используется один параметр List of signs (Список знаков).
Значения этого параметра могут задаваться тремя способами:
в виде последовательности знаков ―+‖ и ―-‖; при этом число знаков определяет число входов блока, а сам знак полярность входного сигнала;
в виде целой положительной константы (больше 1); ее значение равно числу входов блока, а все входы считаются положительными;
в виде символа ―1‖, который указывает на использование блока во втором режиме.
Блок Slider Gain является одним из элементов взаимодействия пользователя с моделью в процессе моделирования. В активном состоянии блок представляет собой диалоговое окно, обеспечивающее установку значения некоторого параметра модели с помощью «ползункового» регулятора (рис.
2.20).
Блок Slider Gain становится активным после того, как будет помещен в окно блок-диаграммы создаваемой модели. Чтобы открыть окно с регулятором, необходимо дважды щелкнуть на изображении блока ЛКМ. Окно Slider Gain имеет три поля ввода: для указания нижнего уровня параметра (Low), верхнего уровня (High) и текущего значения.
Рис. 2.20
2.2.5. Раздел Nonlinear (Нелинейные элементы)
По составу элементов это самый большой и, пожалуй, наиболее полезный для имитационного моделирования раздел библиотеки SIMULINK. Он содержит 30 блоков, которые условно можно разделить по назначению на несколько групп (рис.
2.21).
Первую группу образуют блоки, реализующие элементарные математические функции:
1.Блок Abs
формирует абсолютное значение входного сигнала (этот блок не имеет параметров настройки);
2.Блок Trigonometric Function
обеспечивает преобразование входного сигнала с помощью одной из тригонометрических функций; выбор требуемой функции производится в окне настройки параметров блока с помощью «выпадающего» меню (оно становится доступным только после перемещения блока в поле блокдиаграммы);
3.Блок Math Function позволяет
использовать для преобразования входного сигнала элементарные
нетригонометрические функции (вычисление экспоненты, натурального и десятичного логарифмов, возведение в степень, извлечение квадратного корня
ит. д.). Нужная функция выбирается с помощью «выпадающего» меню;
4.Блок Rounding Function содержит различные функции округления значения амплитуды входного сигнала; выбор конкретного метода округления выполняется также с помощью «выпадающего» меню;
5. Блок MinMax обеспечивает поиск минимального или максимального элемента входного вектора. Цель поиска задается в окне настроек блока. Второй параметр настройки число входов блока.
Для блоков 2... 5 имя выбранной функции выводится на графическом изображении блока;
6.Блок Fcn
это универсальный «вычислительный» блок; в качестве параметра настройки блока можно ввести любое вычисляемое выражение, аргументом которого является значение входного сигнала; особенность этого блока состоит в том, что аргумент выражения должен быть указан явно. Для обозначения входного сигнала используется символ и. Если входной сигнал является вектором, то для операций, выполняемых над отдельными его элементами, аргумент также должен быть задан явно. Например, сложение двух элементов входного сигнала должно быть записано в таком виде: u (1)+ u (2);
Замечание. Вычисляемое выражение должно давать только скалярное значение. Это ограничение снимается при использовании блока MATLAB Fcn.
7.Блок MATLAB Fcn позволяет применить к входному сигналу любую подпрограмму обработки, реализованную в виде М-файла. Это может быть как библиотечная функция пакета MATLAB, так и подпрограмма, созданная разработчиком S-модели.
В первом случае использование блока MATLAB Fcn аналогично использованию блока Fcn. Вычисляемое выражение вводится в окне настроек блока в строке MATLAB function. Если оно содержит только обращение к библиотечной функции, то ее аргумент можно явно не указывать. Например, для вычисления квадратного корня входного значения достаточно ввести имя функции sqrt.
Другой, более существенной, особенностью блока MATLAB Fcn
является наличие второго параметра настройки
Output width (Ширина выходного сигнала). Это означает, что результатом работы блока может быть не только скаляр, но и вектор. Число его элементов должно быть равно значению параметра Output width;
8. Блок Product позволяет выполнять умножение или деление нескольких входных сигналов (величин). В качестве параметров настройки могут указываться число входов блока и вид выполняемой операции.
Задание значений этих параметров аналогично настройке блока Sum из раздела Линейные элементы. В качестве знака операции умножения используется символ «*», а для указания операции деления символ «/».
Если в качестве значения параметра настройки блока ввести «1», то будет вычисляться произведение элементов входного вектора (в этом случае на изображении блока выводится символ Р).
Вторую группу образуют блоки, обеспечивающие логическую обработку входного сигнала. Наиболее важными и полезными из них являются следующие:
1. Блок Logical Operator содержит набор основных логических операций: AND (операция логического умножения «И»), OR (логическое сложение
«ИЛИ»), NAND («И-НЕ»), NOR («ИЛИ-НЕ»), XOR (сложение по модулю 2), NOT (операция логического отрицания). Выбор требуемой функции выполняется с помощью «выпадающего» меню; имя функции отображается на иконке блока.
Другим параметром настройки блока является число аргументов логической операции, то есть число входных портов блока (Number of input ports). Его значение вводится в строке редактирования и должно быть натуральным числом. Максимально допустимое число входов блока практически не ограничено;
2.Блок Relational Operator реализует операции отношения над двумя входными сигналами: >, <, >, <, = =(тождественно), != (не равно). Конкретная операция выбирается при настройке параметров блока посредством «выпадающего» меню. Знак операции выводится на изображении блока;
3.Блок Combinatorial Logic обеспечивает преобразование входного сигнала в соответствии с заданной таблицей истинности. По своим функциональным возможностям это очень мощный блок. С его помощью можно описать на уровне «вход-выход» логику работы любого устройства или системы. Единственное ограничение заключается в том, что входные данные и результат должны быть представимы в форме булевых величин. Напомним, что булева величина принимает только два значения:«1» («истина») или «0» («ложь»). На самом деле это очень «мягкое» ограничение, так как любое действие, утверждение или результат можно оценить по двухбалльной шкале:
если действие произошло (или если некоторое утверждение нам нравится)
ставим ему «1», если же нет |
оно получает оценку «0». |
|
Например, включение настольной лампы можно описать с помощью |
||
законов физики, а можно с помощью булевых величин: |
||
«нажал выключатель» («1») «лампа зажглась» («1»); |
||
«не нажал выключатель» («0») |
«лампа не зажглась» («0»); |
|
или «нажал выключатель» («1») |
«лампа не зажглась» («0»). |
|
Последний вариант возможен, если лампа неисправна. |
||
При таком подходе |
описываемое устройство рассматривается как |
|
«черный ящик», который при поступлении входного сигнала формирует некоторый выходной сигнал.
В кибернетике для описания и исследования работы «черных ящиков» создана специальная теория теория автоматов. Теперь, возвращаясь к блоку Combinatorial Logic, можно сказать, что он представляет собой обобщенную модель конечного детерминированного автомата. Для такого автомата заранее известны все возможные значения выходного сигнала, и набор их ограничен. Причем каждое выходное значение однозначно соответствует определенному входному воздействию.
На вход блока может подаваться как скалярный, так и векторный сигнал. Скаляр в данном случае интерпретируется как одна булева величина, а вектор 