本文通过一个冷热通向水管的流量和温度控制过程,为您介绍单入单出-非积分的仿真案例。

背景信息

以下是一个简单的过程:有一个热水管和一个冷水管通向水箱,冷水和热水混合后从水箱流出。设定冷水管的流量是不可以人为改变的,但可以操作热水的流量来控制水箱出口的温度在期望的范围内。

这个例子涵盖了控制问题的基本概念:
  • 水箱出口温度是系统的输出变量,希望控制它到某个范围内,称为被控变量CV(Controlled Variable)
  • 冷水和热水的流量是系统的输入变量,它们的变化会直接影响CV。其中热水的流量是可以操控的,称为操作变量MV(Manipulated Variable)
  • 其余的输入变量假设是不可以操控的,称为扰动变量DV(Disturbance Variable)。DV又可以分为可测量DV和不可测量DV两大类。

要解决这个问题,需要设计一个控制器自动计算出MV值,在存在DV干扰的情况下,使得CV达到我们理想的控制范围内。

过程仿真模型

  • 过程模型:输出变量受输入变量的影响关系可以用数学模型表示。这里,用一阶滞后传递函数模型TF1来描述冷水流量对出水温度的影响,包含3个主要参数:模型增益=1,时间常数=50,时滞=25。模型增益表示单位输入变化引起的稳态输出变化量,时间常数表示输出到达稳态的快慢,时滞表示系统输出变化滞后于输入改变的时间。
  • 输入扰动:系统输入端存在扰动:冷水流量(假设冷水温度是不变的,忽略它对出口水温的影响)。冷水流量对出水温度的影响用TF2描述。模型增益=-0.8,时间常数=40,时滞=40。
  • 输出扰动:除了系统输入端的扰动,还存在直接作用于系统输出端(即出水温度)的扰动,如白噪声。

控制方案设计

  • 模型标配控制器:实际的控制模型通常通过模型辨识模块完成。仿真案例中,也可先选择用TF1作为控制器模型。基于这个模型,控制器可以预测出MV变化对CV的影响,可以通过求解优化问题,得到控制CV的最优MV值。
  • 控制要求:首先保证CV在某个操作区间内之间,如[50,60],然后使得CV稳定在某个设定值上。
  • MV约束:同时MV需保持在一定的操作限制区间,如[10,80]。

仿真案例搭建

  1. 搭建AICS运行画布,MPC模块IGate测点中读取MV/CV/DV的值。
  2. 计算得出MV值后,输入给仿真过程。仿真过程主要由时滞模块、传递函数及信号发生器组成,包含过程模型、输入扰动和输出扰动模型。
  3. 通过连接各模块并设置变量映射,形成MPC控制闭环系统。
仿真案例搭建

