- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
神经网络PID验平台在WinCC中的实现
神经网络PID实验平台在WinCC中的实现
摘要:分析了带死区的积分分离PID控制算法,在此基础上,将应用最广泛的PID控制器与具有自学习功能的神经网络相结合,提出了基于BP神经网络的PID控制算法。并利用WinCC的全局脚本编辑器,将用户自行开发的神经网络控制算法嵌入WinCC中,开发了神经网络实验平台,然后通过WinCC与PLC之间的通讯,实现对被控实验对象的神经网络控制。关键词:带死区的积分分离PID;WinCC;实验平台; 神经网络的PID中图分类号:TP31 文献标识码:文章编号:Abstract: Analyzing of the dead-section and integral splitting PID algorithm, and melting the wide-used PID controller and the automatic learning nerve network, the paper got a PID control algorithm based on the BP network. The network algorithm is embedded in WinCC and a neural network lab table is explored by the globe scenarios editor in WinCC. The lab target is controlled by nerve network through the communication between the WinCC and PLC.
Key words: dead-section and integral splitting PID; WinCC; lab table; neural network PID
1 前言为了适应自动化及相关专业教学需要,加深学生对控制理论及控制工程的认识和理解,实验教学控制系统除采用常规PID及改进算法外,也可采用了自适应、预测模型、模糊专家系统、神经网络等智能控制算法。为了方便学生了解人工神经网络原理及特点,对神经网络模型、控制算法及应用技术有一个基本的认识,在以有的控制系统实验软件中嵌入了神经网络控制算法,开发神经网络实验平台,用以调节PID控制器的三个可调参数KpKI、KD。2带死区的积分分离PID 控制算法带死区积分分离PID控制实验原理框图如图1所示。变送器检测得到被控对象的输出4~20mA的电流反馈信号输入PLC,由AI模块经A/D转换成数字信号yf(t)后。再与从上位机键盘输入的给定值yr(t)(从键盘输入)比较,得到偏差信号e(t)。PLC根据偏差信号e(t),执行带死区积分分离PID控制算法程序,计算出控制量,由AO模块经D/A转换成4~20mA的电流控制信号u(t),控制广义对象的输出y(t),使其跟踪给定值yr(t)。
图1 带死区积分分离PID控制实验原理
在普通的PID数字控制器中引入积分环节的目的,主要是为了消除静差、提高精度。但在过程的启动、结束或大幅度增减设定值时,会造成PID运算的积分积累,致使算得的控制量超过执行机构可能最大的动作范围所对应的极限控制量,最终引起系统较大的超调,甚至引起系统的振荡,这是大多数工业生产过程所不允许的。为了避免上述情况发生,采用积分分离PID控制算法,既保持了积分作用,又可以减小超调量,使得控制性能有了较大的改善。其具体实现如下:(1) 根据实际情况,设定一阈值ε0。(2) 当│e(k)│ε时,也即偏差值│e(k)│比较大时,采用PD控制,可避免过大的超调,又使系统有较快的响应。(3) 当│e(k)│≤ε时,也即偏差值│e(k)│比较小时,采用PID控制,可保证系统的控制精度。对于算法实现,可在积分项乘一个系数β,β按下式取值:
将增量式PID算式写成积分分离形式即为
当│e(k)│ε时,即β=0,进行PD控制,PD控制算法为:
当│e(k)│≤ε时,即β=1,进行PID控制,PID控制算法为:
另外,实际系统要求机械装置运动到位后,控制作用不要频繁变动,以免机械磨损(或电子调节阀过热烧坏)。为了避免控制动作的过于频繁,消除频繁动作引起的振荡,只在累积偏差超出一定的范围后才作调整,可采用带死区的PID控制。相应的控制算式如下:
式中,死区εo (εo0)是一个可调的参数,其具体数字可根据实际控制对象确定。若εo值太小,使动作过于频繁,达不到稳定被控对象的目的;若εo值太大,则系统将产生较大的稳态误差,降低控制精度。此控制系统实际上是一个非线性系统,即当│e(k)│≤εo时,PID调节器控制量输出为零;当│e(k)│εo,PID调节器由控制量输出。3基于BP神经网络的PID控制算法对
文档评论(0)