主要内容

本页翻译不是最新的。点击此处可查看最新英文版本。

pidTuner

R2026a

打开 PID 调节器进行 PID 调节

描述

pidTuner(sys,type) 启动 PID 调节器,并为被控对象 sys 设计 type 类型的控制器。

示例

pidTuner(sys,Cbase) 启动 PID 调节器,并附带基线控制器 Cbase,以便您可以在设计的控制器与基线控制器之间进行性能比较。如果 Cbase 是 pid、pidstd、pid2 或 pidstd2 控制器对象,PID 调节器将设计形式、类型和离散积分器公式与 Cbase 相同的控制器。

示例

pidTuner(sys) 设计并联型 PI 控制器。

pidTuner 以默认被控对象 1 和比例 (P) 控制器 1 启动 PID 调节器。

示例

全部折叠

此示例说明如何从命令行启动 PID 调节器,以调节并联型 PIDF 控制器。

定义一个离散时间零极点增益被控对象。

Gc = zpk([],[-1 -1 -1],1);
Gd = c2d(Gc,0.1);

启动 PID 调节器以设计并联型 PIDF 控制器。

pidTuner(Gd,'pidf')

此示例说明如何启动 PID 调节器以设计标准型 PIDF 控制器。

定义一个离散时间零极点增益被控对象。

Gc = zpk([],[-1 -1 -1],1);
Gd = c2d(Gc,0.1);

使用 BackwardEuler 离散积分器公式创建标准型基线控制器。

Cbase = pidstd(1,2,3,4,'Ts',0.1,...
      'IFormula','BackwardEuler','DFormula','BackwardEuler')

启动 PID 调节器。

pidTuner(Gd,Cbase)

PID 调节器会为 Gd 设计一个形式、类型和离散积分器公式与 Cbase 相同的控制器。为了进行比较,您可以在 PID 调节器中点击显示基线复选框,以同时显示 Cbase 的响应图和设计的控制器的响应图。

输入参数

全部折叠

控制器设计的被控对象模型,指定为下列值之一。

  • 任意 SISO LTI 系统(如 ss、tf、zpk 或 frd)。

  • 任意 System Identification Toolbox™ SISO 线性模型(idtf (System Identification Toolbox)、idfrd (System Identification Toolbox)、idgrey (System Identification Toolbox)、idpoly (System Identification Toolbox)、idproc (System Identification Toolbox) 或 idss (System Identification Toolbox))。

  • 连续时间或离散时间模型。

  • 稳定、不稳定或积分型系统。但是,含不稳定极点的被控对象可能无法通过 PID 控制实现稳定。

  • 包含任何类型时滞的模型。但是,时滞较长的被控对象可能无法通过 PID 控制达到足够的性能。

如果被控对象具有不稳定极点,且 sys 属于以下任一类型:

  • frd 模型

  • 具有内部时滞且无法转换为 I/O 延迟的 ss 模型

则您必须指定被控对象中不稳定极点的数量。要执行此操作,请打开 PID 调节器,然后在被控对象菜单中,选择 导入。在“导入线性系统”对话框中,重新导入 sys,并在提示时指定不稳定极点的数量。

要设计的控制器的控制器类型,指定为字符向量。术语控制器类型指控制器动作中包含的项。例如,PI 控制器仅包含比例项和积分项,而 PIDF 控制器包含比例项、积分项和滤波导数项。type 的可选值汇总如下。有关这些控制器类型的更多详细信息,请参阅PID Controller Types for Tuning。

单自由度控制器

  • 'P' - 纯比例

  • 'I' - 纯积分

  • 'PI' - 比例和积分

  • 'PD' - 比例和导数

  • 'PDF' - 比例和导数,其中导数项带有一阶滤波器

  • 'PID' - 比例、积分和导数

  • 'PIDF' - 比例、积分和导数,其中导数项带有一阶滤波器

二自由度控制器

  • 'PI2' - 二自由度比例和积分

  • 'PD2' - 二自由度比例和导数

  • 'PDF2' - 二自由度比例和导数,其中导数项带有一阶滤波器

  • 'PID2' - 二自由度比例、积分和导数

  • 'PIDF2' - 二自由度比例、积分和导数,其中导数项带有一阶滤波器

有关二自由度 PID 控制器的详细信息,请参阅二自由度 PID 控制器。

