Учебно-методический сайт
Василия Щербакова
 

Основные элементы схемы

Динамическое звено

В продукте Acsocad выбирается элемент галереи "Динамическое звено".
Элемент позволяет реализовать интегратор или передаточную функцию заданного порядка.
Начальные значения переменных состояния задаются через пробел в текстовом поле под именем звена.
Для настройки коэффициентов необходимо дважды щелкнуть по элементу на схеме и записать их в нужные ячейки.


В продукте MATLAB Simulink выбирается элемент галереи Simulink/Continuous "Transfer Fcn" или "Integrator".

Элемент позволяет реализовать передаточную функцию или только интегратор с возможностью задания начального значения переменной состояния.
Ввод значений коэффициентов осуществляется в диалоговом окне, в котором отдельно записывается вектор-строка для числителя и знаменателя. Коэффициенты перечисляются через пробел, начиная со старшего и заканчивая свободным коэффициентом полинома.


Видео-пример создания и настройки передаточной функции в продукте MATLAB Simulink.


В случае, когда требуется задать начальные значения в дифференциальных уравнениях (переменные состояния), используется блок "Интегратор". В нем начальное значение задается либо постоянным (internal), либо задается извне (external). В первом случае указывается конкретное значение в диалоговом окне, во втором - подключается на схеме к дополнительному входу.


Видео-пример создания и настройки интегратора в продукте MATLAB Simulink.


Усилительное звено

В продукте Acsocad выбирается элемент галереи "Усилительное звено".
Элемент позволяет реализовать умножение входного сигнала на некоторое значение, задаваемое в элементе путем двойного нажатия на элемент на схеме.

В продукте MATLAB Simulink выбирается элемент галереи Simulink/Math Operations "Gain".
Двойной щелчок по элементу на схеме вызывает диалоговое окно, в котором в строке записывается коэффициент усиления.


Суммирующее звено

В продукте Acsocad выбирается элемент галереи "Суммирующее звено".
Элемент позволяет реализовать сложение входных сигналов с соответствующими знаками, задаваемых в элементе путем двойного нажатия на соответствующий сектор элемента на схеме.

В продукте MATLAB Simulink выбирается элемент галереи Simulink/Math Operations "Sum".

Двойной щелчок по элементу на схеме вызывает диалоговое окно, в котором в строке последовательно записываются знаки входных сигналов.
Расположение входов идет против часовой стрелки, начиная с верхней позиции.
Если вход не требуется, то ставится "|".
Если вход положительный, то ставится "+".
Если вход отрицательный, то ставится "-".
Представленный на рисунке выше сумматор имеет конфигурацию "|++", т.е. верхнего входа нет, левый положительный, нижний положительный.
Типовые конфигурации сумматоров представлены ниже.

Нелинейное звено

В продукте Acsocad выбирается элемент галереи "Нелинейное звено".
Элемент позволяет реализовать преобразование входного сигнала в соответствии с некоторой заданной функцией. Имеется ряд предопределенных функций, например, стандартные звенья типа "ограничитель", "зона нечувствительности", "реле", "люфт" и т.д.; логические функции, математические функции: умножение, квадратный корень, модуль, синус, косинус и т.д.; алгоритмы фильтрации; функции разделения demux и объединения mux сигналов и прочие. Также имеется возможность реализации выражения на языке Си.
Количество входных и выходных сигналов настраивается в верхней панели и зависит от решаемой задачи.
 


В продукте MATLAB Simulink выбирается либо стандартная нелинейная функция, находящаяся в Simulink/Discontinuities,
либо программируемый элемент галереи Simulink/User-Defined functions "Fcn" или "(Embedded) MATLAB Function".
Использование "Fcn" при реализации простых нелинейных функций предпочтительно, т.к. не требует наличия установленного компилятора и существенно уменьшает время подготовки модели к запуску. Двойной щелчок по элементу "Function" на схеме вызывает диалоговое окно, в котором в строке записывается выражение без знака "=", ";", входной информацией которого является массив u. Например u или u(1) соответствует первому сигналу, u(2) - второму и т.д.

