首页 上一页 1 2 下一页 尾页

(已结帖)工控PLC擂台第38期--PLC 中PID 模块指令的应用 点击:3465 | 回复:30



玻璃的心

    
  • 精华:44帖
  • 求助:2帖
  • 帖子:1275帖 | 5801回
  • 年度积分:0
  • 历史总积分:57777
  • 注册:2010年6月11日
发表于:2011-04-28 22:05:08
楼主

        PID 的控制是对连续量的控制,目前它的控制算法仍然是实际工业控制系统中应用的最为广泛的一种控制算法。为了使PLC 能简单、有效、友好地进行PID 控制,世界上的各大PLC 生产商都引入了PID 控制模块,它以PLC 编程指令中的一种指令模块的形式出现,通过对这个指令模块离线的或在线的进行PID 参数修改,来对被控制的对象实施控制。

PID的基本实现过程如下图所示:

图1 PID实现过程

本期擂台:由于定标和解标我们在前面已经有所讲解,因此,在定标解标的基础上我们要求大家给出一个实现PID控制的项目或实验。要求详细介绍各步的实现过程。

PLC品牌不限。 回答的最好,最详细的首先拿奖!

 

工控PLC擂台每周一期,本期下周末结贴。奖项设置:一等奖1名:50MP,二等奖5名:10MP,三等奖10名:30积分。

MP介绍:gongkongMP即工控币,是中国工控网的用户积分与回馈系统的一个网络虚拟计价单位,类似于大家熟悉的QB,1个MP=1元人民币。

MP有什么用?兑换服务:以1个MP=1元来置换中国工控网的相关服务。 兑换现金:非积分获得的MP可兑换等值现金(满100MP后、用户可通过用户管理后台申请兑换)。



楼主最近还看过



花开_花落

  • 精华:1帖
  • 求助:1帖
  • 帖子:65帖 | 1155回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2011-05-29 23:00:53
21楼
2.3 配置设计
  控制系统技术方案配置如表示。元件表格列举出控制系统主要控制原件,其他辅助器件未给出。
    供水自动化系统配置

花开_花落

  • 精华:1帖
  • 求助:1帖
  • 帖子:65帖 | 1155回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2011-05-29 23:01:31
22楼
3 基于台达HMI宏指令的动画设计
  人机界面设计提供直观生动的供水管理监控。人机界面主要有三个画面,实现参数设置和实时显示,水泵运行动画显示,工作方式选择等功能。主画面如图(二)所示。水泵运行动画动态显示画面如图所示。

 图(二)供水系统主画面

图基于台达HMI宏指令的动画画面
   

  水泵运行动画动态显示水泵运行的动画显示是通过人机界面宏指令来完成的,效果虽没有工控组态软件生动,但是还是把工业现场的运行状态真实表现出来,满足了客户的需要。
宏指令分为三部分:CLOCK;子宏1;子宏2。
 

  CLOCK Macro根据两台水泵不同运行状态分别调用SubMacro 1和SubMacro 2。

SubMacro 1用于显示水泵1的动态运行水流动画显示。


SubMacro 2用于显示水泵2的动态运行水流动画显示。

hjcan

  • 精华:1帖
  • 求助:0帖
  • 帖子:13帖 | 292回
  • 年度积分:0
  • 历史总积分:2940
  • 注册:2011年2月21日
发表于:2011-05-29 23:04:39
23楼

S7-200 PLC在PID闭环控制系统中的应用

 

1概述 

工业生产中,常需要用闭环控制方式来控制温度、压力、流量等连续变化的模拟量,无论是使用模拟量控制器的模拟控制系统还是使用计算机(包括PLC)的数字控制系统,PID控制都得到了广泛应用。PID控制器是比例-积分-微分控制(Proportional-Integral-De-rivative)的简称,其优点是不需要精确的控制系统数学模型,有较强的灵活性和适应性,而且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)所示:

S7-200 PLC在PID闭环控制系统中的应用 - liugangde2005 - 我的博客

式中:M(t)为控制器输出;Mo为输出的初始值;e(t)=sp(t)-pv(t)为误差信号;Kc为比例系数;T1为积分时间常数,TD为微分时间常数。等号右边前三项分别是比例、积分、微分部分,它们分别与误差、误差的积分和微分成正比。如果取其中的1项或2项,可以组成P,PD或PI控制器。

