APP下载

基于S7-300 PLC 的单神经元 PID 控制器设计与实现

2017-10-14李玉榕

电气技术 2017年8期
关键词:控制算法数学模型神经元

陈 军 李玉榕



基于S7-300 PLC 的单神经元 PID 控制器设计与实现

陈 军 李玉榕

(福州大学电气工程与自动化学院,福州 350116)

PID控制器在被控对象具有非线性特性或运行环境发生变化时,PID的固定参数导致控制系统性能下降。针对该问题,本文提出在S7-300 PLC上设计和实现基于Hebb学习规则单神经元PID控制器。首先根据神经元的学习能力,设计了基于Hebb学习规则的单神经元PID控制器,仿真测试表明相对于PID控制器,基于Hebb学习规则的单神经元PID能够自适应调整控制器参数,具有系统响应速度快和超调量小等优点。最后在S7-300 PLC上实现了基于Hebb学习规则的单神经元PID控制算法,对温度对象进行控制。实验结果表明,基于Hebb学习规则的单神经元PID算法简单,在PLC上易于实现,有效改善系统性能。

单神经元PID;自适应控制;S7-300 PLC;Hebb学习规则

在工业控制中,PID控制由于其算法简单、易于实现、可靠性高,得到广泛应用,并且也将在很长一段时间内作为主要控制方法存在着。PID控制器的参数是根据被控对象的数学模型整定的,当被控对象的参数具有时变性、不确定性、非线性或运行环境发生变化时,PID控制器的参数无法自适应调整,造成控制效果下降[1]。为解决这个问题,基于神经网络的PID控制器一类智能控制算法,即利用神经网络的学习能力和自适应能力实现PID控制器参数自适应调整得到了广泛研究:基于各种复杂改进学习规则的单神经元PID控制器[2-4],基于二次型性能指标的单神经元PID控制器[5],基于BP神经网络、RBF神经网络、Hopfield神经网络的PID控制器等[6-9]。这些复杂控制器虽然可以取得较好的控制性能,但这些控制器的算法运算量较大,因而目前基于神经网络的PID控制器的研究多局限于仿真研究[10-12]。而在实际工业应用中,在控制器中算法实现所需的运算量是保证系统能够实时运行的关键问题。

实际工业应用环境受到各种通常高粉尘、高噪声、强电磁干扰和温度变化的影响,可编程序控制器(programmable logic controller,PLC)是工业环境下的典型控制装置。为提高控制系统性能以解决传统PID算法控制不能克服的问题,在PLC上实现智能控制算法并应用至实际生产过程中是十分有意义的。

在基于神经网络的PID控制器中,基于Hebb学习规则的单神经元PID控制器结合了人工神经元和PID控制器二者的优点,具有较好的适应能力且算法简单,易于实现。因此,本文首先通过仿真验证了基于Hebb学习规则的单神经元PID控制算法在解决滞后对象控制问题的可行性,然后在西门子S7-300 PLC上实现了单神经元PID温度控制系统,取得较好控制效果。

1 单神经元PID控制算法

1.1 离散PID控制器

当控制器采用数字计算机实现时,各种数据的处理在时间上是离散的。离散PID控制算法就是由模拟PID控制算法经过数字化得到的。通常数字PID有位置式和增量式两种形式。由于增量式PID只输出增量,避免输出大幅变化,误动作时营销较小,故本文选取的PID结构为增量式PID。增量式PID控制算的输出表达式,如式(1)和式(2)所示:

(2)

式中,1、2、3为离散PID控制算法的比例、积分、微分三部分输入,P、I、D为PID的参数。传统PID控制器的参数是工程整定法,基于被控对象具体数学模型的ZieglerNichols经验公式法等。这些方法都是根据被控对象处于某一个确定的工作状态整定的,参数固定不具有自适应能力。

1.2 基于Hebb学习规则的单神经元PID控制器

人工神经元是对神经元细胞基本功能和特性的抽象,是一种线性组合器和具有激活函数的多输入单输出单元。模拟生物神经元由于不同的突触对脉冲输出过程影响,人工神经元利用加权系数正负模拟神经元突触的兴奋或抑制,其大小则代表连接强度的大小[13-14]。人工神经元的模型,如图1所示。

图1 人工神经元模型

根据上述模型,人工神经元的输出表达式为

