Этот пример показывает, как вставить многоканальные точки анализа в обобщенную модель пространства состояний системы управления MIMO.
Рассмотрите следующую систему управления с двумя входами и двумя выходами.
Объект G
имеет два входа и два выхода. Поэтому линия отмечена y
в блоке представлены два сигнала, y(1)
и y(2)
. Точно так же r
и e
каждый представляет два сигнала.
Предположим, что вы хотите создать требования к настройке или извлечь ответы, которые требуют инъекций или измерительных сигналов в местоположениях L
и V
. Для этого создайте AnalysisPoint
блок и включить его в модель системы управления с обратной связью, как показано на следующем рисунке.
Чтобы создать модель этой системы, сначала создайте числовые модели LTI и систему управления блоки, которые представляют объект и элементы контроллера. D
является настраиваемым блоком усиления и C_L
и C_V
настраиваемые ПИ-контроллеры. Предположим, что модель объекта управления является следующей:
s = tf('s'); G = [87.8 -86.4 ; 108.2 -109.6]/(75*s+1); D = tunableGain('Decoupler',eye(2)); C_L = tunablePID('C_L','pi'); C_V = tunablePID('C_V','pi');
Создайте AnalysisPoint
блок, который объединяет воедино L
и V
каналы.
AP_1 = AnalysisPoint('AP_1',2)
AP_1 = Multi-channel analysis point at locations: AP_1(1) AP_1(2) Type "ss(AP_1)" to see the current value and "get(AP_1)" to see all properties.
Для удобства переименуйте каналы так, чтобы они совпадали с соответствующими сигналами.
AP_1.Location = {'L';'V'}
AP_1 = Multi-channel analysis point at locations: L V Type "ss(AP_1)" to see the current value and "get(AP_1)" to see all properties.
Следующая схема иллюстрирует входные имена, выходные имена и имена каналов (местоположения) в блоке AP_1
.
Входные и выходные имена AnalysisPoint
блок отличается от имен каналов. Используйте имена каналов для обращения к местоположениям точек анализа при извлечении откликов или определении целей проекта для настройки. Можно использовать входы и вывода AP_1.u
и AP_1.y
, для примера, при соединении блоков с помощью connect
команда.
Теперь можно создать модель системы управления с обратной связью. Во-первых, присоедините все блоки объекта управления и контроллера вместе с первым AnalysisPoint
блок.
GC = G*AP_1*append(C_L,C_V)*D;
Затем закройте цикл обратной связи. Напомним, что GC
имеет два входа и выходов.
CL = feedback(GC,eye(2));
Теперь можно использовать точки анализа для анализа или настройки. Например, извлеките передаточную функцию SISO с обратной связью из 'L'
на первый выход. Присвойте имя выходу, чтобы можно было ссылаться на него в функциях анализа. Программа автоматически расширяет назначенное имя 'y'
к векторным выходным сигналам {y(1),y(2)}
.
CL.OutputName = 'y'; TLy1 = getIOTransfer(CL,'L','y(1)'); bodeplot(TLy1);