模型辨识

  1. 辨识试验
    辨识试验主要是针对开环或闭环系统,设计合适的激励信号叠加入MV通道,对被控对象进行充分激励进而获得满足需要(高信噪比、充分激励)的CV数据。
    • 针对开环系统
      采用阶跃方波作为激励信号,采用手动激励的方式叠加到MV通道,设计辨识试验如下图所示。设计辨识试验开环辨识阶跃激励下的MV和输出响应CV曲线如下图所示。开环辨识阶跃激励下的MV和输出响应CV曲线
    • 针对闭环系统
      针对闭环系统,使用MPC控制器进行闭环控制,采用PRBS伪随机周期方波序列作为激励信号(该信号具有丰富的频率特性),采用自动激励的方式叠加到MV通道,设计辨识试验如下图所示。自动激励的方式叠加到MV通道闭环辨识PRBS激励下的MV和输出响应CV曲线如下图所示。闭环辨识PRBS激励下的MV和输出响应CV曲线
  2. 数据准备
    在IGate中建立MPC闭环控制系统的MV/CV/DV测点,存储下控制系统在辨识试验激励下运行产生的数据。下面以闭环系统辨识为例,介绍辨识工具使用过程。
    1. 新增模型
      进入系统辨识新增模型页面,输入自定义的辨识模型名称并选择节点及字段,选中辨识所需的测点字段。新增模型节点1
    2. 对象定义
      在定义对象栏中,通过映射对应的IGate测点配置辨识对象所需的MV/CV/DV数据变量。可对每一个数据变量自定义命名,也可添加多个数据变量信息。定义对象1定义对象2
    3. 数据选择
      根据历史数据中具备明显动态变化的MV/CV数据,进行数据段选择和辨识数据挑选。数据选择
  3. 参数配置
    参数配置是模型辨识的核心步骤,包括如下关键参数:
    参数名称 描述
    平滑因子 用于调节辨识输出模型FSR序列平滑程度。通过对辨识输入的原始MV/CV/DV数据进行数据滤波处理,使得辨识输出的曲线更加平滑,数值越大结果越平滑。因此在辨识操作中,需要根据输入的原始数据噪声水平匹配对应的参数,通常设置范围为0~3。
    模型长度 用于调节辨识输出模型FSR序列的长度,和采样周期参数共同决定了辨识模型的开环阶跃响应时间的长度。若该参数设置过小,则拟合不够,导致辨识得到的模型FSR序列可能仍未达到响应稳定值;如设置过大,则过拟合,导致辨识得到的模型FSR序列可能出现异常值。因此在辨识操作中,通常需要根据辨识试验中的阶跃激励响应时间,预估出大致的开环响应时间并根据辨识中所设置的采样周期转换成模型长度,需要1~3次设置便能得到比较准确的模型序列,通常设置范围为0~200。
    采样周期 用于设置辨识算法处理原始时域数据的离散采样间隔。一般该参数默认设置为等于原始时域数据的采样周期,对于一些特定的控制器设计需求,也可以将该参数设置为大于原始时域数据的采样周期。
    最小时滞 用于调节辨识算法拟合时滞参数的准确度。该参数用于提升当输入数据信噪比过低时辨识算法的输出准确性,用户需对辨识试验所针对的被控对象的滞后时间有大概的经验了解,配置该参数时需尽量贴近真实值,通常需要需要1~3次设置便能得到比较准确的模型序列,通常设置范围为1~真实时滞。
    模型增益 用于约束辨识算法中关于被控对象的增益K值的正负号,一般为默认设置无需处理,当辨识数据质量较差,增益特性不明显时,可通过该参数进行符号约束。
    上述的辨识所需的关键参数配置完成后,即可开始辨识对象模型。
  4. 辨识模型
    单击开始辨识开始辨识
    经过一段时间的辨识算法运行,便可得到模型的辨识结果。
  5. 发布模型
    单击发布可将辨识得到的结果发布到云端,用户在MPC控制器导入模型处便可直接导入辨识得到的模型。发布模型

控制器搭建与发布

AICS MPC模块的的搭建流程如下。

  1. 参数配置
    将MPC模块拖入画布中,分别进行MV/CV/DV/模型等配置。MV/CV/DV/模型
  2. 添加变量
    添加相应MV/CV变量。MV配置CV配置
  3. 模型配置
    1. MPC模型内对控制器模型进行配置。模型的信息可以通过在线训练或上传模型JSON文件进行配置。
    2. 单击图标与刚才添加的MV/CV变量连接。
      MPC模型
    3. 单击编辑按钮设置模型参数。
      配置模型参数
  4. MV变量配置
    下图提示了MV变量配置中最基本的几个参数。首先,需要将MV的测量值与实际的MV测点进行映射。其余参数中,操作上限、操作下限是MV可以取到的范围,这些值往往是由实际操作工况要求或硬件限制决定的。控制增量上限和控制增量下限则决定了相邻两次MV变化值的上下限。MV具体配置
  5. CV变量配置
    下图提示了CV变量配置中最基本的几个参数。与MV配置类似,需要将CV的测量值与实际的CV测点进行映射。CV操作上限、操作下限是用户希望将CV控制到的变化范围,这些值往往是由实际操作工况要求决定的。另一个CV的基础参数是设定值,它即是用户希望将CV控制到的特定操作点。CV具体配置

