exponenta event banner

sim

Моделирование контроллера MPC в замкнутом контуре с линейной установкой

Описание

Используйте элемент управления «Прогнозирование модели» Toolbox™ sim функция для моделирования обратной или обратной реакции контроллера MPC с ограничениями и весами, которые не изменяются во время выполнения. Контроллер MPC может быть неявным или явным, управляемая установка должна быть линейной и инвариантной по времени, а опорные сигналы и сигналы возмущений должны указываться заранее. По умолчанию в моделировании используется завод MPCobj.Model.Plant, но можно использовать другую модель растения для оценки устойчивости контроллера к несоответствию моделей.

Чтобы запустить модели simulink программно, см. раздел sim (Симулинк).

sim(mpcobj,Ns,r) моделирует замкнутую систему, сформированную моделью установки, указанной в mpcobj.Model.Plant и контроллером MPC mpcobj, в ответ на заданный опорный сигнал, r. Контроллер MPC может быть традиционным контроллером MPC (mpc) или явный контроллер MPC (explicitMPC). Моделирование выполняется для указанного количества шагов моделирования. Ns. sim строит график результатов моделирования.

пример

sim(mpcobj,Ns,r,v) также определяет измеренный сигнал возмущения v.

sim(___,SimOptions) задает дополнительные параметры моделирования. Этот синтаксис позволяет изменять параметры моделирования по умолчанию, такие как начальные состояния, входной/выходной шум, неизмеренные возмущения, несоответствие установок и т.д. Это также позволяет моделировать завод в разомкнутом контуре. Вы можете использовать SimOptions с любой из предыдущих комбинаций ввода.

[y,t,u,xp,xc,SimOptions] = sim(___) подавляет печать и вместо этого возвращает:

  • последовательность выходов установки y,

  • временная последовательность t (на равном расстоянии mpcobj.Ts),

  • управляемые переменные u генерируется контроллером MPC,

  • последовательность xp состояния модели установки, используемой для моделирования,

  • последовательность xmpc состояния контроллера ПДК (предоставленного государственным наблюдателем),

  • и объект параметров моделирования, SimOptions.

Примеры

свернуть все

Моделирование управления MPC системы MISO. Система имеет одну управляемую переменную, одно измеренное возмущение, одно неизмеренное возмущение и один выход.

Создайте непрерывную модель завода. Эта установка будет использоваться в качестве модели прогнозирования для контроллера MPC.

sys = ss(tf({1,1,1},{[1 .5 1],[1 1],[.7 .5 1]}));

Дискретизация модели установки с использованием времени отбора проб 0,2 ед.

Ts = 0.2;
sysd = c2d(sys,Ts);

Укажите тип сигнала MPC для входных сигналов установки.

sysd = setmpcsignals(sysd,'MV',1,'MD',2,'UD',3);

Создание контроллера MPC для sysd модель установки. Используйте значения по умолчанию для весов и горизонтов.

MPCobj = mpc(sysd);
-->The "PredictionHorizon" property of "mpc" object is empty. Trying PredictionHorizon = 10.
-->The "ControlHorizon" property of the "mpc" object is empty. Assuming 2.
-->The "Weights.ManipulatedVariables" property of "mpc" object is empty. Assuming default 0.00000.
-->The "Weights.ManipulatedVariablesRate" property of "mpc" object is empty. Assuming default 0.10000.
-->The "Weights.OutputVariables" property of "mpc" object is empty. Assuming default 1.00000.

Наложение зависимости на управляемую переменную [0 1] диапазон.

MPCobj.MV = struct('Min',0,'Max',1);

Укажите время остановки моделирования.

Tstop = 30;

Определите опорный сигнал и измеренный сигнал возмущения.

num_sim_steps = round(Tstop/Ts);
r = ones(num_sim_steps,1);
v = [zeros(num_sim_steps/3,1); ones(2*num_sim_steps/3,1)];

Опорный сигнал, r, является единичным шагом. Измеренный сигнал возмущения, v, является единичным шагом, с 10 единичной задержкой.

Смоделировать контроллер.

sim(MPCobj,num_sim_steps,r,v)
-->The "Model.Disturbance" property of "mpc" object is empty:
   Assuming unmeasured input disturbance #3 is integrated white noise.
   Assuming no disturbance added to measured output channel #1.
