# 新手入门
本文提供了五个关于交互式地设计和分析控制器的具体案例。
# 控制系统设计器入门
本示例展示了如何使用控制系统设计器来调整反馈控制系统的补偿器。
# 被控对象与设计目标
在本示例中,需要为下述系统设计一个补偿器:
设计要求如下:
- 对于阶跃输入,稳态误差为零
- 100% 上升时间小于 1 s
- 调节时间小于 2 s
- 最大超调量小于 20%
- 开环交叉频率小于 5 rad/s
# 打开控制系统设计器
打开控制系统设计器并导入指定被控对象。
init_syslabapp()
controlSystemDesigner(tf(1,[1,1]))
提示
用户首次使用命令行启动 App 需要在命令行窗口先输入 init_syslabapp() 来对 App 进行初始化。
打开控制系统设计器,在控制系统菜单栏下,通过调节方法可以选择不同补偿器调优方法;同时,通过新建绘图创建用于分析控制器性能的响应图。此外控制系统设计器还支持存储、比较和导出不同的控制系统设计。
对于本示例,使用开环波特图编辑器和根轨迹编辑器对补偿器进行调优,并使用闭环阶跃响应验证设计。
控制系统设计器打开后,默认显示波特图编辑器、根轨迹编辑器和闭环阶跃响应。

若需添加其他响应图,请单击新建绘图,添加需要的绘图类型。

# 添加设计要求
在时域阶跃响应图中添加设计需求。右击阶跃响应绘图区域,进入设计需求 > 新建设计需求,弹出新建设计需求页面。

在设计需求类型下拉列表中,选择需求类型为阶跃响应范围从0到15(秒),如下图输入时域设计需求,单击确定,新建设计需求完成。

将设计需求添加至阶跃响应图中,阴影部分为排除区,阶跃响应必须在该区域之外。同时,为了更好地观察绘图窗口,可在阶跃响应图上右击,在弹出的上下文菜单中选择属性,弹出属性编辑器,手动调整坐标范围以显示所有展示元素。其中,X 轴范围设置为 0 到 3;Y 轴范围设置为 0 到 1.3。

在波特图编辑器中指定交叉频率。右击 LoopTransfer_CG波特图编辑器绘图区域,进入设计需求 > 新建设计需求。
在设计需求类型下拉列表中,选择增益上限,并如下图修改设计需求,单击确定。

# 调整补偿器
为满足零稳态误差的设计需求,在补偿器中加入积分器。右击 LoopTransfer_CG 波特图编辑器绘图区域,上下文菜单选择编辑补偿器打开补偿器编辑器窗口,右击动态特性区域,进入添加极点或零点 > 积分。

要为根轨迹图创建理想的形状,在
附近添加一个实零点。补偿器编辑器中,右击添加极点或零点 > 实零点。选中添加的实零点,将位置设置为 。 
若要通过增加补偿器增益来创建更快的响应,请在补偿器编辑器对话框中增大增益数值。为了满足交叉频率要求,在波特图编辑器绘图区域中将响应保持在排除区域以下。

通过增大补偿器增益,设计出符合已添加设计需求的补偿器。此时右击波特图编辑器或根轨迹编辑器绘图区域,并选择编辑补偿器打开补偿器编辑器,修改增益为
。

# 导出补偿器
在完成控制器的设计后,可以将设计导出到 Syslab 工作区进行进一步分析或设计。
切换控制系统选项卡,单击导出模型按钮弹出对话框。
选择当前设计,并选中补偿器 C,单击导出,且导出的模型可以在 Syslab 工作区中查看。

# 保存会话
如需将当前环境中的配置和设计保存至本地。
单击保存会话,将当前环境中的会话保存至本地。

