\sim

Моделируйте ответ замкнутого цикла/разомкнутого цикла на произвольную ссылку и сигналы воздействия для неявного или явного MPC

Синтаксис

sim(MPCobj,T,r)
sim(MPCobj,T,r,v)
sim(___,SimOptions)
[y,t,u,xp,xmpc,SimOptions] = sim(___)

Описание

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

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

sim(MPCobj,T,r,v) также указывает, что измеренное воздействие сигнализирует о v.

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

[y,t,u,xp,xmpc,SimOptions] = sim(___) подавляет графический вывод и вместо этого возвращает последовательность объекта выходные параметры y, последовательность времени t (равномерно распределенный MPCobj.Ts), переменные u, которыми управляют, сгенерированные контроллером MPC, последовательность xp состояний модели объекта, используемого для симуляции, последовательность xmpc состояний контроллера MPC (обеспеченный наблюдателем состояния), и опции симуляции, SimOptions. Можно использовать этот синтаксис с любой из позволенных комбинаций входных аргументов.

Входные параметры

MPCobj

Контроллер MPC, содержащий параметры Образцового Прогнозирующего Закона о надзоре, чтобы моделировать, заданный или как неявный контроллер MPC (mpc) или как явный контроллер MPC (generateExplicitMPC).

T

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

Если вы не используете T, значение по умолчанию является размером строки того, какой бы ни из следующих массивов имеет самый большой размер строки:

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

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

  • Свойство UnmeasuredDisturbance SimOptions, если задано

  • Свойство OutputNoise SimOptions, если задано

Значение по умолчанию: самый большой размер строки r, v, UnmeasuredDisturbance и OutputNoise

r

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

Значение по умолчанию: MPCobj.Model.Nominal.Y

v

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

Значение по умолчанию: Соответствующие записи от MPCobj.Model.Nominal.U

SimOptions

Опции симуляции, заданные как, опции возражают, что вы создаете использование mpcsimopt.

Значение по умолчанию: []

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

y

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

t

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

u

Последовательность переменных, которыми управляют, сгенерированных контроллером MPC, возвращенным как T-by-Nu массив, где T является количеством шагов симуляции и Nu, является количеством переменных, которыми управляют.

xp

Последовательность состояний модели объекта управления, T-by-Nxp массив, где T является количеством шагов симуляции и Nxp, является количеством состояний в модели объекта управления. Моделью объекта управления является или MPCobj.Model или SimOptions.Model, если последний задан.

xmpc

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

SimOptions

Используемые опции симуляции, возвратились как объект mpcsimopt.

Примеры

свернуть все

Моделируйте 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.

Смотрите также

| |

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

Для просмотра документации необходимо авторизоваться на сайте