Пример получения sin(x) при входном сигнале x представлен на рисунке.
Пример получения выражения (t+1)*Y(t) представлен на рисунке.
Использование "MATLAB Function" позволяет реализовать сложный алгоритм расчета с использованием условного оператора "if" и возможностью вызова функций из скриптов. Для использования блока требуется компилятор и затраты времени на компиляцию модели перед запуском. Двойной щелчок по элементу открывает окно с вводом программного кода. Количество входных и выходных сигналов определяется в строке определения функции, которая имеет вид:
function ВЫХОД=ИМЯ(ВХОД1,ВХОД2)
ВЫХОД - имя переменной, например, "Y" или "R", в которую запишется результат, передаваемый далее в модель.
ИМЯ - имя функции, например, "fcn".
ВХОД* - имя переменной (входной коннектор, например, "t" или "u".
К наименованию переменных предъявляются те же требования, что и к имени модели - имя начинается только с латинской буквы или символа подчеркивания, может содержать латинские буквы, цифры и знак подчеркивания.
Обязательным условием реализации нелинейной функции является указание значения (например, начального) выходной переменной перед операторами "if".

Видео-пример создания и настройки нелинейного звена MATLAB Function в продукте MATLAB Simulink.



Внешнее воздействие

В продукте Acsocad выбирается элемент галереи "Внешнее воздействие".
Элемент позволяет реализовать входной сигнал, задаваемый в элементе путем двойного нажатия на элемент на схеме. Формируем сигнал может быть постоянным, описываться выражением, либо выбираться из стандартных в верхнем меню.

В продукте MATLAB Simulink выбирается элемент галереи Simulink/Sources "Constant" или "Clock".
Блок "Constant" формирует на выходе постоянный сигнал. 
Двойной щелчок по элементу "Constant" на схеме вызывает диалоговое окно, в котором в строке записывается постоянная величина воздействия.
Блок "Clock" формирует сигнал t, соответствующий текущему времени моделирования. Реализация сигнала заданной формы осуществляется при помощи программируемого (нелинейного) звена MATLAB Function или Fcn.
Кроме того, в галерее Simulink/Sources имеются стандартные сигналы "Ступенька", "Синус", "Случайное распределение" и другие.

Вывод результатов моделирования

В продукте Acsocad для просмотра графика выходного сигнала достаточно щелкнуть на интересующий элемент. Сверху в панели отображается сам график, а также начальное и конечное значение сигнала звена. Двойной щелчок по графику открывает его во всё окно. Также график можно вывести в нижней части окна, для этого нажимается соответствующий флаг в панели настройки звена.
Кроме того, имеются элементы "Дисплей" и "График" для расположения информации на самой схеме. Количество входов элемента "График" задается в панели настройки звена.
Пример вывода результатов моделирования в продукте Acsocad представлен ниже.


Видео-пример вывода результатов в продукте Acsocad.



В продукте MATLAB Simulink в галерее Simulink/Sinks имеются элементы "Display" и "Scope" для расположения текстовой и графической информации на самой схеме. Количество входов элемента "Scope" задается в панели настройки просмотра графика. Также для расширения числа отображаемых сигналов на схеме дополнительно может размещаться элемент Mux, находящийся в галерее Simulink/Signal Routing, объединяющий несколько сигналов в один.
Пример вывода результатов моделирования в продукте MATLAB Simulink представлен ниже.


Двойной щелчок по элементу "Scope" открывает в новом окне выводимые графики. Наверху в панели следует нажать на кнопку Autoscale для автоматического масштабирования графиков.

Важно: в настройках Scope на вкладке History следует отключать флаг "Limit data points".


Видео-пример вывода результатов в продукте MATLAB Simulink.



 
Рейтинг@Mail.ru
Все материалы сайта принадлежат лично Василию Щербакову.
Допускается использование материалов в некоммерческих или учебных целях с указанием ссылки на этот сайт.