-->The "Model.Noise" property of the "mpc" object is empty. Assuming white noise on each measured output channel.

Figure contains 3 axes. Axes 1 contains an object of type line. These objects represent Driving inputs, MPC response1. Axes 2 contains an object of type line. These objects represent Driving inputs, MPC response1. Axes 3 contains an object of type line. These objects represent Driving inputs, MPC response1.

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Driving inputs, MPC response1.

Входные аргументы

свернуть все

Прогнозирующий контроллер модели, указанный как один из следующих параметров:

  • mpc object - неявный контроллер MPC

  • explicitMPC object - явный контроллер MPC, созданный с помощью generateExplicitMPC.

Число шагов моделирования, указанное как положительное целое число.

Если опустить Ns, значение по умолчанию - это количество строк в любом из следующих массивов, имеющих наибольшее число строк:

  • Входной аргумент r

  • Входной аргумент v

  • UnmeasuredDisturbance имущество SimOptions, если указано

  • OutputNoise имущество SimOptions, если указано

Пример: 100

Опорный сигнал, заданный как массив. Этот массив имеет ny столбцы, где ny - количество выходов установки. r может иметь от 1 до Ns строк. Если число строк меньше Nsотсутствующие строки устанавливаются равными последней строке.

Пример: ones(100,1)

Измеренный сигнал возмущения, заданный в виде матрицы. Этот массив имеет nv столбцы, где nv - количество измеренных входных возмущений. v может иметь от 1 до Ns строк. Если число строк меньше Nsотсутствующие строки устанавливаются равными последней строке.

Пример: [zeros(50,1);ones(50,1)]

Опции моделирования, используемые для указания дополнительных опций моделирования, а также шумовых и возмущающих сигналов, которые поступают на установку, но неизвестны контроллеру. Этот объект можно также использовать для моделирования завода в разомкнутом цикле или для определения модели завода, используемой в моделировании, которая отличается от модели в MPCobj.Model.Plant, что позволяет оценить надежность реакции контура управления на несоответствие модели.

Дополнительные сведения см. в разделе mpcsimopt.

Выходные аргументы

свернуть все

Последовательность значений выходных данных завода, возвращаемых в виде Nsоколо-Ny массив, где Ns - количество этапов моделирования и Ny - количество выходов установки. Значения в y не включают ни помехи на выходе присадки, ни шум измерения присадки (если таковые имеются).

Временная последовательность, возвращенная как Nsмассив -by-1, где Ns - количество шагов моделирования. Значения в t равноотстоят друг от друга на MPCobj.Ts.

Последовательность значений манипулируемых переменных, генерируемых контроллером MPC, возвращаемых в виде Nsоколо-Nu массив, где Ns - количество этапов моделирования и Nu - количество управляемых переменных.

Последовательность значений состояний модели завода, возвращаемых как Nsоколо-Nxp массив, где Ns - количество этапов моделирования и Nxp - количество состояний в модели установки. Модель завода: MPCobj.Model или SimOptions.Model, если указано последнее.

Последовательность состояний контроллера MPC, возвращаемая как Ns-by-1 структурный массив. Каждая запись в массиве структуры имеет те же поля, что и mpcstate объект. На каждом этапе времени контроллер MPC получает управляемую переменную путем умножения оценки состояния установки на матрицу усиления (вычисленную путем решения ограниченной задачи квадратичной оптимизации). По умолчанию контроллер использует линейный фильтр Калмана для оценки состояния установки дискретного времени, дополненного моделями возмущений и шума. Поэтому состояния контроллера являются состояниями этого фильтра Калмана, которые, в свою очередь, являются оценками состояний установки, возмущений и шумовой модели на каждом временном шаге.

Объекты параметров моделирования, используемые для моделирования. Этот объект может задавать шумовые и возмущающие сигналы, которые поступают в установку, но неизвестны контроллеру. Также можно указать, является ли моделируемая система разомкнутой или модель завода, используемая в моделировании, отличается от модели в MPCobj.Model.Plant.

Дополнительные сведения см. в разделе mpcsimopt.

См. также

| |

Представлен до R2006a