收藏 分享(赏)

PID控制算法在西门子PLC中编程及实现_何军红.pdf

上传人:weiwoduzun 文档编号:3090548 上传时间:2018-10-03 格式:PDF 页数:4 大小:889.46KB
下载 相关 举报
PID控制算法在西门子PLC中编程及实现_何军红.pdf_第1页
第1页 / 共4页
PID控制算法在西门子PLC中编程及实现_何军红.pdf_第2页
第2页 / 共4页
PID控制算法在西门子PLC中编程及实现_何军红.pdf_第3页
第3页 / 共4页
PID控制算法在西门子PLC中编程及实现_何军红.pdf_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、收稿日期 : 2012 05 30作者简介 : 何军红 ( 1971) , 男 , 浙江义乌人 , 副教授 , 博士 , 研究方向为自动化控制工程 , 系统辨识 , 嵌入式系统及工业网络应用研究等 。PID控制算法在西门子PLC中编程及实现何军红 , 尹旭佳 , 史常胜( 西北工业大学 航海学院 , 西安 710072)摘要 : 分析了 PID 控制位置式和增量式基本算法 , 其应用在工业控制领域相当广泛 。采用西门子可编程控制器 S7 300 PLC 作为控制器 , 通过梯形图方式编写了 PID 的通用控制算法 , 用 FB 功能块进行了封装 。通过选择合适的 PID 控制参数 , 可以满足

2、实际工程的不同需求 。该控制算法已经在实际的处理项目 、地铁通风空调等多个工程项目中成功应用 。关键词 : PID; 控制算法 ; PLC中图分类号 : TP319 文献标志码 : B 文章编号 : 1000 0682( 2012) 05 0079 04The programming and implementation of PID control algorithms in Siemens PLCHE Junhong, YIN Xujia, SHI Changsheng( School of Marine, Northwestern Polytechnical University, Xi

3、an 710072, China)Abstract: This paper analyzes the positional and the incremental algorithm based on the PID control,which is widely used in the industrial automation field With the Siemens S7 300 PLC as a controller,the PID common control algorithm is realized in the way of ladder and packaged it i

4、n a function block Byselecting the appropriate PID parameters, it can be used in kinds of practical engineering programs Thecontrol algorithm has been successfully applied in the actual processing project and subway ventilation airconditioning projectKey words: PID; control algorithms; PLC0 引言PID 控制

5、是连续系统控制中广泛应用的一种控制方法 。由于它结构改变灵活 , 可根据系统的要求 ,在常规 PID 调节的基础上进行多种 PID 变型控制 ,如 PI、PD 控制 , 比例 PID 控制 , 不完全微分控制 , 带死区的 PID 控制等 。特别是 PID 控制不需控制对象的精确的数学模型 , 这对大多数很难得到或根本得不到精确的数学模型的工业控制对象来说 , 更适合应用 PID 控制 。PID 控制框图如图 1 所示 。图 1 PID 控制框图1) 比例控制作用当过程输出值 PV 与设定的期望值 SV 间产生偏差时 , 比例控制器会自动调节控制变量 U 的大小 , 控制变量 U 的大小会朝着

6、减小偏差 E 的方向变化 。比例系数 K 的大小决定了比例控制器调节的快慢程度 , K 大系统调节速度快 , 但 K 过大会使控制系统出现超调或振荡现象 。K 小系统调节速度慢 。比例控制器的主要缺点是存在无法消除的静差值 , 影响了调节精度 。2) 积分控制作用为了消除静差值 , 在比例控制器的基础上引入一个积分控制器构成比例积分控制器 。控制器积分控制作用与比例控制作用的输出相等时所需的控制时间称为积分常数 Ti。积分常数 Ti的大小决定了积分作用强弱程度 。Ti选择的越小 , 积分的控制作用越强 , 但系统振荡的衰减速度越慢 。当 Ti过小时 , 甚至会造成系统的持续振荡 。Ti选择的越