式中,x为神经元的输入;w为权重系数;为阈值;(·)为激活函数。可以根据一定的学习算法,学习和调整权重系数。

根据上文的人工神经元模型,将传统PID输入作为人工神经元的输入,神经元的权重系数作为PID控制器的P、I、D参数,构成单神经元PID控制算法的基本结构[13]。通过学习规则在线调整神经元不同输入的连接强度,由神经元通过关联搜索产生下一时刻的控制量。单神经元自适应PID闭环系统的控制结构框图,如图2所示。

图2 单神经元PID系统框图

选取有监督的Hebb学习规则[15],则单神经元控制器的数学表达式为

(5)

式中,(=1,2,3)为单神经元PID控制器的比例、积分、微分3个分量的学习速率,各学习速率系数独立,可以实现分别调整;w(=1,2,3)为权值系数;()为教师信号,本文中学习规则中是以误差信号()作为教师信号。

根据人工神经元模型的输出表达式,取阈值为0,激活函数为线性传递函数,则该神经元的输出为

式中,为增益系数;w为输入x的作用强度系数,其作用与传统PID控制器的参数P、I、D类似。但与传统PID算法的参数不可调所不同的是,单神经元PID的权值是具有在线调整能力的[1]。在被控对象数学模型发生变化,或者运行环境发生变换时,神经元的权重系数能够根据学习算法进行适应。

2 仿真测试

2.1 仿真条件

仿真测试选取的数学模型为加热器的典型数学模型。根据文献[16]的建模结果,对象的数学模型为

选取的对象数学模型的时间常数和纯滞后都较大,控制器不能及时产生控制,影响控制质量。

仿真是基于Matlab的Simulink工具箱中的S函数实现。S函数模块包括S函数模型块和S函数源文件两部分。本文以M文件为源文件编写S函数。仿真的系统框图中,加入了非线性饱和环节用于限制控制器输出的控制量,防止输出过大。仿真系统的结构框图如图3所示。

图3 单神经元PID在Simulink中的仿真模型

2.2 仿真结果

1)仿真实验首先利用Z-N公式计算并试凑一组PID控制器的参数。根据式(7)被控对象数学模型,确定P=6.14,I=0.0167,D=15。将这组PID参数作为单神经元PID控制器的3个权值的初值。这样做既节省了参数获取的时间,也避免了更多的主观因素,同时也使两种控制器更具有可比性。选取的单神经元PID的学习速率为1=6,2=0.01,3=1,增益=5。在=1500s时,加入扰动,测试扰动下的控制效果。实验对比结果,如图4所示。

图4 PID与单神经元PID的阶跃响应

2)在上组实验的基础上测试系统工作点发生变化导致模型变化时,PID和神经元PID控制器的控制效果。设计被控对象数学模型的时间常数和增益系数的变化均为增加20%,则在=2000s时,模型变化为

以此模拟对象在不同工作点的不同模型特性。工作点变化导致模型变化下的响应曲线如图5所示。PID和神经元PID的性能指标对比,见表1。

表1 PID和单神经元PID阶跃输入和扰动下的性能对比

从表1可知,从仿真结果可以得出相比于传统PID控制,阶跃输入情况下,单神经元PID控制的超调量小,调节时间短,控制性能更好。对于外部扰动,对比于PID,单神经元PID对于扰动的响应比较快,很快恢复了设定值且波动较小。对于模型变化的测试,单神经元PID的超调量和调节时间均远小于PID控制器。综上所述,仿真内容验证了单神经元PID控制器的有效性,单神经元PID易于实现,且控制效果优于PID。

3 基于S7-300 PLC的控制器实现

3.1 闭环系统结构

为验证基于Hebb学习规则的单神经元PID控制算法在PLC上的可实现性与实际应用效果,设计的基于S7-300 PLC的温度闭环控制系统如图6所示。

图6 实际温度控制闭环系统框图

图6中,实际系统的硬件选型:

1)控制器。选用的PLC为西门子公司的S7-300系列的CPU 312,该CPU具有0.2ms/1000条指令执行速度,32KB工作存储器,满足控制需求。在PLC上分别实现PID控制算法和单神经元PID控制算法,用于对比控制效果。

2)被控对象。电加热器。

3)执行机构。脉宽调制方式,输入可选择模拟量输入或开关量输入,输入范围为0~10V。

4)温度测量变送。温度传感器采用PT100热电阻。温度变送输出可选择0~5V量程和0~10V量程输出。