具有固定设定点权重的二自由度控制器

  • 'I-PD' - 二自由度 PID,其中 b = 0、c = 0

  • 'I-PDF' - 二自由度 PIDF,其中 b = 0、c = 0

  • 'ID-P' - 二自由度 PID,其中 b = 0、c = 1

  • 'IDF-P' - 二自由度 PIDF,其中 b = 0、c = 1

  • 'PI-D' - 二自由度 PID,其中 b = 1、c = 0

  • 'PI-DF' - 二自由度 PIDF,其中 b = 1、c = 0

有关固定设定点权重二自由度 PID 控制器的更多详细信息,请参阅PID Controller Types for Tuning。

控制器形式

当您使用 type 输入时,PID 调节器会设计并联型控制器。如果要设计标准型控制器,请改用输入 Cbase 而非 type,或者从形式菜单中选择标准。有关并联型和标准型的详细信息,请参阅 pid 和 pidstd 参考页。

如果 sys 是具有采样时间 Ts 的离散时间模型,则 PID 调节器使用 ForwardEuler 离散积分器公式设计离散时间 pid 控制器。要设计采用不同离散积分器公式的控制器,请执行以下操作:

  • 改用输入参量 Cbase 而非 type。PID 调节器会从基线控制器 Cbase 中读取控制器类型、形式和离散积分器公式。

  • 在 PID 调节器中,点击选项以打开“控制器选项”对话框。从积分公式和导数公式菜单中选择离散积分器公式。

有关离散积分器公式的详细信息,请参阅 pid 和 pidstd 参考页。

表示基线控制器的动态系统,允许您将设计的控制器的性能与 Cbase 的性能进行比较。

如果 Cbase 是 pid 或 pidstd 对象,PID 调节器还会使用它来配置设计的控制器的类型、形式和离散积分器公式。设计的控制器:

  • 是由 Cbase 表示的类型。

  • 是并联型控制器(如果 Cbase 是 pid 控制器对象)。

  • 是标准型控制器(如果 Cbase 是 pidstd 控制器对象)。

  • 是并联型二自由度控制器(如果 Cbase 是 pid2 控制器对象)。

  • 是标准型二自由度控制器(如果 Cbase 是 pidstd2 控制器对象)。

  • 与 Cbase 具有相同的 Iformula 值和 Dformula 值。有关 Iformula 和 Dformula 的详细信息,请参阅 pid 和 pidstd 参考页。

如果 Cbase 是任何其他动态系统,PID 调节器将设计并联型 PI 控制器。您可以在启动 PID 调节器后,使用 形式和类型菜单更改控制器的形式和类型。

提示

  • 如果 type 或 Cbase 指定的是单自由度 (1-DOF) PID 控制器,则 pidTuner 将针对如图所示的单位反馈环设计控制器:

  • 如果 type 或 Cbase 指定的是二自由度 (2-DOF) PID 控制器,则 pidTuner 将按照下图反馈环所示设计二自由度控制器:

  • PID 调节器的默认目标相位裕度为 60 度,并会自动调节 PID 增益以平衡性能(响应时间)与稳健性(稳定裕度)。使用响应时间或带宽和相位裕度滑块,根据您的需求调节控制器的性能。提高性能通常会降低稳健性,反之亦然。

  • 从响应菜单中选择响应图以分析控制器的性能。

  • 如果您提供了 Cbase,请选中显示基线以显示基线控制器的响应。

  • 有关这些使用 PID 调节器的更多详细信息,请参阅用 PID 调节器设计 PID 控制器。

  • 有关实时编辑器中的交互式 PID 调节,请参阅调节 PID 控制器实时编辑器任务。此任务可以交互方式设计 PID 控制器,并为实时脚本自动生成 MATLAB® 代码。

算法

有关 MathWorks® PID 调节算法的信息,请参阅 PID 调节算法。

备选方法

您可以从 MATLAB 桌面的 App 选项卡中打开 PID 调节器。在您执行此操作时,请使用 PID 调节器中的被控对象菜单来指定您的被控对象模型。

要在命令行中进行 PID 调节,请使用 pidtune。pidtune 命令可以一次为多个被控对象设计控制器。

有关实时编辑器中的交互式 PID 调节,请参阅调节 PID 控制器实时编辑器任务。此任务可以交互方式设计 PID 控制器,并为实时脚本自动生成 MATLAB 代码。

版本历史记录

在 R2014b 中推出