7、大 ,积分的控制作用越弱 , 系统消除偏差的时间就越长 。972012 年第 5 期 工业仪表与自动化装置积分控制可消除静差 , 改善了控制系统静态特性 , 但系统的动态性能变差 。3) 微分控制作用为了改善系统的动态特性 , 引入微分控制器 。当偏差 e 瞬间变化时 , 微分控制器会立即产生响应 ,来抑制偏差的变化 , 而且偏差变化越快 , 微分控制的作用越大 , 从而使系统更趋于稳定 , 避免振荡现象的发生 , 改善了系统的动态性能 。当控制器的微分控制作用与比例控制作用的输出相等时所需的控制时间称为微分常数 Td。微分常数 Td选择过大 , 会导致系统震荡不稳定 1。针对不同的应用场合

8、, 不同的控制对象 , 需要合理选择 PID 控制器的参数 。1 PID 控制算法连续系统位置式 PID 控制算法微分方程为 :u = Kp( e +1Tit0edt + Tddedt) + u0( 1)式中 : e 为过程值与设定值的偏差 ; Kp为控制器的比例系数 ; Ti为控制器的积分常数 ; Td为控制器的微分常数 ; u 为控制器输出信号 ; u0为偏差为零时 , 控制器输出信号 。将式 ( 1) 离散化并变形可以得到对应的增量式差分方程为 :u =Kp( enen1) +TTien+TdT( en2en1+en2) ( 2)u = un un 1( 3)式中 : u 为第 n 次采

9、样周期内控制器输出信号的增量 2。2 PID 控制算法 PLC 应用2 1 增量式 PID 算法编程根据增量式 PID 控制算法式 ( 2) , 进一步简化计算公式为 :u = Kp( en en 1) + KpTTien+ KpTdT( en2en 1+ en 2) ( 4)u = Kp( en en 1) + Kien+ Kd( en 2en 1+ en 2) ( 5)式中 : Ki= KpTTi为控制器积分系数 ; Kd= KpTdT为控制器微分系数 3。PID 程序块输入输出参数见表 1。表 1 PID 程序块输入输出参数表序号 变量名 描述输入输出数据类型1 SV 设定值 输入 Re

10、al2 PV 当前过程测量值 输入 Real3 LPV 上一次过程测量值静态变量Real4 LLPV 上上一次过程测量值静态变量Real5 Kp 控制器比例系数 输入Real6 Ki 控制器积分系数 输入Real7 Kd 控制器微分系数 输入Real8 Delta_PID 当前 PID 增量输出 输出 Real9 Delta_P 当前比例分量输出 输出 Real10 Delta_I 当前积分分量输出 输出 Real11 Delta_D 当前微分分量输出 输出 Real12 LastOUT 上一次 PID 控制器输出静态变量Real13 CurrentOUT 当前 PID 控制器输出静态变量Re

11、al14 LLim_OUT 输出下限值 输入 Real15 HLim_OUT 输出上限值 输入 Real16 PQW 模拟量模块输出 输出 Integer化简为有利于 LAD 语言编程的算法 , 列于表 2。表 2 简化参数表Delta_P = Kp( PV LPV)Delta_I = Ki( PV SV)Delta_D = Kd( PV 2LPV + LLPV)Delta_PID = Delta_P + Delta_I + Delta_DCurrentOUT = LastOUT Delta_PID当偏差采用 ( PV SV) 时 , 采用“”号 。反之 ,采用 “+”号 。22 编写功能块打

12、开 “SIMATIC Manager”, 新建一个项目 , CPU硬件选择 CPU315 2DP。在 “Blocks”下 , 插入一个FB2 功能块 。双击 FB2 功能块 , 功能接口中定义表1 所示变量 。如图 2 所示 。08 工业仪表与自动化装置 2012 年第 5 期图 2 FB2 功能块接口定义对功能块 FB2 编程 , 梯形图程序说明如图 3所示 。图 3 FB2 功能块编程梯形图23 功能块的调用及参数给定编写 OB1 主程序 。在 OB1 中 , 编写如下一个程序段 。通过定时器 , 每隔 10 秒 , OB1 调用一次 FB2 块 。在功能块 FB2 中 , SV 设定值和

