产品描述
西门子模块6ES7321-1CH00-0AA0供应
适应性,而且PID控制器的结构典型、程序设计简单、工程上易于实现、参数调整方便。本文以西门子公司S7-200 PLC为例介绍PLC在PID闭环控制系统中的应用。
2 PLC实现PID控制的方式
用PLC对模拟量进行PID控制大致有如下几种方法:
(1)使用PID过程控制模块:这种模块的PID控制程序是PLC厂家设计的,并放在模块中,用户使用时只需要设置一些参数,使用起来非常方便。
(2)使用PID功能指令:它是用于PID控制的子程序,与模拟量输入/输出模块一起使用,可以得到类似于使用PID过程控制的效果,但价格得多。如S7-200的PID指令。
(3)用自编的程序实现PID闭环控制:在没有PID过程控制模块和功能指令的情况下,仍希望采用某种改进的PID控制算法,此时用户需要自己编制PID控制程序。
本文以西门子S7-200 PLC为例,说明PID控制的原理及PLC的PID功能指令的使用及控制功能的实现。
3 PLC PID控制器的实现
3.1 PID控制器的数字化
PLC的PID控制器的设计是以连续的PID控制规律为基础,将其数字化,写成离散形式的PID方程,再根据离散方程进行控制程序的设计。
在连续系统中,典型的PID闭环控制系统如图1所示。图1中sp(t)是给定值;pv(t)为反馈量;c(t)为系统的输出量,PID控制器的输入/输出关系如式(1)所示:
式中:M(t)为控制器输出;Mo为输出的初始值;e(t)=sp(t)-pv(t)为误差信号;Kc为比例系数;T1为积分时间常数,TD为微分时间常数。等号右边项分别是比例、积分、微分部分,它们分别与误差、误差的积分和微分成正比。如果取其中的1项或2项,可以组成P,PD或PI控制器。
设采样周期为TS,系统开始运行的时刻为t=0,用矩形积分来近似积分,用差分近似微分,将式1离散化,n次采样时控制器的输出如式(2)所示:
式中:en-1为n-1次采样时的误差值;K1为积分系数;KD为微分系数。
基于PLC的闭环控制系统如图2所示,图中虚线部分在PLC内,spn,pvn,en,Mn分别为模拟量sp(t),pv(t),e(t),M(t)在n次采样的数字量。在许制系统中,可能只需要P,I,D中的1种或者2种控制类型。例如,可能只要求比例控制或比例与积分控制,通过设置参数可对回路控制类型进行选择。
3.2 输入输出变量的转换
PID控制有输入量2个:给定值sp和过程变量pv。给定值通常是固定值,过程变量通常是经过A/D转换和计算后得到的被控量的实测值。给定值和过程变量都是和被控对象有关的值,对于不同的系统,它们的大小、范围与工程单位有很大的不同。应用PLC的PID指令对这些量进行运算之前,将其转换成标准化的浮点数(实数)。同样,对于PID指令的输出,在将其送给D/A转换器之前,也需要进行转换。
3.2.1 回路输入的转换
,将给定值或A/D转换后得到的整数值由16位整数转换为浮点数,可以用下面的程序实现这种转换:
然后,将实数进一步转换成0.0~1.0之间的标准数,可用式3对给定值及过程变量进行标准化:
式中:RNorm为标准化实数值;RRaw为标准化前的值;offset为偏移量,对单性变量为0.0,对双性变量为0.5;Span为取值范围,等于变量的大值减去小值,单性变量的典型值为32 000,双性变量的典型值为64 000。
下面的程序将上述转换后得到的AC0中的双性数(其中span=64 000)转换为0.0~1.0之间的实数的转换程序为:
3.2.2 回路输出的转换
回路输出即PID控制器的输出,它是标准化的0.0~1.0之间的实数。将回路输出送给D/A转换器之前,转换成16位二进制数,这一过程是将pv与sp转换成标准化数值的逆过程。
用下面的式(4)将回路输出转换为实数:
式中,RScal是回路输出对应的实数值;Mn是回路输出标准化的实数值。
将回路输出转换为对应的实数的程序为:
将代表回路输出的实数转化为16位整数的指令为:
4 PID指令及其回路表
S7-200的PID指令如图3所示。
指令中TBL是回路表的起始地址,LOOP是回路编号。编译时如果指令的回路表起始或回路号出范围,CPU将生成编译错误(范围错误),引起编译失败。PID指令对回路表中的某些输入值不进行范围检查,应保证过程变量、给定值等不限。回路表如表1所示:
过程变量与给定值是PID运算的输入值,在回路表中他们只能被PID指令读取而不能改写。每次完成PID运算后,都要新回路表内的输入值Mn,它被限制在0.0~1.0之间。
如果PID指令中的算术运算发生错误,特殊存储器位SM 1.1(溢出或非法数值)被置为1,并将中止PID指令的执行,想要这种错误,在下一次执行PID运算之前,应改变引起运算错误的输入值,而不是新输出值。
5 PID指令编程举例
温度控制是工业生产过程中很重要的一种控制。温度控制系统一般具有大惯性、大延时的特点。在工业控制中,难以建立温度系统的数学模型,而应用模拟或数字式PID闭环控制往往能获得较好的控制精度。
本例采用PID控制器,温度给定值经标准化处理后为0.8,选取控制器参数初值为:Kc=0.2,Ts=0.05 s,TI=20 min,TD=10 min。控制程序如下:
6 结 语
本文针对西门子S7-200 PLC在PID闭环控制系统中的应用,介绍PID数字控制器的原理、实现方法和编程实例。需要指出的是,PID控制算法具有很强的灵活性,根据被控对象特点的不同,可以使用PI控制、PD控制、PID控制等多种形式,从而达到好的控制效果。随着智能控制技术的发展,PID控制与模糊控制、神经网络控制等现代控制方法的结合,可以实现PID控制器的参数自整定,使PID控制器具有经久的生命力。
OB的作用如下:
OB1(Free Cycle)顺序扫描
OB10~OB17(Time-Of-Day Interrupt)时间-日期中断
OB20~OB23(Time-Delay Interrupt)时间延迟中断
OB30~OB38(Cyclic Interrupt)周期性中断
OB40~OB47(Hardware Interrupt)硬件中断
OB55(Status Interrupt)状态中断
OB56(Update Interrupt)升级中断
OB57 (Manufacturer Interrupt)厂商中断
OB61~OB64(Synchronous Cycle Interrupt)异步周期中断
OB70(I/O Redundancy Error)I/O冗余错误
OB72(CPU Redundancy Error)CPU冗余错误
OB73(Communication Error)通信错误
OB80(Time Error)时间错误
OB81(Power Supply Error)电源错误
OB82 (Diagnostic Interrupt)诊断中断
OB83(Insert/Remove Interrupt)插/拔中断
OB84(CPU Hardware Fault)CPU硬件错误
OB85(Priority Class Error)级错误
OB86(Rack Failure)机架错误
OB87(Communication Error)通信错误
OB88 (Processing Interrupt)过程错误
OB90(Background OB)背景OB
OB100(Warm Restart)暖启动
OB101(Hot Restart)热启动
OB102(Cold Restart冷启动
OB121(Programming Error)编程错误
OB122(I/O Access Error)I/O存储错误
注:OB55,OB56,OB57,OB61,OB62,OB63,OB64,OB81,OB84,OB87,OB88,OB90是NOP(空操作)用户不需要用户不需要修改调用空操作的程序
系统的主要技术概述:
◆系统主要有现场控制站(I/O站)、数据通讯系统、人机接口单元(操作员站OPS、工程师ENS)、机柜、电源等组成。系统具备开放的体系结构,可以提供多层开放数据接口。
◆硬件系统在恶劣的工业现场具有高度的性、维修方便、工艺。底层汉化的软件平台具备强大的处理功能,并提供方便的组态复杂控制系统的能力与用户自主开发控制算法的支持能力;易于组态,易于使用。支持多种现场总线标准以便适应未来的扩充需要。
◆系统的设计采用合适的冗余配置和诊断至模件级的自诊断功能,具有高度的性。系统内任一组件发生故障,均不会影响整个系统的工作。
◆系统的参数、报警、自诊断及其他管理功能高度集中在CRT上显示和在打印机上打印,控制系统在功能和物理上真正分散,
◆整个系统的可利用率至少为99.9%;系统平均无故障时间为10万小时,实现了核电、火电、热电、石化、化工、冶金、建材诸多领域的完整监控。
◆网络结构性、开放性及性。
◆标准的Client/Server结构。
◆开放并且的操作系统。系统的操作层采用bbbbbbS 操作系统;
◆标准的控制组态软件。
◆可扩展性和可裁剪性,保证经济性。
工业现场情况多种多样,某些环境禁止、限制使用电缆或很难使用电缆,有线网络很难发挥作用,因此无线工业通讯技术的使用成为必然。随着微电子技术的不断发展,无线局域网技术将在工业控制网络中发挥越来越大的作用。计算机网络技术、无线技术以及智能传感器技术的结合,产生了“基于无线技术的网络化智能传感器”的全新概念。这种基于无线技术的网络化智能传感器使得工业现场的数据能够通过无线链路直接在网络上传输、发布和共享。泰阳工控采用无线网络在一些特殊环境下有效地弥有线网络的不足,进一步完善了工业控制网络的通信性能。
功能强大的界面软件
对于工业控制系统,操作人员需要对设备参数,运行状态,控制对象进行实时的监控。以便准确及时了解当前工艺情况。
泰阳工控采用国内外组态软件,如SIEMENS WINCC ,KINGVIEW,MCGS等开发计算机上位软件。建立友好人机对话方式.
1、形象动画地显示工艺流程。
2、艺参数的输入,存储,调用。
3、善的系统报警功能。历史报警的查询,打印。
4、善的日,月等报表功能。可进行产量,日期,时间的自动统计和定时打印。
5、户的分层受权管理,使系统。
6、进行参数趋势图显示。
适应性,而且PID控制器的结构典型、程序设计简单、工程上易于实现、参数调整方便。本文以西门子公司S7-200 PLC为例介绍PLC在PID闭环控制系统中的应用。
2 PLC实现PID控制的方式
用PLC对模拟量进行PID控制大致有如下几种方法:
(1)使用PID过程控制模块:这种模块的PID控制程序是PLC厂家设计的,并放在模块中,用户使用时只需要设置一些参数,使用起来非常方便。
(2)使用PID功能指令:它是用于PID控制的子程序,与模拟量输入/输出模块一起使用,可以得到类似于使用PID过程控制的效果,但价格得多。如S7-200的PID指令。
(3)用自编的程序实现PID闭环控制:在没有PID过程控制模块和功能指令的情况下,仍希望采用某种改进的PID控制算法,此时用户需要自己编制PID控制程序。
本文以西门子S7-200 PLC为例,说明PID控制的原理及PLC的PID功能指令的使用及控制功能的实现。
3 PLC PID控制器的实现
3.1 PID控制器的数字化
PLC的PID控制器的设计是以连续的PID控制规律为基础,将其数字化,写成离散形式的PID方程,再根据离散方程进行控制程序的设计。
在连续系统中,典型的PID闭环控制系统如图1所示。图1中sp(t)是给定值;pv(t)为反馈量;c(t)为系统的输出量,PID控制器的输入/输出关系如式(1)所示:
式中:M(t)为控制器输出;Mo为输出的初始值;e(t)=sp(t)-pv(t)为误差信号;Kc为比例系数;T1为积分时间常数,TD为微分时间常数。等号右边项分别是比例、积分、微分部分,它们分别与误差、误差的积分和微分成正比。如果取其中的1项或2项,可以组成P,PD或PI控制器。
设采样周期为TS,系统开始运行的时刻为t=0,用矩形积分来近似积分,用差分近似微分,将式1离散化,n次采样时控制器的输出如式(2)所示:
式中:en-1为n-1次采样时的误差值;K1为积分系数;KD为微分系数。
基于PLC的闭环控制系统如图2所示,图中虚线部分在PLC内,spn,pvn,en,Mn分别为模拟量sp(t),pv(t),e(t),M(t)在n次采样的数字量。在许制系统中,可能只需要P,I,D中的1种或者2种控制类型。例如,可能只要求比例控制或比例与积分控制,通过设置参数可对回路控制类型进行选择。
3.2 输入输出变量的转换
PID控制有输入量2个:给定值sp和过程变量pv。给定值通常是固定值,过程变量通常是经过A/D转换和计算后得到的被控量的实测值。给定值和过程变量都是和被控对象有关的值,对于不同的系统,它们的大小、范围与工程单位有很大的不同。应用PLC的PID指令对这些量进行运算之前,将其转换成标准化的浮点数(实数)。同样,对于PID指令的输出,在将其送给D/A转换器之前,也需要进行转换。
3.2.1 回路输入的转换
,将给定值或A/D转换后得到的整数值由16位整数转换为浮点数,可以用下面的程序实现这种转换:
然后,将实数进一步转换成0.0~1.0之间的标准数,可用式3对给定值及过程变量进行标准化:
式中:RNorm为标准化实数值;RRaw为标准化前的值;offset为偏移量,对单性变量为0.0,对双性变量为0.5;Span为取值范围,等于变量的大值减去小值,单性变量的典型值为32 000,双性变量的典型值为64 000。
下面的程序将上述转换后得到的AC0中的双性数(其中span=64 000)转换为0.0~1.0之间的实数的转换程序为:
3.2.2 回路输出的转换
回路输出即PID控制器的输出,它是标准化的0.0~1.0之间的实数。将回路输出送给D/A转换器之前,转换成16位二进制数,这一过程是将pv与sp转换成标准化数值的逆过程。
用下面的式(4)将回路输出转换为实数:
式中,RScal是回路输出对应的实数值;Mn是回路输出标准化的实数值。
将回路输出转换为对应的实数的程序为:
将代表回路输出的实数转化为16位整数的指令为:
4 PID指令及其回路表
S7-200的PID指令如图3所示。
指令中TBL是回路表的起始地址,LOOP是回路编号。编译时如果指令的回路表起始或回路号出范围,CPU将生成编译错误(范围错误),引起编译失败。PID指令对回路表中的某些输入值不进行范围检查,应保证过程变量、给定值等不限。回路表如表1所示:
过程变量与给定值是PID运算的输入值,在回路表中他们只能被PID指令读取而不能改写。每次完成PID运算后,都要新回路表内的输入值Mn,它被限制在0.0~1.0之间。
如果PID指令中的算术运算发生错误,特殊存储器位SM 1.1(溢出或非法数值)被置为1,并将中止PID指令的执行,想要这种错误,在下一次执行PID运算之前,应改变引起运算错误的输入值,而不是新输出值。
5 PID指令编程举例
温度控制是工业生产过程中很重要的一种控制。温度控制系统一般具有大惯性、大延时的特点。在工业控制中,难以建立温度系统的数学模型,而应用模拟或数字式PID闭环控制往往能获得较好的控制精度。
本例采用PID控制器,温度给定值经标准化处理后为0.8,选取控制器参数初值为:Kc=0.2,Ts=0.05 s,TI=20 min,TD=10 min。控制程序如下:
6 结 语
本文针对西门子S7-200 PLC在PID闭环控制系统中的应用,介绍PID数字控制器的原理、实现方法和编程实例。需要指出的是,PID控制算法具有很强的灵活性,根据被控对象特点的不同,可以使用PI控制、PD控制、PID控制等多种形式,从而达到好的控制效果。随着智能控制技术的发展,PID控制与模糊控制、神经网络控制等现代控制方法的结合,可以实现PID控制器的参数自整定,使PID控制器具有经久的生命力。
产品推荐