pidTuner

打开 PID 调节器用于 PID 调节

语法

pidTuner(sys,type)
pidTuner(sys,Cbase)
pidTuner(sys)
pidTuner

说明

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

pidTuner(sys,Cbase) 使用基准控制器 Cbase 启动 PID 调节器,以便您可以比较所设计控制器与基准控制器的性能。如果 Cbase 是 pid、pidstd、pid2 或 pidstd2 控制器对象,PID 调节器将设计一个与 Cbase 具有相同形式、类型和离散积分器公式的控制器。

pidTuner(sys) 设计一个并联形式的 PI 控制器。

pidTuner 使用默认被控对象 1 和比例 § 控制器 1 启动 PID 调节器。

输入参数

sys

用于控制器设计的被控对象模型。sys 可以是:

  • 任何 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,并在提示时指定不稳定极点的数量。

type

要设计的控制器类型,指定为字符向量。术语 控制器类型 指的是控制器作用中包含哪些项。例如,PI 控制器仅包含比例项和积分项,而 PIDF 控制器包含比例项、积分项和滤波微分项。type 可以取以下汇总的值。有关这些控制器类型的更详细信息,请参阅 PID 控制器类型(用于调节)。

1-DOF 控制器
  • ‘P’ — 仅比例
  • ‘I’ — 仅积分
  • ‘PI’ — 比例和积分
  • ‘PD’ — 比例和微分
  • ‘PDF’ — 比例和微分,微分项带有一阶滤波器
  • ‘PID’ — 比例、积分和微分
  • ‘PIDF’ — 比例、积分和微分,微分项带有一阶滤波器
2-DOF 控制器
  • ‘PI2’ — 2-DOF 比例和积分
  • ‘PD2’ — 2-DOF 比例和微分
  • ‘PDF2’ — 2-DOF 比例和微分,微分项带有一阶滤波器
  • ‘PID2’ — 2-DOF 比例、积分和微分
  • ‘PIDF2’ — 2-DOF 比例、积分和微分,微分项带有一阶滤波器

有关 2-DOF PID 控制器的一般信息,请参阅二自由度 PID 控制器。

具有固定设定点权重的 2-DOF 控制器
  • ‘I-PD’ — 2-DOF PID,其中 b = 0, c = 0
  • ‘I-PDF’ — 2-DOF PIDF,其中 b = 0, c = 0
  • ‘ID-P’ — 2-DOF PID,其中 b = 0, c = 1
  • ‘IDF-P’ — 2-DOF PIDF,其中 b = 0, c = 1
  • ‘PI-D’ — 2-DOF PID,其中 b = 1, c = 0
  • ‘PI-DF’ — 2-DOF PIDF,其中 b = 1, c = 0

有关固定设定点权重 2-DOF PID 控制器的更详细信息,请参阅 PID 控制器类型(用于调节)。

控制器形式

当您使用 type 输入时,PID 调节器设计一个并联形式的控制器。如果您想设计一个标准形式的控制器,请使用输入 Cbase 而不是 type,或者从 形式 菜单中选择 标准。有关并联形式和标准形式的更多信息,请参阅 pid 和 pidstd 参考页面。

如果 sys 是采样时间为 Ts 的离散时间模型,PID 调节器将使用 ForwardEuler 离散积分器公式设计一个离散时间 pid 控制器。要设计具有不同离散积分器公式的控制器:

  • 使用输入参数 Cbase 而不是 type。PID 调节器从基准控制器 Cbase 读取控制器类型、形式和离散积分器公式。
  • 在 PID 调节器中,单击 选项 打开“控制器选项”对话框。从 积分公式微分公式 菜单中选择离散积分器公式。

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

Cbase

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

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

  • 与 Cbase 表示的类型相同。
  • 如果 Cbase 是 pid 控制器对象,则为并联形式控制器。
  • 如果 Cbase 是 pidstd 控制器对象,则为标准形式控制器。
  • 如果 Cbase 是 pid2 控制器对象,则为并联形式 2-DOF 控制器。
  • 如果 Cbase 是 pidstd2 控制器对象,则为标准形式 2-DOF 控制器。
  • 具有与 Cbase 相同的 Iformula 和 Dformula 值。有关 Iformula 和 Dformula 的更多信息,请参阅 pid 和 pidstd 参考页面。

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

示例

并联形式控制器的交互式 PID 调节

启动 PID 调节器,为离散时间被控对象设计并联形式 PIDF 控制器:

Gc = zpk([],[-1 -1 -1],1);
Gd = c2d(Gc,0.1); % 创建离散时间被控对象

pidTuner(Gd,‘pidf’) % 启动 PID 调节器

使用积分器离散化方法交互式调节标准形式控制器

使用 BackwardEuler 离散积分器公式设计标准形式 PIDF 控制器:

Gc = zpk([],[-1 -1 -1],1);
Gd = c2d(Gc,0.1); % 创建离散时间被控对象

% 创建基准控制器。
Cbase = pidstd(1,2,3,4,‘Ts’,0.1,…
‘IFormula’,‘BackwardEuler’,‘DFormula’,‘BackwardEuler’)

pidTuner(Gd,Cbase) % 启动 PID 调节器

PID 调节器为 Gd 设计一个与 Cbase 具有相同形式、类型和离散积分器公式的控制器。为了进行比较,您可以通过单击 PID 调节器中的 显示基准 复选框,将 Cbase 的响应图与所设计控制器的响应图一起显示。

提示

  • 如果 type 或 Cbase 指定了一个单自由度 (1-DOF) PID 控制器,则 pidTuner 为如下所示的单位反馈环路设计控制器:

基本反馈环路图

  • 如果 type 或 Cbase 指定了一个二自由度 (2-DOF) PID 控制器,则 pidTuner 为此图反馈环路中的 2-DOF 控制器设计控制器:

2-DOF 反馈环路图

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

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

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

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

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

算法

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

替代方法

您可以从 MATLAB 桌面,在 应用程序 选项卡中打开 PID 调节器。这样做时,请使用 PID 调节器中的 被控对象 菜单来指定您的被控对象模型。

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

对于在实时编辑器中的交互式 PID 调节,请参阅 调节 PID 控制器 实时编辑器任务。此任务允许您交互式设计 PID 控制器,并自动为您的实时脚本生成 MATLAB 代码。

参考

Åström, K. J. and Hägglund, T. Advanced PID Control, Research Triangle Park, NC: Instrumentation, Systems, and Automation Society, 2006.

版本历史记录

在 R2014b 中推出

另请参阅

函数

  • pidtune

对象

  • pid | pidstd | pid2 | pidstd2

实时编辑器任务

  • Tune PID Controller

主题

  • 调节 PID 控制器以侧重参考跟踪或干扰抑制 (PID 调节器)
  • 调节 2-DOF PID 控制器 (PID 调节器)
  • 使用 PID 调节器设计 PID 控制器
  • PID 控制器类型(用于调节)

版权标注与来源说明

本文译文对应的原文内容,均来源于 MathWorks 官方网站(https://www.mathworks.com/)及官方帮助中心,原文版权均独家归属MathWorks 公司所有。

译文系基于原文进行的非官方翻译,仅为方便个人学习、理解MathWorks相关产品(含MATLAB等)的功能、操作及技术细节而制作,不代表MathWorks公司官方立场,也不构成官方翻译版本。

建议使用者优先查阅官方原文。

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