MFC无模型自适应控制
1. 无模型自适应控制,顾名思义,是一种无需建立过程模型的自适应控制方法。无模型自适应控制系统应具有如下属性或特征: (1)无需精确的过程定量知识;(2)系统中不含过程辨识机制和辨识器;(3)不需要针对某一过程进行控制器设计;(4)不需要复杂的人工控制器参数整定;(5)具有闭环系统稳定性分析和判据,确保系统的稳定性。
2. 对于传统的自适应控制方法,如果不能获得过程的定量信息,一般需要采用某种辨识机制,以在线或离线的方式获得系统的动态特性。由此产成了以下一些难以解决的问题:
· 需要离线学习;
· 辨识所需的不断的激励信号与系统平稳运行的矛盾;
· 模型收敛和局部最小值问题;
· 系统稳定性问题。
基于辨识的控制方法不适用于过程控制的主要原因是控制和辨识是一对矛盾体。好的控制使系统处于一个稳定状态,这种情况下设定值(SP)、控制器输出(OP)和过程变量(PV)在趋势图中显示出来的都是直线。任何稳定系统都会达到另一个稳定状态,而其中的过程动态特性的变化却不能被察觉,因此通常需要施加激励信号来进行有效的过程辨识。然而,实际生产过程很难容许这样做。
MFC控制系统中没有辨识环节因此可以避免上述问题。一旦运行,MFC控制器就可立刻接管控制。MFC控制器中刷新权值的算法是基于一个单一的目标,即缩小设定值和过程变量之间的偏差。这意味着当过程处于稳定状态,偏差接近零时,不需要对MFC控制器的权值进行修改。
3. PID控制器仍然被广泛使用的主要原因就在于它是一种通用型控制器,无需进行专门的控制器设计。为特殊的应用设计控制器需要有丰富的经验。由于大多数先进控制器是基于模型的,其通用型性不够,所以尽管这些方法已经有三四十年的历史了,至今还不能在过程控制领域得到广泛的应用。
MFC控制器是通用型控制器,并已经开发出一系列MFC控制器用于控制各种问题回路。如MFC控制器可直接取代PID,免去了复杂的控制器参数整定。
MFC控制器的用户,无需对控制器进行设计,只要选择相应的控制器并简单地设定控制器参数就可以将MFC控制器投入使用。这是无模型自适应控制器与其它基于模型的先进控制器的一个主要区别。
控制器参数整定
自适应控制器不需要人工整定参数,无模型自适应控制器真正实现了这一点。无需参数整定,MFC就能自适应过程动态特性的变化并克服潜在的扰动以满足新的操作条件。用户友好的MFC控制器保留了一些参数允许用户及时地调整控制效果。
4. 控制系统的闭环稳定性对于控制器是否实用是非常重要的。如果掌握了闭环控制系统的稳定性判据,就可以利用它来判断控制系统能否安全地投入使用。传统的基于模型的自校正控制系统主要由三个部分组成:控制器、过程和模型。这里模型是指可以描述过程输出和输入关系的数学表达式,通常是通过辨识器来建立的。辨识器利用过程输入输出的数据通过一定的学习算法减小模型的偏差em(t)(PV与模型输出y2(t)之间的偏差)。在这个系统中,整个闭环系统的稳定性与过程、控制器和模型有着以下几个方面的联系:
· 假设过程是稳定的(即过程开环稳定);
· 控制回路的稳定性是由模型的收敛性来保证的;
· 模型的收敛性需要控制回路稳定并持续地发出激励信号。
这几个条件形成了一个难以解决的死圈。因此,基于模型的自适应控制系统没有通用的稳定性判据。也就是说,每次使用基于模型的自适应控制器前,不得不分析它的稳定性。显然,这也是使用基于模型的自适应控制方法的一个主要技术壁垒。
相比之下,由于MFC不存在辨识环节,因此论证出了一个通用的系统稳定性判据。即,只要是一个无源过程(本身不产生能量或热量的过程),闭环MFC控制系统的稳定性就可以得到保证,过程可以是线性/非线性,定常/时变等等。
5. MFC控制系统的结构同传统的单回路控制系统一样简单,包括一个单输入单输出过程,一个MFA控制器和一个反馈回路。这种控制器的控制目标是产生一个输出u(t),迫使过程变量y(t)在设定值变化,存在扰动和过程动态特性改变的情况下仍然能跟踪设定值r(t)。也就是,MFC控制器以在线的方式不断减小设定值r(t)和过程变量y(t)之间的偏差e(t)。根据以下两点使偏差e(t)最小:(i)MFA控制器的调节控制能力;(ii)不断调整MFA控制器的权重因子,使得控制器有能力处理过程动态特性的改变,扰动和其它不确定因数。MFC控制系统没有过程模型和辨识器。因此也没有模型偏差em(t),只有设定值(r(t)或SP)和过程变量(y(t)或PV)之间的偏差e(t)是唯一的控制目标。
6. 作为一个反馈控制系统,MFC对被控对象有以下几点要求:
· 过程对象可控;
· 开环稳定;
· 正作用或反作用(过程不变方向)。
对于不可控的过程对象,则需要改进过程的结构或匹配系统变量。
对于开环不稳定的过程对象,则需使它先稳定下来。不过,对于某些开环不稳定的过程,如无自衡的液位回路,使用MFC时就不需要进行特殊的处理。
对于在操作范围内变方向的过程,则需要特殊的MFC控制器。仅需简单地配置少量的MFC控制器的参数。
7. 无模型自适应控制系统应具有如下属性或特征
(1)无需精确的过程定量知识;
(2)系统中不含过程辨识机制和辨识器;
(3)不需要针对某一过程进行控制器设计;
(4)不需要复杂的人工控制器参数整定;
(5)具有闭环系统稳定性分析和判据,确保系统的稳定性。
8.功能块的使用
SG4带网口CPU即可,由于功能块绑定以太网口MAC地址,所以你需要使用库AsARCfg中的CfgGetMacAddr功能块获得MAC地址(POWERLINK口无法获得),在跟帖中告诉我们,我们会生成相应功能块;
MFC_0.Enable := Enable; 功能块使能
MFC_0.SetValue := SetValue; 设定值
MFC_0.ActValue := ActValue; 实际值
MFC_0.SKIFAdr := ADR('IF2'); 以太网MAC地址所在接口
MFC_0.LogError := LogError; 允许误差
MFC_0.OutputUplimit := OutputUplimit; 输出上限
MFC_0.OutputDownlimit := OutputDownlimit; 输出下限
MFC_0.Positive_deadzone := Positive_deadzone; 输出正向死区
MFC_0.Negative_deadzone := Negative_deadzone; 输出负向死区
MFC_0.K_int := K_int; 参数K自学习初始值
MFC_0.Tv_int := Tv_int; 参数Tv自学习初始值
MFC_0();
Output := MFC_0.Output; MFC的输出
error_k := MFC_0.error_k; 输出的误差
K := MFC_0.K; 参数K自学习的过程值
Tv := MFC_0.Tv; 参数Tv自学习的过程值
MFC_0. Skok输出为1,表示功能块的MAC地址没有匹配。
调节过程中,MFC_0.K_int和MFC_0.Tv_int可以都等于1.0,
MFC_0.K和MFC_0.Tv会自学习,可以用trace功能来记录,将最后稳定的值再分别赋给MFC_0.K_int和MFC_0.Tv_int,会减少学习的时间,达到更好的控制效果,。
注意MFC_0.ActValue更新的时间,例如传感器20ms更新一次数据,你MFC功能块调用的周期也设成20ms,如果MFC功能块周期快过传感器更新数据的周期,MFC就会多算,从而造成输出变化了,而实际值没有更新。
回复内容:
对:atlandise 回复内容:对: 奶奶买菜的钱 回复内容:对: atlandise MAC地址 0... 内容的回复!在没有经过整定的参数K_int和Tv_int都给1的情况下,两张图为流量相差10倍的比例阀控制一个油缸到指定位置,误差小于0.1毫米的trace图,在功能块参数相同的情况下,第一个小于指定0.1毫米指定误差只用了1秒钟,后一个小于指定误差只用了1.5秒,NB!PID相同参数早就震荡了~!相信整定一下自学习初始参数会有更好效果! 内容的回复:MAC:0x58 0x8A 0x5A 0x30 0xC0 0xAE.邮箱是hujie2120@sohu.com