如需将本地保存的会话加载至当前控制系统设计器中,单击加载会话。
# 使用波特图形设计直流电机的补偿器
波特图设计是修改补偿器以实现特定开环响应的交互式图形化方法。通过波特图编辑器可以调整开环带宽、增益裕度和相位裕度。
如需进行环路整形,可以对补偿器添加极点和零点,并使用补偿器编辑器调整它们的值。详细信息,请参见编辑补偿器动态特性。
本例展示了如何使用波特图形调谐方法设计直流电机的补偿器。
# 被控对象和设计需求
直流电动机中所描述的直流电动机的传递函数为:
对于本例,设计需求如下:
- 上升时间小于 0.5 s
- 稳态误差小于 5%
- 超调量小于 10%
- 增益裕度大于 20 dB
- 相位裕度大于 40 deg
# 打开控制系统设计器
在命令行中,创建被控对象的传递函数模型,打开控制系统设计器。
using TyControlSystems
G = tf(1.5,[1 14 40])
init_syslabapp()
controlSystemDesigner(G)
打开控制系统设计器并以默认控制结构导入 G 作为被控对象模型。
在控制系统设计器中,以下响应图被打开:
环路 LoopTransfer_CG 的开环波特图编辑器,为开环传递函数 G*C 的波特响应,其中 C 是补偿器,G 是被控对象;
环路 IOTransfer_r2y 的阶跃响应图,代表整个系统输入 - 输出的闭环传递函数。

# 调整带宽
由于设计要求上升时间小于 0.5 s,所以将开环直流交叉频率设置为约 3 rad/s。在一阶近似下,这个交叉频率对应的时间常数为 0.33 s。
为了使交叉更容易看到,打开绘图网格。右击波特图编辑器绘图区域,并选择网格,此时波特图中添加了网格方便查看。

为了调整交叉频率,增加补偿器增益。在波特图编辑器中,通过移动曲线,调整开环交叉频率为 3 rad/s附近。此时,补偿器 C 的增益为
。 
# 查看阶跃响应特性
要将上升时间添加到阶跃响应图中,右击绘图区域,并选择特性 > 上升时间。单击特性点,查看上升时间详情。
查看阶跃响应特性点。 如图,上升时间在 0.2 s 左右,满足设计要求。
类似地,查看系统峰值,此时超调量约为 3.6%。

提示
控制系统工具箱的底层计算依赖控制函数库,App 主要展示的是功能,新手入门案例中的特性点精度问题无需关注。
# 将积分器添加到补偿器
为了满足 5% 的稳态误差要求,通过在补偿器中添加积分器来消除闭环阶跃响应中的稳态误差。在波特图编辑器中右击绘图区域,打开补偿器编辑器页面。
右击空白处,并选择添加极点或零点 > 积分。

- 通过增加积分器使得闭环系统稳态误差为零。然而,改变补偿器动态也会改变交叉频率,会增加上升时间。为了减少上升时间,需要将交叉频率提高到 3 rad/s 左右。
# 调整补偿器增益
为了将交叉频率恢复到 3 rad/s 左右,进一步增加补偿器增益。右击波特图编辑器的绘图区域,并选择编辑补偿器。 在补偿器编辑器对话框中的补偿器部分中,指定增益为 99,响应图会自动更新。
提示
用户也可以通过拖动波特图上的曲线,调整交叉频率为 3 rad/s。
此时,超调量大于 10%。由增益和积分器组成的补偿器不足以满足设计要求。因此,补偿器需要额外的动态特征。

# 添加超前环节到补偿器
在波特图编辑器中,检查当前补偿器设计的增益裕度和相位裕度。设计要求增益裕度大于 20 dB,相位裕度大于 40 deg。目前的设计不能满足这些要求。

