В этом примере показано, как можно линеаризовать модель гидравлической установки для поддержки анализа и проектирования устойчивости системы управления.
В зависимости от имеющегося программного обеспечения используйте соответствующие разделы этого примера для изучения различных методов линеаризации и анализа.
Чтобы открыть пример модели гидравлического привода с цифровым регулятором положения, введите ssc_hydraulic_actuator_digital_control в окне команд MATLAB ® .

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

Контроллер представлен как функция передачи непрерывного времени плюс транспортная задержка, которая обеспечивает вычислительное время и удержание нулевого порядка при реализации в дискретное время. Подсистема точек ввода-вывода Linearization позволяет легко разорвать и восстановить контур управления обратной связью, установив для базовой переменной рабочей области значение 0 или 1 соответственно.

Вы можете быстро генерировать и просматривать частотную характеристику малого сигнала, нажав кнопку Linearize гиперссылка в аннотации модели. Чтобы просмотреть сценарий MATLAB, генерирующий частотный отклик, щелкните следующую гиперссылку в этой аннотации, see code. Эта документация содержит справочную информацию и альтернативные способы линеаризации, основанные на имеющемся программном обеспечении.
Как правило, для получения нетривиальной линеаризованной модели «вход-выход» и генерации частотной характеристики необходимо указать входы и выходы на уровне модели. Модель гидравлического привода с цифровым регулятором положения удовлетворяет этому требованию двумя способами, в зависимости от способа линеаризации:
Simulink ® требует входных и выходных портов верхнего или модельного уровня для линеаризации с помощьюlinmod. Модель имеет такие порты, помеченные In1 и Out1.
Программное обеспечение Simulink Control Design™ требует указания входных и выходных сигнальных линий с точками линеаризации. Указанные линии должны быть сигнальными линиями Simulink, а не Simscape™ линиями физического соединения. В модели указаны такие точки линеаризации. Дополнительные сведения об использовании программного обеспечения Simulink Control Design для обрезки и линеаризации см. в документации по этому продукту.
Откройте область «Положение нагрузки» и смоделируйте модель в обычной конфигурации контроллера с замкнутым контуром.

Можно видеть, что модель имеет квазилинейный отклик установившегося состояния от 2 до 3 секунд, когда двухходовой клапан открыт. Поэтому состояние при 2,5 секундах является рабочей точкой, подходящей для линеаризации.
linmod ФункцияУстановите параметры контроллера.
Чтобы указать время выборки для реализации дискретного времени контроллера, введите в окне MATLAB Command Window следующее:
ts = 0.001;
Чтобы указать числитель и знаменатель контроллера непрерывного времени, введите:
num = -0.5; den = [1e-3 1];
Найдите рабочую точку, запустив замкнутый контур и выбрав состояние через 2,5 секунды при открытом пользовательском двухходовом клапане.
Чтобы закрыть цикл обратной связи, введите:
assignin('base','ClosedLoop',1);Для моделирования модели и сохранения информации об операционной точке в виде вектора состояния X и входного вектора U введите:
[t,x,y] = sim('ssc_hydraulic_actuator_digital_control');
idx = find(t>2.5,1);
X = x(idx,:); U = y(idx);Линеаризация модели с помощью Simulink linmod функция.
Чтобы разорвать цикл обратной связи, введите:
assignin('base','ClosedLoop',0);Для линеаризации модели введите:
[a,b,c,d] = linmod('ssc_hydraulic_actuator_digital_control',X,U);Замкните петлю обратной связи, введя:
assignin('base','ClosedLoop',1);Чтобы создать график Бода с соглашением об отрицательной обратной связи, введите в окне команды MATLAB следующее:
c = -c; d = -d;
npts = 100; w = logspace(-3,5,npts); G = zeros(1,npts);
for i = 1:npts
G(i) = c*(1i*w(i)*eye(size(a))-a)^-1*b +d;
end
subplot(211), semilogx(w,20*log10(abs(G)))
grid
ylabel('Magnitude (dB)')
subplot(212), semilogx(w,180/pi*unwrap(angle(G)))
ylabel('Phase (degrees)')
xlabel('Frequency (rad/s)')
grid 
Примечание
Для работы с этим разделом необходимо иметь лицензию Simulink Control Design.
Программное обеспечение Simulink Control Design имеет инструменты, которые помогают находить рабочие точки и возвращают объект модели пространства состояний, определяющий имена состояний. Это рекомендуемый способ линеаризации моделей Simscape.
В окне «Simulink Toolstrip» модели «Гидравлический привод с цифровым регулятором положения» на вкладке «Apps» в разделе «Control Systems» выберите «Model Linearizer».
В окне Линеаризатор модели (Model Linearizer) на вкладке Линейный анализ (Linear Analysis) в раскрывающемся списке Рабочая точка (Operating Point) выберите Linearize At. Введите время снимка моделирования 2.5 секунд и нажмите кнопку OK.
Нажмите кнопку Bode plot.

Дополнительные сведения об использовании программного обеспечения Simulink Control Design для обрезки и линеаризации см. в документации Simulink Control Design.