5)D/A和A/D模块。温度传感器输入和控制量输出均为模拟量,故选择DA模块模拟量输入模块SM331。

3.2 实现

为验证单神经元PID控制器在PLC上实现的可行性和控制器的控制效果,设计对比实验。在西门子S7-300 PLC上分别编写普通PID和单神经元PID控制程序,对电加热器的温度进行控制,对比控制效果。

首先,PID控制器采用S7-300固件中内置的PID功能块FB41实现。单神经元PID程序采用梯形图语言(LAD)编写。编程环境为西门子公司的全集成自动化软件博途V13(TIA portal)。程序块和数据块的关系规划图,如图7所示,说明了单神经元PID实现的LAD程序所涉及的功能块、数据块的 关系。

图7 程序块规划图

利用功能块,将单神经元PID控制算法封装为功能块FB2。FB2的输入接口包括设定值、过程值、增益系数和学习速率,输出接口为输出。数据块DB1作为FB2的背景数据块,用于存放单神经元PID控制器的参数。DB2为全局数据块,存储全局变量和一些过程值。

具体的程序流程图如图8所示。在OB100初始化中,配置CPU定时中断,循环定时中断时间为500ms。OB35为定时中断执行的程序块。在该程序块中执行的主要任务有:模拟量转换、权值计算、输出量计算、限幅判断、数字量转模拟输出和数据更新。

3.3 实验结果

实验首先对PID进行参数整定,确定PID控制参数为P=2.0,I=0.1,D=0.2。与上文仿真相同,设置单神经元PID的权重系数初始值为普通PID参数值。单神经元PID控制器的其他参数选取为= 1.2,1=2.0,2=0.1,3=0.3。实验的阶跃输入的设定值为50℃,在系统稳定后,即在=1100s时,加入外部扰动。基于S7-300 PLC实现的单神经元PID和PID控制器,在阶跃输入和扰动情况下的响应,分别如图9和图10所示。

图9 PID和单神经元PID的阶跃响应的实验测试

图10 PID和单神经元PID的扰动响应

对比两组控制器的响应曲线,可以发现单神经元PID的超调量、上升时间、调节时间等性能都优于普通PID控制器。扰动输入的情况下,恢复速度较快。在S7-300 PLC平台上实现单神经元PID控制器是可行的,且改善了控制效果。另一方面,实验结果中单神经元PID比PID的控制性能提高效果不如仿真结果中的那么显著,出现这种现象的原因可以从以下几个方面考虑。首先,实际系统数据采集反馈并非如同仿真中的理想线性单位环节,这部分的非线性特性在仿真模型中没有考虑。其次,实际PLC是循环扫描工作过程,以及采样周期不同,与仿真运行的原理不同,也会对结果产生影响。并且,仿真时使用的是参考文献[16]中提出的一种带纯滞后的二阶系统数学模型,而实际实验对象的数学模型可能与仿真的对象模型并不一致。本文实际实验对象是实验使用的小型电加热箱,纯滞后和惯性系数均较小,这使得实验结果中单神经元PID相对于PID的优越性没那么明显。最重要的是,实验部分使用PID模块的是西门子S7-300 PLC中内置封装的PID功能块,该模块的PID控制器是经过优化的,其本身控制性能已经较为理想,而仿真中使用的是基本的PID控制器,所以会出现仿真结果中单神经元PID比PID的性能好很多而实验中两者差距较小的情况。

4 结论

本文主要研究基于Hebb学习规则的单神经元PID控制器的设计、仿真和PLC实现。通过在Matlab中的仿真验证了基于Hebb学习规则的单神经元PID控制器的控制效果。在此基础上,在西门子S7-300 PLC上实现了基于Hebb学习规则的单神经元PID算法,利用实际电加热器上进行实验,与PID控制器进行对比,验证了基于Hebb学习规则的单神经元PID控制器的可行性以及对系统性能的改善。

单神经元PID结合了PID控制器结构简单、易于实现和神经元自适应能力的特点,使其可在现场工业控制器中实现,并且对于提高实际生产过程中具有非线性、时变性或不确定特性的对象的性能具有重要的意义。

[1] Chen B, Yang H, Wang L. Single neuron PID control of aircraft deicing fluids rapid heating system[J]. Journal of Networks, 2013, 8(2): 405-412.