13、 PV 输入端的过程值都为实数 。在实际应用中 , 过程值先通过模拟量输入模块采集现场传感器 , 输入值 ( PIW) 为整数 , 必须要转换为实数 , 即 :PV =PIW27 648 HLim_OUT同样 , 在 FB2 块中 , 控制器运算结果值为实数 ,也需要经过换算后 , 输出值 ( PQW) 为整数 , 通过模拟量输出模块成为 4 20 mA 或 1 5 V 信号 。换算公式已在 FB2 程序中实现 ( 见段 7 程序 ) 。PQW =Current_OUTHLim_OUT27 648在 OB1 程序中调用 FB2 功能块如图 4 所示 。182012 年第 5 期 工业仪表与自动

14、化装置图 4 在 OB1 程序中调用 FB2 功能块FB2 功能块也可以在 OB35 中断块中调用 。在项目中 , 选择 “Block”, 增加一个 OB35 循环中断 。OB35 默认时间间隔为 100 ms( 可在 CPU 属性中设置 ) , 即在 OB35 中的用户程序将每隔 100 ms调用一次 。用户程序的执行时间必须小于设定的时间间隔 , 否则会造成 CPU 故障 。在 FB2 每次调用时 , 必须有一个不同的背景数据块作为其调用的参数 , 如程序中 DB12。在 FB2接口中定义的全部参数 , 在背景数据块中会自动生成 4。如图 5 所示 。图 5 背景数据块 DB12背景数据块

15、中的数据 , 相当于 FB2 块调用时需要的实际参数 。大部分参数在程序调用时 , 可以通过实际参数输入传递赋值 , 如 PV( 由传感器测量输入 ) ; 其他参数可以通过其他功能块如 OB100 初始化赋值 , 或通过人机界面由操作人员在线修改赋值 。通过 OB100 启动块 , 初始化背景数据块中的参数 。增加一个 OB100 启动块 , 在块中编写程序 , 初始化 PID 控制器比例 、积分和微分 3 个系数 , 如图 6所示 。图 6 初始化比例 、积分和微分 3 个系数3 结论在实际应用时 , 只要通过参数输入 , 可以选择PID 的控制器类型 ( PI、PD、PID) 、死区的设置

16、等 , 是一个通用 PID 控制器 , 非常简单实用 。为了使系统达到最佳调节过程 , 根据控制对象 , 需要合理选择控制器类型和正定其参数 。采用西门子 S7 300 系列 PLC 为控制器应用对象 , 用功能块编写程序封装了 PID 通用的控制算法 。该控制算法已经在实际的处理项目 、地铁通风空调等多个工程项目中成功应用 。参考文献 : 1 金以慧 过程控制 M 北京 : 清华大学出版社 , 1993 2 崔坚 西门子 S7 可编程控制器 STEP7 编程指南 M 北京 : 机械工业出版社 , 2007 3 何军红 , 吴旭光 , 牛云 西门子 PLC 编程与工程应用 M 北京 : 化学工

17、业出版社 , 2011 4 西门子 ( 中国 ) 有限公司 STEP7 编程手册 M 2004( 上接第 78 页 )5 结束语连续式非线性 A/D 转换器电路非常简单 , 线性化精度高 , 它适用于特性单调变化的 、斜率无急剧变化的传感器 。参考文献 : 1 吴训一 自动检测技术 : 上册 M 北京 : 机械工业出版社 , 1981 2 纪树赓 自动显示技术及装置 : 上册 M 北京 : 机械工业出版社 , 1981 3 陈特夫 温度仪表及感应加热装置 M 北京 : 机械工业出版社 , 1983 4 陈守夫 工程检测技术 M 北京 : 中央广播电视大学出版社 , 1984 5 宫贤令 自动显示技术 M 北京 : 冶金工业出版社 , 198928 工业仪表与自动化装置 2012 年第 5 期

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报