n
1 PID Tuner介绍
PCS 7 PID Tuner是一款PID控制器参数整定的工具。从PCS 7 V5.1开始,该工具就可以用来优化控制器,而在PCS 7 V7.1中,PID Tuner工具除了能够用于标准库中的PID功能块(例如CTRL_PID、CTRL_S等)之外还可以兼容APL库中的PID功能块(PIDConL、PIDStepL等),更为关键的是从7.0开始PID tuner就免费了。
PID Tuner工具通过从在线PID功能块的背景数据块中收集数据并记录,基于这些记录下来的数据进行运算,得出当前控制器的优化参数,并应用到控制器。工具还提供了设定值、过程值和操控输出值的实时数据曲线显示功能,直观显示整个优化过程。n
图 1 PID Tuner界面n
PID Tuner的界面大体分为两个部分,上半部分是曲线实现,包括相应的坐标设置、归档等;下半部分则是具体的优化步骤的指示和相应的设置。
PID Tuner可以对由标准库或APL库的PID功能块组成的单回路进行优化,也可以在诸如串级控制、比值控制等复杂回路中完成控制器优化。n
2 PID Tuner基本使用
PID Tuner一般在工程师站ES上执行,但在使用之前需要在OS或者CFC中进行使能,以PIDConL功能块为例,在对应ICON的参数面板中使能优化功能:n
图2 在OS上使能优化功能n
在上图中,比例、积分等参数都是可输入的。选中“PID optimization”,使能参数优化,这些相关的参数都会被取消使能,不可修改。
除了在面板中使能之外,在CFC中也可以通过修改参数“OptimEn”来使能。n
图3 在CFC中使能优化功能n
使用PID Tuner完成优化之后,OptimEn会自动复位。和参数OptimEn一样,参数OptimOcc在优化启动之后变为1,在结束的时候复位到0。
由于优化过程需要对CPU中的背景数据块进行数据读写,所以要确保运行PID Tuner的ES站和CPU的连接正常。
需要注意的是,PID Tuner的优化过程中会直接影响过程输出,所以需要在工艺条件具备的情况下才能操作。在软件中如果某个步骤会对输出产生影响,在窗口上会出现一个叹号的警示标识来提示。
至此,使用PID Tuner的前提条件已经具备,可以开始对控制器进行优化了。n
2.1 运行PID Tuner
打开调用了相应PID功能块的CFC,鼠标左键单击PID块,在菜单“CFC”下选择“Optimize PID Controller…”即可运行PID Tuner工具:n
图4 从CFC中运行PID Tunern
正常情况下在点击“Optimize PID Controller…”之后,PCS 7 PID Tuner工具软件会运行并且获取回路的数据:n
图5 PID Tuner起始界面n
上图中的浅蓝色区域中的数据就是来自背景数据块的实时值。为了方便调试,PID Tuner中的实时数据显示曲线还可以调整坐标、显示时间段等参数的设置。首先点击按钮“Stop”停止曲线动态显示,此时“Settings…”按钮可操作,点击:n
图6 曲线参数设置n
在参数区域A中主要是曲线坐标范围、曲线颜色等的设置,参数区域B则是数据采样间隔和显示的时间轴长度的设置;而在参数区域C中,可以设置归档数据的最长记录时间长度(或者是最大的记录文件空间)。
PID Tuner还提供了数据归档的功能,单击按钮“New Archive”,软件会提示用户新建一个后缀为“.csv”的文件,这个文件用来存储归档数据。之后点击“Start”按钮就可以开始进行数据归档了:n
图7 数据归档中n
如上图所示,归档过程中“Close Archive”按钮可操作,只要点击这个按钮即可停止归档。此外,对于已经归档的数据,开始在PID Tuner中以曲线的形式重新打开。在停止曲线动态显示的时候,“Open Archive”按钮时可操作的,单击它,选择归档文件即可。n
2.2 控制器优化过程
本文对使用PCS 7 V7.1下APL库中的PIDConL功能块的PID控制器进行优化。从OS或者CFC中使能控制器优化之后,在如图5所示的界面中点击按钮“Start Controller Optimization”开始优化过程。
控制器优化过程,其实就是一个控制对象模型的识别过程。通过设定值或者控制输出的一个阶跃变化,记录对象的响应曲线数据,并根据这些数据辨识出过程模型主要参数,包括模型类型、阶数、对象的增益、迟滞时间等。之后根据模型数据计算出最优的控制器参数。如下一个控制对象,正常工作点在30左右,工作范围在20~40之间,而且在这个范围中回路是收敛的而不是发散的,所以优化过程就可以给定一个设定值从20到40的阶跃,通过记录过程值的曲线,从而得出对象的模型:n
图8 优化过程n
2.2.1 Step 1:过程回路类型选择n
图9 Step 1:过程回路类型选择n
上图中需要对被控回路的类型进行选择,按照回路是否存在“积分”特性来区分。
对于没有积分特性的回路,每一个给定控制输出下,过程值都会稳定在一个固定值上,例如一个简单的流量控制,在没有外界干扰时,一个控制流量的阀门开度对应一个固定的流量值,改变阀门开度,流量变化到对应的值。与此相对应地,如果回路存在积分特性,那么在控制器给出一个输出值时,过程值要么保持为一个稳定值,要么不断增加或者减少。例如一个反应罐的液位,进料是一个恒定值,出口阀门的一个开度,可能会让罐的液位保持稳定,也可能让液位不断升高或者降低。
选择“Without Integral action in the process”,点击“Next”按钮进入下一步。n
2.2.2 Step 2:设定开始点
控制器优化适用于线性对象,为了提高识别的准确性和适用性,需要将工作点附近的最大线性范围高低限作为优化的开始点和目标点。例如,一个温度控制对象,工作点在300℃,在260~350℃这个范围里,系统是线性的,那么开始点就可以设置在260℃,目标值为350℃。n
(a)n
(b)n
图10 Step 2:设定开始点和操作模式n
第2步中设置优化过程的操作模式和开始点,对于没有“积分”特性的回路,自动模式和手动模式均可用,而具有“积分”特性的回路只有自动模式可以选择。
自动模式中优化过程在闭环控制回路下进行,而手动模式则完全在开环控制回路下工作,这类似于PID控制中的自动/手动控制模式。自动模式下需要设置优化开始的设定值,手动模式下需要给出优化开始时的操控输出量。点击“Next”按钮,操作模式和相应的设定值/输出值会作用到PID控制器中:n
图11 应用开始点参数n
完成开始点参数设置之后,PID Tuner会提示设置目标点。n
2.2.3 Step 3:设定目标点n
(a)n
(b)n
图12 Step 3:设定目标值n
注意;完成设置之后,不可立即点击“Next”按钮!此时需要等待系统是否已经稳定在开始点,如果采用的是自动模式,过程值稳定在设定值上;如果采用的是手动模式,过程值稳定在一个固定的值上。
系统稳定之后,点击“Next”按钮,进入数据收集阶段。n
2.2.4 Step 4:数据收集n
图13 Step 4:测量数据收集n
在这个阶段中,回路从第2步设置好的开始点向第3步设置的目标值变化,PID Tuner不断收集这个过程中的测量值以备后续的对象模型识别和参数计算:n
图14 手动模式下输出值变化时的回路曲线n
PID Tuner在获取足够的数据之后,图13中的“Cancel Measured Value Acquisition”按钮会被使能,可以通过点击这个按钮提前地结束数据收集过程。但为了保证优化的效果,只要回路不是明显呈现出发散而无法稳定,最好让软件在完成所有的工作之后自动停止数据收集。n
2.2.5 Step 5:复位
在完成之后,PID Tuner会询问是否需要复位:n
图15 Step 5:回路复位n
选择“Reset”,之前被优化过程修改的参数,例如手自动模式、设定值等,会恢复到优化之前的“开始点”的状态;如果选择的是“No reset”,则保持控制器参数不变
点击“Next”,进入控制器特性指定:n
2.2.6 Step 6:控制器设计n
图16 Step 6:指定控制器特性n
在这一步中,控制器特性可以有两种选择:Optimal interference response和Optimal control response。前者可以快速地补偿和调节干扰,但回路可能会有高达10%的超调量;后者的超调量相比而言则只有在控制器的采样时间和过程对象的稳定时间接近时才有轻微的超调。需要注意的是,这里选择的控制器特性和实际的应用场合要相互吻合,对于干扰信号较频繁的对象,快速抑制干扰才是需要主要考虑的因素。n
2.2.7 Step 7:选择控制器类型和参数
确定控制器特性之后,点击“Next”按钮,PID Tuner会给出一个参数列表和曲线图:n
(a)n
(b)n
图17 Step 7:过程参数和优化结果n
图(a)中显示了在给出一个控制输出跳变的情况下,实际过程值的响应和模型的响应,这两条曲线的吻合度也表征了优化过程中计算得到的模型和实际过程对象的匹配程度。
在图(b)中详细列出了计算识别出的过程对象的参数,其中包括对象增益、时间常数、迟滞时间和模型匹配度等。辨识的回路模型有VZ2和PTn两种:VZ2是一个二阶模型,主要参数包括阻尼因子damping、增益Gain和时间常数(Time constant);PTn模型中包括指数order、增益和时间常数参数。模型匹配度指的是模型和实际采样得到的曲线数据之间的吻合程度。Time lag是对象的迟滞特性时间。
在上图中,PID Tuner给出了P、PI和PID三种情况下的建议控制器参数。
PID Tuner还提供了保存参数功能,在图(b)中的有两个按钮“Read Parameters”和“Save Parameters”,通过点击这两个按钮,可以将当前的过程模型参数和推荐的优化参数保存到“.csv”文件中,或者从“.csv”文件中读取到PID Tuner中。
选择好需要的控制类型之后,点击“Next”。n
2.2.8 Step 8:使用优化参数仿真n
图18 Step 8:使用优化参数仿真n
在选择了控制器参数之后,可以给定一个设定值跳变幅度在模型上来测试这些选定的参数,点击“Simulate”按钮:n
图19 建议参数在模型上的仿真结果n
优化的参数如果不能达到理想的控制曲线,可以修改图18中的PID参数并重新仿真。如此多次重复,直到从曲线中反映出来的各项控制参数满足控制要求即可,点击“Next”。n
2.2.9 Step 9:应用参数n
图20 Step 9:参数引用n
如上图所示,PID Tuner将当前使用的参数和优化出来的参数都列出来,并提示用户选择是继续使用当前参数还是采用新的参数。如果需要采用优化后的参数,点击按钮“New”,反之则点击“Old”。在某些回路的优化过程中,点击“New”来应用新参数时会弹出如下窗口:n
图21 采样时间警告窗口n
出现这个窗口是因为当前PID功能块的采样时间和实际对象特性不匹配,采样时间过长。以PIDConL功能块为例,其采样时间sample time参数是和该功能块所在的周期中断组织块的周期时间相一致的。是否修改功能块的调用周期以满足实际对象,还需要整体考虑整个CPU程序的运行负荷。n
图22 新参数应用n
正如在图20所示的那样,新参数写入到PID功能块时可能会影响回路的控制过程,要想对过程无扰动,采用新参数时要保证过程已达到稳态。
至此,整个的控制器优化已经完成,点击“Finish”按钮退回到初始的状态。然后在如图5所示的界面中点击“Exit and Save”退出PID Tuner,同时,PID功能块管脚“OptimEn”自动复位,工作模式恢复到优化之前的状态。n
3 PID Tuner扩展功能
3.1 脉冲输出PID功能块的优化
PIDStepL之类的步进控制器(step controller)的输出形式是数字量,通常使用在由电机驱动的电动阀上,由于其特殊性,使得其比PIDConL这样的控制器多了一些参数,包括:马达行程时间(Motor actuating time)、最小脉冲时间(Minimum pulse time)和最小断开时间(Minimum break time)等。这些参数都是由实际执行机构的特性决定的,所以区别于PIDConL的优化,在对步进控制器的优化过程中,首先就需要确定这些基本参数。
选中PIDStepL进入PID Tuner:n
图23 PIDStepL对应的PID Tunern
和PIDConL下的界面不同,此时的界面中“Measure Motor Actuating Time”按钮被使能了,在开始优化之前点击这个按钮:n
图24 测量行程时间n
行程的时间的获取有三种方式:
- “Repeated manipulated variable”
给定一个目标量,然后点击“Start”,让执行器从当前位置动作到目标位置,计算中间的跨度时间,然后换算到0~100范围。上图中,执行器的当前位置是“10”,目标是“50”,其中的跨度时间是12.944s,按照比例将“10~50”的范围扩大到“0~100”,相应地同比例扩大跨度时间,这样就可以得到执行器的行程时间为25.9s;
- “Actuator limit signals”
和上一种方式不同的是,这种方式的测量原理就是不论当前位置如何,让执行器从0运动到100,然后再返回到0,中间的跨度时间除2就是行程时间;
- “None”
选择“None”,则不会激活测量,用户根据其他测量结果或者铭牌输入行程时间。
不论使用哪一种方式在得到行程时间之后点击“Next”按钮:n
图25 应用行程时间相关参数n
根据行程时间和最小因子(都是0.5%)可以计算出最小脉冲宽度和最小断开时间。最小脉冲宽度指的是输出的控制脉冲最短的高电平时间;最小断开时间,指的是两个脉冲高电平之间的最短低电平时间。这两个时间是为了保护执行机构的,因为在过短的时间里关断再打开执行机构会严重缩短设备的工作寿命。可以根据需要手动给定这两个时间,但这两个值不是越大越好,设置过大会影响脉冲输出和整个回路的控制精度的。
确定参数无误之后,点击按钮“Apply”将参数写入到功能块中:n
图26 新参数写入到功能块n
完成行程时间的测量工作之后,就可以按照前文的步骤来开始控制器参数的优化,对于PIDStepL之类的功能块来说,控制器的优化过程和优化原理和其他类型的功能块是一致的。n
3.2 变增益控制中使用PID Tuner
对于一个线性对象而言,回路中使用PID功能块,并只采用一套合适的参数就可以完成所有工作点的控制任务,但是,大部分的对象或多或少都存在非线性的特性。为了实现这些对象的控制,需要在工作点附近进行线性化,但如果非线性对象存在多个工作点,那么一套控制参数就无法满足所有工作点的需要,为此可以采用变增益控制。
变增益控制的工作原理就是在不同的工作点范围里使用不同的控制参数。例如一个非线性的温度控制,工作点为20℃、40℃和80℃,而且这三个温度点附近下的回路特性有较大的不同,所以需要三套参数在三个工作点下分别起作用。
PCS 7中提供了一个“GainSched”块,配合常规PID功能块使用即可实现变增益控制。为了方便起见,在V7.1的APL库中还提供一个名为“GainScheduling”的过程标签类型,复制此过程标签类型到层级中并修改相应参数:n
图27 Gain Scheduling过程标签类型n
“GainSched”功能块根据过程值PV和设定值好的X1、X2和X3来判断回路的工作点,然后将对应的比例、积分、微分参数输出到PID功能块中。
由于在不同工作点上的回路特性不同,所以需要使用PID Tuner在不同的工作点附近分别进行优化,优化过程按照前文描述的步骤执行。需要注意的是PID功能块上的控制参数都和“GainSched”块的输出连接了,所以优化结束时,往功能块写入参数的过程是无法进行的,需要手动将这些参数写入在GainSched功能块的相应管脚上。完成三次优化之后,在OS画面中PID的参数面板中点击按钮“Gain Scheduler”查看“GainSched”中设置的工作点和相应的控制参数:
图28 PID参数面板和Gain Scheduler界面
在Gain scheduler界面中,三个工作点有三套控制参数,而PID实际使用的参数则是由这三套参数构成的折线坐标中计算出来的:
图29 增益参数折线图
更多关于变增益控制的使用和优化可以参考如下连接:
3875162
关键词
PID,参数整定,变增益控制
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc328614.html