为了增加系统的稳定裕度,考虑在补偿器上增加超前环节。在波特图编辑器中,右击并选择编辑补偿器,为系统增加一个实零点和一个实极点。调整实零点的位置至
,该值接近直流电机模型的最慢(最左侧)极点;调整实极点的位置至 ;调整补偿器的增益至 。 
当修改补偿器参数时,补偿器和响应图将自动更新。
在波特图编辑器中,约
的增益裕度刚好满足设计要求。通过查看波特图上的文本信息,可查看增益裕度相位裕度是否满足需求。 
为了增加系统的鲁棒性,在补偿器编辑器对话框中,将补偿器增益降低到
。 此时,增益裕度增加到
左右,响应图更新。
此时系统性能特点如下:
- 上升时间 0.445 s
- 稳态误差为零
- 超调 3.41%
- 增益裕度约为 21.8 dB
- 相位裕度约为 65.5 deg
- 上升时间 0.445 s
系统响应满足所有设计要求。
# 使用根轨迹图设计电液伺服机构的补偿器
根轨迹设计是一种常见的控制系统设计方法,控制系统设计器支持在根轨迹图中交互式地编辑补偿器增益、极点和零点。
本例展示了如何使用根轨迹图形调谐技术设计电液伺服机构的补偿器。
# 被控对象模型
一个简易版的电液伺服机构模型由以下部分组成:
- 推挽式放大器
- 高压液压油容器中的滑动轴
- 容器中允许流体流动的阀门开口
- 一种带有活塞驱动的推力杆的中央腔室,用于向负载输送力
- 对称的流体回流容器
磁芯上的力与电磁铁线圈中的电流成正比。当阀芯移动时,阀门打开,使高压液压液流过腔室。运动的流体迫使活塞向与阀芯相反的方向运动。
使用电磁铁的输入电压可以控制滑动轴的位置。因此,当滑动轴位置可以测量时,使用反馈对其进行控制是可行的。
# 设计需求
对于本例,调优补偿器需满足以下闭环阶跃响应要求:
的调节时间小于 秒; - 最大超调量小于
。
# 打开控制系统设计器
在命令行中,创建伺服机构的线性化模型,并将其导入到控制系统设计器。
using TyControlSystems
s=tf("s")
Gservo = (4e+07)/(s*(s+250)*(s^2 + 40s + 9e04))
init_syslabapp()
controlSystemDesigner(Gservo)
控制系统设计器 App 打开并以默认控制架构导入 Gservo 作为被控对象模型。
中央窗口默认显示波特图、根轨迹图和阶跃响应图。其中,在闭环阶跃响应图中查看特性,上升时间在
# 增加补偿器增益
为了创建一个更快的响应,增加补偿器增益。在根轨迹编辑器中,右击绘图区域并选择编辑补偿器,在补偿器编辑器对话框中,指定增益为
。 
在根轨迹编辑器图中,闭环极点位置发生移动以反映新的增益值。此外,阶跃响应图也会更新。
闭环响应不满足调节时间要求并表现出不必要的振荡。且增加增益会使系统欠阻尼,进一步增加将导致系统不稳定。
因此,为了满足设计要求,必须指定额外的补偿器动态。添加和编辑补偿器动态的详细信息,请参见编辑补偿器动态特性。
# 向补偿器中添加零极点
要向补偿器添加复极点对,右击根轨迹编辑器绘图区域,单击菜单栏的编辑补偿器,在参数零极点>动态特性中,右击添加极点或零点 > 复极点,添加一对共轭复极点,设置复极点位置为 -140 ± 260im。

同上,右击添加极点或零点 > 复零点,设置复零点位置为 -170 ± 430im。同时调小增益为
。 
零极点添加完成后,阶跃响应绘图会自动更新。为了更好地查看系统性能,可通过右击属性编辑器,对阶跃响应图的坐标轴范围进行了调整。