S7-200 PLC在PID闭环控制系统中的应用 - liugangde2005 - 我的博客

假设采样周期为TS,系统开始运行的时刻为t=0,用矩形积分来近似精确积分,用差分近似精确微分,将式1离散化,第n次采样时控制器的输出如式(2)所示:

S7-200 PLC在PID闭环控制系统中的应用 - liugangde2005 - 我的博客

式中: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种控制类型。例如,可能只要求比例控制或比例与积分控制,通过设置参数可对回路控制类型进行选择。

S7-200 PLC在PID闭环控制系统中的应用 - liugangde2005 - 我的博客

hjcan

  • 精华:1帖
  • 求助:0帖
  • 帖子:13帖 | 292回
  • 年度积分:0
  • 历史总积分:2940
  • 注册:2011年2月21日
发表于:2011-05-29 23:08:00
24楼

3.2 输入输出变量的转换

PID控制有输入量2个:给定值sp和过程变量pv。给定值通常是固定值,过程变量通常是经过A/D转换和计算后得到的被控量的实测值。给定值和过程变量都是和被控对象有关的值,对于不同的系统,它们的大小、范围与工程单位有很大的不同。应用PLC的PID指令对这些量进行运算之前,必须将其转换成标准化的浮点数(实数)。同样,对于PID指令的输出,在将其送给D/A转换器之前,也需要进行转换。

3.2.1  回路输入的转换

首先,将给定值或A/D转换后得到的整数值由16位整数转换为浮点数,可以用下面的程序实现这种转换:

S7-200 PLC在PID闭环控制系统中的应用 - liugangde2005 - 我的博客

然后,将实数进一步转换成0.0~1.0之间的标准数,可用式3对给定值及过程变量进行标准化:

S7-200 PLC在PID闭环控制系统中的应用 - liugangde2005 - 我的博客

式中:RNorm为标准化实数值;RRaw为标准化前的值;offset为偏移量,对单极性变量为0.0,对双极性变量为0.5;Span为取值范围,等于变量的最大值减去最小值,单极性变量的典型值为32 000,双极性变量的典型值为64 000。

下面的程序将上述转换后得到的AC0中的双极性数(其中span=64 000)转换为0.0~1.0之间的实数的转换程序为:S7-200 PLC在PID闭环控制系统中的应用 - liugangde2005 - 我的博客

3.2.2  回路输出的转换

回路输出即PID控制器的输出,它是标准化的0.0~1.0之间的实数。将回路输出送给D/A转换器之前,必须转换成16位二进制数,这一过程是将pv与sp转换成标准化数值的逆过程。

用下面的式(4)将回路输出转换为实数:

S7-200 PLC在PID闭环控制系统中的应用 - liugangde2005 - 我的博客

式中,RScal是回路输出对应的实数值;Mn是回路输出标准化的实数值。

将回路输出转换为对应的实数的程序为:

S7-200 PLC在PID闭环控制系统中的应用 - liugangde2005 - 我的博客

将代表回路输出的实数转化为16位整数的指令为:   

S7-200 PLC在PID闭环控制系统中的应用 - liugangde2005 - 我的博客

4 PID指令及其回路表

S7-200的PID指令如图3所示。

指令中TBL是回路表的起始地址,LOOP是回路编号。编译时如果指令指定的回路表起始地址或回路号超出范围,CPU将生成编译错误(范围错误),引起编译失败。PID指令对回路表中的某些输入值不进行范围检查,应保证过程变量、给定值等不超限。回路表如表1所示:   

S7-200 PLC在PID闭环控制系统中的应用 - liugangde2005 - 我的博客

过程变量与给定值是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。控制程序如下:

S7-200 PLC在PID闭环控制系统中的应用 - liugangde2005 - 我的博客

zllk04266

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 162回
  • 年度积分:0
  • 历史总积分:3833
  • 注册:2011年2月24日
发表于:2011-05-29 23:11:12
25楼
PID指令及RSTune软件在恒压供水中的应用
 
1  引言
    随着城市的迅速发展和居民用水量的上升,一方面传统的恒速泵组切换方式使水压高低不稳,另一方面造成能源浪费使供水系统用电量急剧上升。为提高传统泵组工作供水系统水压的稳定性、节电率和可靠性,本系统采用PID控制变频调速泵的方案,采用Rockwell的软件RSTune来优化PID的参数,结合工业控制网络DeviceNet,在现场运行的实践中达到了预期的效果。
 
