电力系统控制的思考

作者:邹德虎

有个问题困扰了我10多年,一直在断断续续的思考。那就是我发现,对于发电机励磁控制,采取微分几何方法的最优控制与基于传统经典控制论频域法的AVR+PSS,仿真的效果总是差不多(至少我是亲自仿真的)。另外发电厂实际现场,也都用的是AVR+PSS。但是学术论文可以证明,最优控制的效果应该会好得多。这里的偏差到底如何解释呢?当然,电力系统的控制远不止励磁控制,还有AVC、AGC,新能源电站也有控制,火力发电厂的锅炉DCS控制也是非常复杂的。总的来说,电力工业的控制是以PID为主的(其它工业领域也是类似的)。以下仅为个人的几点想法,完全可能是错误的。

  1. PID控制是系统数学模型为线性,且只有输出量可观测时。最简洁有效的控制策略,这个是公认的。但是实际的系统是非常复杂的,有各种非线性因素和干扰,因此学者提出各种现代控制理论处理这些复杂和不确定性。但是实际系统运行时,大多数工况偏离平衡点并不远(至少对于工业过程控制是这样的)。因此,就算是线性化误差也不大,因此,调试好的PID控制和先进控制的效果相差不远。对于励磁来说,小扰动下非线性最优控制与PID完全等效。

  2. 如果工况偏离平衡点很远怎么办呢?这种情况也是必须考虑的。学术界的思路是提出具有更普遍性的理论,囊括各种工况,这就是现代控制理论的初衷。学术界非常看重理论的普适性和推广性。但是工业界的思路是具体问题具体分析,分门别类的处理。以电力系统电压控制为例,当偏差很小,就认为是死区,不控制;偏差正常的时候,以经济性为主,控制目标更偏向于运筹优化;偏差再大一些,那就有安全性的问题了,控制是以解决安全问题为首要目标,经济性暂时放一边。也就是说,根据不同的工况,控制的策略、目标是完全不同的。任何一种控制策略只需要适应比较特定的一段工况。这个跟学术界的思路是不一样的。

  3. 工况偏离平衡点很远,还有一种可能的现象:先进控制由于自身是非线性的,可能会产生过大的控制量。在实际的工程中有可能不允许这么大的控制量,或者风吹草动会使得大控制量产生反效果(例如模型不准确)。具体到励磁控制,AVR在高增益下可能带来负阻尼,在PSS成功补偿阻尼后,AVR可以做的非常灵敏和高增益。这时候发电机机端趋于维持电压,这就大幅度增加了稳定功率极限(同维持次暂态电势相比),而且无论是静态稳定和暂态稳定都受益。这是AVR+PSS在大扰动情况下也能提高稳定性的根本原因。另外,大扰动过程中,控制量几乎都是在允许的边界上,换精细的算法没有更多发挥余地。

  4. 最优控制的目标设定是值得商榷的。首先,线性最优控制,最常见的做法是设定二次型指标。这个指标确实是有工程意义,同时是最容易进行理论推导的理论形式。可以很容易的由变分法推出Riccati方程,再得出控制器。对于非线性最优控制,往往是先通过微分几何或者反推法得到非线性坐标转换,再转换成线性方程,使用Riccati方程,再反求回去。但是,Riccati方程未必适合所有的情况。实际的控制需求是千变万化的,比如有的控制器要求快速控制,不在乎超调和稳态误差;有的控制要求极小的稳态误差;有的控制绝对不许超调。还有的控制需要跟踪某个频段的主信号,过滤掉其它频段的噪声干扰。有的人可能说,咱们每种需求都可以推导出最优的数学规律啊,但是现场的工程师又有几个学过变分法和泛函分析呢?大家肯定用频域法和PID控制去了。在实际的控制工程中,我真的是从未见过用二次型指标作为指标的。

下面再综合的谈一谈在电力系统应用控制理论的几点看法。

  1. 如果数学模型很准确,可以直接使用前馈控制,连反馈都不需要。AVC的二级电压控制就是典型的前馈控制:每隔一段时间运行,发现电压有偏差,则通过二次规划的方法重新布局发电机无功出力,然后直接下命令。(其实我以前在南瑞的时候,通过搭建MATLAB模型,用反馈实现AVC的二级电压控制,还是非常有意思的)。

  2. 如果问题更复杂(比如需要考虑电容器投切造成的离散环节),则可以用模型预测控制。但不管怎么样,开环控制都可以用数据驱动的方法在线估计并更新模型参数,取得更好的效果。

  3. 实用性的控制一般都是多层组合的,不同的层面控制目标、模型、时间尺度都是不一样的。另外前馈和反馈也可以结合起来。

  4. 对于反馈控制,用PID控制的思路去实现。如果遇到更复杂的情形,要么在某个频段上引入附加控制(PSS);要么对控制误差分出不同的频段,再分别实现(例如AGC的ACE滤波成不同频段分量,再分配给不同调速特性机组去执行);PID本身的调参也很重要。

  5. 如果某个控制连PID控制都搞不定,那就要仔细思考前面的环节(工艺设计、传感器、业务与控制目标,等等)是不是有更大的改进空间。至于是否采用ADRC、鲁棒控制等先进控制,我的建议是工程师没必要花太多时间在这上面。

  6. 最后,随着软件定义和嵌入式硬件的发展,控制装置本身的运行可靠性、性能、易于工程维护变得更重要。算法越来越趋向于可编程、可在线甚至远程配置切换、可自定义的APP了。也就是说,控制装置平台化,本身也成为更大、更全面的运行系统的一个环节。