控制器性能调优

  • 如何调节CV/MV的控制效果?

    CV在跟踪设定值变化时,常常会出现超调的现象。如下图所示,蓝色线是CV,在接近新的设定值时,出现了一些超调,对应的橙色线是MV,可见其变化幅度也较大。实际操作中,希望能平稳地切换操作点,避免超调。

    超调

    为了调节控制效果,我们可以考虑调节在MV配置中调节参数平滑因子。增大该参数,MV的变化幅度会越小,对应的CV的变化也会更平滑。上图中的平滑因子为0.001,调整为0.1后,得到下图的效果。

    调节平滑因子后
    此外,当CV出现不理想的控制效果,如在CV设定值周围大幅震荡,或者超过CV上下限,则需要考虑其他因素的影响。其中主要包括:
    • 系统是否受较大的外界干扰?

      请参考如何减少可测扰动的影响如何减少未知扰动的影响

    • 控制器的模型预测是否准确?

      当控制器模型与真实过程严重失配时,控制效果可能非常不理想。这种情况下,往往需要重新检查分析并估计新的控制器模型。可以使用MPC的自动测试功能获取高质量数据,再利用模型辨识工具获得新的模型。

  • 如何降低MV变量的动作频次(提升执行机构寿命)?

    由于系统噪声的存在,将CV控制到某个设定值,需要MV频繁的动作去处理扰动的影响。MV过于频繁的操作会影响执行机构的寿命。因此,当工况允许时,我们可以设置一个围绕设定值的控制区间,控制器仅在CV可能超过这一控制区间时才动作。这个区间可以通过CV配置中的设定值偏差上限设定值偏差下限来设置。这两个值代表了允许偏离CV设定值的区间上下限。例如,当CV设定值为1,CV设定值偏差上限为1,CV设定值偏差下限为-1时,CV的控制区间为[0,2]。

    举例说明:设置CV设定值 = CV设定值偏差上限 = CV设定值偏差下限 = 0,加入方差 = 0.5的白噪声。MPC的控制效果如下图。

    控制器调优1

    图中,蓝色线为CV,橙色线为MV,由于反馈校正机制的作用,MV随着噪声的变化而频繁变化,试图去控制CV到设定值。但在这种情况下,MV的控制作用并没有改进CV的控制效果,这种变化是无意义的。

    更新设置:CV设定值偏差上限 = 0.5,设定值偏差下限 = -0.5,则得到以下的控制效果。可以看到通过CV设定值区间的设置,MV变化更缓慢,但控制效果没有明显变化。

    控制器调优2
  • 如何减少可测扰动的影响?
    当系统存在可测量扰动时,可以通过建立DV模型,让MPC知道DV对CV的影响,进而作出响应。
    1. DV配置中添加新的DV变量。
    2. 设定DV模型。DV模型的输入与MPC模型输入方式一致,可以在以下的界面中添加或修改。设置DV模型
  • 如何减少未知扰动的影响?

    当系统存在未知不可测扰动时,可以使用MPC的抗扰动功能进行处理。在CV配置 > 高级配置中设置扰动比例系数扰动特性参数。扰动比例系数主要反映了系统中主要未知扰动的比例(除测量噪声外),值越大,则MPC抗扰动的动作越强,取值范围是0~1,一般从较小值如0.1设置。扰动特性系数主要反映了系统中主要未知扰动对CV的影响特性,一般未知扰动对CV影响越快,这个值越小。

    高级配置
  • 模型失配

    上述仿真案例中,我们的MPC模型与仿真过程模型一致。然而实际情况中,MPC模型往往与真实过程模型不一致,称为模型失配。在仿真案例中,可以通过调整MPC模型参数来观察相应的控制效果。

    以下的仿真案例中,分别引入了+1的设定值变化。前半段中无模型适配,后半段将MPC模型调整至仿真过程模型的5倍。从仿真结果可以看出,由于后段出现了模型失配,MPC模型增益大于过程模型,因此MV的动作很小,最终CV到达新设定值的时间也更长。因此,在实际应用中,当控制器效果始终无法达到预期时,应该检查MPC的模型是否准确,并考虑重新进行模型辨识。

    模型失配