2  系统设计
 
2.1   总体框架
 
    采用两台A-B的变频器1305分别控制两台电机功率为4kW 的水泵,根据供水母管的压力进行变频控制,实现恒压供水。系统通过DeviceNet网进行远程控制,人机界面由装有RSView软件的个人计算机实现,同时个人计算机还有编辑、下载程序和网络组建的功能,系统框图如图1所示。
 
2.2   DeviceNet网络介绍及连接
        (1)  网络介绍
        DeviceNetRockwell公司于1994提出的一种总线结构的设备级网络。采用多主工作方式,通讯模式是生产者和客户。传输速率为125500Kbps,最多可以支持64个节点,支持总线供电和独立供电设备。DeviceNet上的每个设备都可以随时连接和断开。
 
        (2)  网络的连接
    系统通过DeviceNet网连接个人计算机、控制器上的扫描模块1747-SDN、变频器1305和网络电源模块。通过模块上的DIP开关为系统内各组件分配节点地址,并用软件RSLinx进行通讯路径的配置,在计算机上用RSnetWorx for DeviceNet软件为扫描模块1747-SDN组态,从而完成对网络的组建。
 

zllk04266

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 162回
  • 年度积分:0
  • 历史总积分:3833
  • 注册:2011年2月24日
发表于:2011-05-29 23:13:35
26楼
3  系统主要器件及工作流程
 
        (1)   控制器及输入输出模块部分
    本系统采用A-BSLC5/04可编程控制器作为主控制器,此控制器把支持网络的软硬件内置于处理器模块中,支持DeviceNet网络。在此控制器上加入1747-SDN扫描模块、开关量输入模块1746IB16、开关量输出模块1746OB16、模拟量输入模块1746NIO4V。扫描器1747-SDN能够通过设备网与63个设备网设备通信,从设备读取输入信息,向设备写输出信息和监视设备的运行状态。开关量输入、输出模块分别有 16个输入输出点。模拟量输入模块1746NIO4V2点输入和2点输出,输入可以是电压信号(±10V)也可以是电流信号(±20mA),通过模块上的DIP开关选择。在本系统中采用的是电流信号。
 
        (2)   变频器
    采用两台1305变频器,通过1203接口接到设备网上,1305变频器具有远程控制和可编程能力,可以带动4kW的电机。
 
        (3)   压力传感器
    本系统的最高工作压力为0.5MPa,选用量程为0~1.0MPa的远传压力表,可以得到与压力相对应的电流4~20mA信号。
 
        (4)  人机界面
    本系统采用安装有RSView软件的计算机作为显示和控制人机界面。
 
        (5)  工作流程框图
 
图2   工作流程框图
 

zllk04266

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 162回
  • 年度积分:0
  • 历史总积分:3833
  • 注册:2011年2月24日
发表于:2011-05-29 23:15:11
27楼
4  PID、RSTune简介及在系统中的应用
 
4.1   PID指令及应用
        (1)  指令简介
        PID控制是过程控制中应用最广泛的一种控制规律。实际运行经验及理论分析充分表明,这种控制规律在对相当多的工业对象进行控制时能够得到较满意的结果。本文的PID控制原理图如图3所示。
    在SLC500指令系统中有PID指令。PID指令采用了下列具有相关增益的标准方程:
输出=
 
    其中,Kc为控制器增益(比例系数);1/Ti为复原项(积分系数);Td为比率项(微分系数)。
 
        (2)  PID指令的设置
    ①   4显示程序中输入参数地址的PID指令。
 
    控制块(Control Block)是一个文件,是存储指令操作必需的数据。文件长度固定为23个字。过程变量(Process Variable)是存储过程输入值的单元地址。控制变量(Control Variable)是存储PID指令输出单元的地址。
 
    ②   PID的初始参数设置
        PID三个参数是必不可少的,这三个参数映射在23个运行参数字中的特定的三个字上。Loop update指示的参数与time mode的参数有关,因为此PID模块有两种时间工作模式:定时型和中断型。中断型的工作模式由SLC5中的定时中断控制,每扫描一次程序,执行PID模块指令一次,因此这种方式的工作频率很高;定时型的工作方式就是指定PID模块指令执行的间隔时间,即控制了它的工作频率,这种工作方式比中断型灵活,可以根据具体的应用进行改变。如果Time mode指示的是定时型的时间工作方式,Loop update中则是具体设定的间隔时间。在本系统中采用定时型的时间工作方式,Loop update0.10。参数Control mode指示的是控制方式,也就是误差的计算方式,这里有两种:一种是设定值减去过程变量,另一种为过程变量减去设定值。这个参数的设定只与具体的控制回路有关。本系统采用E=SP-PV。参数PID control则很明确,它是手动与自动切换的控制位。参数块Inputs指示的是有关输入部分的参数,输入PID模块的过程变量的数值范围是016 383,它的基本思想是进行二次定标,把输入PID模块的016 383之间的数值再转换为表面看来有意义的物理量数值。参数块Flags指示的是一系列的PID模块的状态标志。
 