[2] Wang X J, Hu X H. An improved control strategy of single neuron PID[J]. Journal of Zhejiang University (Engineering Science), 2011, 45(8): 1498-1501.

[3] 张丽丽, 王玉惠, 陈哨东, 等. 基于改进的神经元 PID 战术网络拥塞控制[J]. 电光与控制, 2013(10): 14-17.

[4] 岳舟. 基于神经元PID控制的Buck-Boost矩阵变换器研究[J]. 高技术通讯, 2015, 25(12): 1069-1075.

[5] Kusumoputro B, Rif'an M. Performance characteristics of an improved single neuron PID controller using additional error of an inversed control signal[C]//2015 World Congress on Industrial Control Systems Security (WCICSS), 2015: 58-62.

[6] 王同旭, 马鸿雁, 聂沐晗. 电梯用永磁同步电机BP神经网络PID调速控制方法的研究[J]. 电工技术学报, 2015(S1): 43-47.

[7] 李勇. 基于优化PID的食品加工恒温控制研究[J]. 电气技术, 2015, 16(12): 76-80.

[8] Chen Yifei, Xu Sen, Cao Rui, et al. The study and simulation of PID control based on RBF neural network[C]//International Conference on Electronic and MechanicalEngineering and Information Technology. Heilongjiang, China, 2011: 3453-3456.

[9] Wei D, Feng X. Research and simulation of PID model reference adaptive control based on hopfield network[J]. Modern Electronics Technique, 2009, 11.

[10] 高利军. 一种用于大型机组设备智能控制方法的研究[J]. 控制工程, 2016, 23(4): 490-493.

[11] 徐国华, 李祖佳, 贺磊, 等. 单神经元PID在绞车控制系统中的应用[J]. 控制工程, 2013, 20(1): 42-45.

[12] 孙亮, 孙启兵. 神经元PID控制器在两轮机器人控制中的应用[J]. 控制工程, 2011, 18(1): 113-115.

[13] Fang H, Yu X. Design and simulation of neuron PID Controller[C]//Information Technology, Computer Engineering and Management Sciences (ICM), 2011 International Conference on. IEEE, 2011, 1: 80-82.

[14] 窦真兰, 施刚, 曹云峰, 等. 减少风力机转矩波动的异步变桨控制[J]. 电工技术学报, 2014, 29(1): 236- 245.

[15] Liu C Y, Wang M H, Li D W. Combined control of Single Neuron PID and normal PID of switched reluctance motor[C]//International Conference on Consumer Electronics, Communications and Networks. IEEE, 2011: 146-149.

[16] 许玉忠. 基于自适应模糊PID控制的电阻炉温度控制系统[J]. 华北水利水电学院学报, 2011, 32(2): 83- 86.

Designand Implementation of Single Neural PID on S7-300 PLC

Chen Jun Li Yurong

(College of Electrical Engineering and Automation, Fuzhou University, Fuzhou 350116)

When controlled object is nonlinear or operating environment changes, the fixed parameters of PID will cause performance degradation. To solve this problem, a single neural PID based on Hebb learning rule is designed and implemented on S7-300 PLC in this paper. Firstly, a single neural PID based on Hebb learning rule according to the adaptive feature and learning ability of neuron. The simulation shows that, with respect to PID, single neural PID based on Hebb learning rule can adaptively adjust, thereby the system is of faster response, small overshoot. Then, single neural PID is implemented on S7-300 PLC to control the temperature of heater. The experiment show that single neural PID based on Hebb learning rule is simple and practical on PLC and can significantly improve system performance.

single neuron PID; adaptive; PLC; Hebb learningrule

陈 军(1993-),男,福建莆田人,硕士研究生,主要研究方向为工业控制系统与应用。

国家自然科学基金(61403319)

福建省教育厅科技项目(JK2014001)

福建省科技厅国际合作项目(2015I0003)

猜你喜欢

控制算法数学模型神经元
AHP法短跑数学模型分析
活用数学模型,理解排列组合
《从光子到神经元》书评
跃动的神经元——波兰Brain Embassy联合办公
基于ARM+FPGA的模块化同步控制算法研究
对一个数学模型的思考
基于二次型单神经元PID的MPPT控制
一种优化的基于ARM Cortex-M3电池组均衡控制算法应用
毫米波导引头预定回路改进单神经元控制
古塔形变的数学模型