# 调整极点和零点位置
补偿器的设计过程可能涉及一些试验和错误。调整补偿器增益,极点位置和零点位置,直到满足设计标准。
一种可能满足设计要求的补偿器设计是:
- 补偿器增益为
; - 复极点位于
处; - 复零点位于
处。
在补偿器编辑器对话框中,使用这些值配置补偿器。在阶跃响应图中,显示调节时间在 0.06 s左右,超调量为 4% 左右。
此时系统性能特点如下:
- 调节时间为
s - 超调量约为
系统响应满足所有设计要求。
# 使用响应图分析设计
本示例展示了如何使用控制系统设计器中的绘图工具分析控制系统设计。控制系统设计器有两种类型的图:
- 分析图:使用分析图能够可视化系统性能和显示响应特征;
- 编辑器图:使用编辑器图能够可视化系统性能,并使用图形化调优方法交互式地调优补偿器动态。
# 打开控制系统设计器
在 Syslab 中的 APP 选项卡中,单击控制系统设计器的图标,启动控制系统设计器。
# 新建分析图形
创建新的分析图,在菜单栏控制系统中单击新建绘图选项,然后选择要添加的绘图类型。

在新建绘图下拉框中,下拉列表指定响应类型进行新建绘图。且在新建绘图时,可以选择不同的响应。如下图所示,新建脉冲响应绘图窗口。
使用分析图,可以比较存储在数据浏览器中的多个设计的性能。详细信息,请参见比较多个设计性能。
# 新建编辑器图形
创建新的编辑器图,在菜单栏控制系统中单击调节方法选项,在调节方法下拉框中,选择一种编辑器进行图形调整。
具体有关使用编辑器图进行图形优化的示例,请参见:
- 使用波特图形设计直流电机的补偿器
- 使用根轨迹图设计电液伺服机构的补偿器
- 有关以交互方式编辑补偿器动态的详细信息,请参见编辑补偿器动态特性。
- 使用波特图形设计直流电机的补偿器
# 图形特性
若需查看响应信息和数据值,请单击分析图曲线上的点;
若需查看系统特性,请右击特性勾选需要显示特性,然后在图上单击特性点。
注:上图为某系统的闭环阶跃响应。
# 图形工具
若要对图形进行移动,右击平移按钮。鼠标箭头变成手掌,可拖动线条。

若需显示图例,右击图例按钮。

需调整坐标轴的范围和名称,右击属性打开属性编辑器进行编辑信息。

# 设计需求
- 将设计要求的图形表示添加到任何编辑器或分析图。这些要求将定义绘图区域中的阴影排除区域。
- 在分析和调整补偿器设计时,请使用这些区域作为指南。如需满足设计要求,响应图必须保持在相应的阴影区域之外。
- 要将设计要求添加到绘图区域,请右击图上的任意位置,然后进入设计需求 > 新建设计需求。
- 在新建设计需求对话框中,指定设计需求类型,并定义设计需求参数。每种类型的设计需求都有一组不同的参数进行配置。
下图为根轨迹编辑器的设计需求类型。
# 比较多种设计效果
设计可以进行保存、删除、取回和比较等操作。
此示例说明如何比较两种不同控制系统设计的性能,通过比较可以查看不同调谐方法或补偿器结构。
# 存储设计
在此示例中,第一个设计是在控制系统设计器入门中以图形方式调谐的补偿器,将设计存储在控制系统设计器中。在设计区域单击存储按钮,存储设计。存储的设计将显示在数据浏览器的设计区域中。
# 比较新设计和保存的设计
- 在设计区域单击比较按钮,在比较设计对话框中,默认情况下选中当前设计。要将设计与当前设计进行比较,需勾选对应的设计。此时,所有分析图都会更新以反映选中的设计。
如图所示,当前设计对补偿器 C 的增益进行了修改,修改 C 为 4。对两个设计进行了比较。
# 恢复保存的设计
在某些情况下,需要恢复以前存储的设计。
在设计区域单击取回按钮,选择设计列表中存储的某个设计为当前设计。同时,与设计比较一样,待取回的设计和当前设计的采用时间必须相同。
提示
取回的设计将覆盖当前设计。如有必要,请在取回以前存储的设计之前存储当前设计。