zllk04266

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 162回
  • 年度积分:0
  • 历史总积分:3833
  • 注册:2011年2月24日
发表于:2011-05-29 23:16:37
28楼
4.2    RSTune简介及应用
        (1)  RSTune参数整定软件
        RSTuneTM PIDRockwell提供的一个回路整定软件,利用它可方便、迅速、准确地整定PID控制回路,无需额外的梯形图编程。使用RSTune软件整定参数时,需要配合RSLinx以及RSLogix中的梯形图程序。通过在RSLinx中建立相应的Topic,在梯形图中使用相关PID指令(在此指令中实现PID参数初值的设定),这样,程序运行时,各实时值就能够直观地反映在RSTune提供的界面中,便于分析控制系统运行的好坏。同时,RSTune也会根据采集到的数据点自动或者手动地完成对参数的整定。
 
        (2)  RSTune的应用
    在本系统中首先通过自动寻优的方法,获得较好的PID参数和运行曲线的数据。然后对所得到的数据进行分析和处理,最后对处理后的运行数据用软件进行整定,反复几次以后就可以得到比较理想的PID参数。
 
    在安装RSTune后,先要在RSLinx中建立一个新的工程,在此工程中要完成一个与RSTune工程相应的主题(Topic)的创建。打开RSTune应用程序,在RSLinx Topic中键入前面新建的工程,设定采样时间、控制器类型和PID指令中的地址,注意PID指令中地址的填写要与梯形图中PID指令一致。打开RSLogic500,下载控制程序并运行,此时的PID指令参数根据经验设定为Kp=5Ti=0.1Td=0。运行RSTune,选择自动整定(AutoTune),然后根据提示按步骤进行即可得到自动寻优的参数以及运行曲线。这里要重复几次以得到较好的曲线。注意在设定值改变前应使系统处于稳定状态。得到曲线以后首先要对采集到的有效部分进行处理,有效部分的点数至少要大于33点。为了滤除设定值改变前曲线上的干扰,可以通过***erage菜单对这部分曲线的数据求平均值。在曲线上的数据大致相等的部分可以通过Line edit菜单对这部分曲线线性化。对曲线的响应部分可以通过设定滤波类型和时间常数来滤除干扰。在本系统中,笔者选择的是First order滤波方式,时间常数设定为1秒。把寻优方式设定为:Load TuningFastest,安全系数设定为2。对处理后的曲线用RSTune整定后得到一组PID参数:Kp =1.2Ti=0.1Td=0.02。把参数下载到PID对应参数中试运行,发现效果比使用前一组参数时有了比较明显的改善。

玻璃的心

  • 精华:30帖
  • 求助:2帖
  • 帖子:962帖 | 5801回
  • 年度积分:0
  • 历史总积分:61250
  • 注册:2010年6月11日
发表于:2011-06-02 15:31:40
29楼
一等奖0名,50MP获得者:


二等奖7名,10MP获得者:
zhxl198808                  zhxl198808
3CWQZ                        jsshwqz
zxjjynl                            zxjjynl
cqu_rockwell              cqu_rockwell
花开_花落                   the_wise
hjcan                           hjcan
zllk04266                    zllk04266


玻璃的心

  • 精华:30帖
  • 求助:2帖
  • 帖子:962帖 | 5801回
  • 年度积分:0
  • 历史总积分:61250
  • 注册:2010年6月11日
发表于:2011-06-02 15:34:06
30楼
本期擂台到此为止,恭喜以上获奖选手!

热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 下一页 尾页