找回密码
 注册
关于网站域名变更的通知
查看: 570|回复: 1
打印 上一主题 下一主题

PLC的PID功能介绍

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-1-9 10:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
1. PID控制 # H1 u+ M* `9 f
! m# S5 `) [/ g# d$ d0 c
    在工业控制中,PID控制(比例-积分-微分控制)得到了广泛的应用,这是因为PID控制具有以下优点:
. ?$ E5 v, [' J  v    1)不需要知道被控对象的数学模型。实际上大多数工业对象准确的数学模型是无法获得的,对于这一类系统,使用PID控制可以得到比较满意的效果。据日本统计,目前PID及变型PID 约占总控制回路数的90%左右。& _& W6 |0 }0 o% B/ ~% |# ^
    2)PID控制器具有典型的结构,程序设计简单,参数调整方便。# F  S0 {" C' r4 z+ Y0 T
    3)有较强的灵活性和适应性,根据被控对象的具体情况,可以采用各种PID控制的变种和改进的控制方式,如 PI、PD、带死区的PID、积分分离式PID、变速积分PID等。随着智能控制技术的发展,PID控制与模糊控制、神经网络控制等现代控制方法相结合,可以实现PID控制器的参数自整定,使PID控制器具有经久不衰的生命力。
) A; W1 J6 x+ Z/ [$ r- Y2. PLC实现PID控制的方法4 }% W5 R7 ]  Q
如图6-35所示为采用PLC对模拟量实行PID控制的系统结构框图。用PLC对模拟量进行PID控制时,可以采用以下几种方法:1 a: T( @1 k- L5 p

  ~) P; B0 n$ U& e4 r7 k( W8 H图6-35  用PLC实现模拟量PID控制的系统结构框图) v  f9 A( z5 ^& p9 Z
    1)使用PID过程控制模块。这种模块的PID控制程序是PLC生产厂家设计的,并存放在模块中,用户在使用时只需要设置一些参数,使用起来非常方便,一块模块可以控制几路甚至几十路闭环回路。但是这种模块的价格昂贵,一般在大型控制系统中使用。如三菱的A系列、Q系列PLC的PID控制模块。
' O4 v" x% |0 c: m3 s- N9 V+ I: {$ W9 A    2)使用PID功能指令。现在很多中小型 PLC都提供PID控制用的功能指令,如FX2N系列PLC的PID指令。它们实际上是用于PID控制的子程序,与A/D、D/A模块一起使用,可以得到类似于使用PID过程控制模块的效果,价格却便宜得多。2 q: F3 Y2 G& A1 {9 t( h) |
3)使用自编程序实现PID闭环控制。有的PLC没有有PID过程控制模块和 PID控制指令,有时虽然有PID控制指令,但用户希望采用变型PID控制算法。在这些情况下,都需要由用户自己编制PID控制程序。
7 B2 _8 `4 ?, T* i9 @1 U    3. FX2N的PID指令# U0 k1 A0 P6 H
PID指令的编号为FNC88,如图6-36所示源操作数[S1]、[S2]、[S3]和目标操作数[D]均为数据寄存器D,16位指令,占9个程序步。[S1]和[S2]分别用来存放给定值SV和当前测量到的反馈值PV,[S3]~[S3]+6用来存放控制参数的值,运算结果MV存放在[D]中。源操作数[S3]占用从[S3]开始的25个数据寄存器。
# Z& b& ]! H- W  R# Q6 G
& q' o! g& @( b5 S  h; \" \9 \  O( X' Q1 Z
图6-36    PID指令
; t9 H8 I2 k. |: E: h2 C7 x' _* u  I6 F1 _! i6 \, |
PID指令是用来调用PID运算程序,在PID运算开始之前,应使用MOV指令将参数(见表6-3)设定值预先写入对应的数据寄存器中。如果使用有断电保持功能的数据寄存器,不需要重复写入。如果目标操作数[D]有断电保持功能,应使用初始化脉冲M8002的常开触点将其复位。
5 E3 @6 g8 i9 P" I7 e表6-3  PID控制参数及设定
6 d; d' {4 Q* L( i: Q3 w源操作数 参   数 设定范围或说明 备    注 6 e2 c4 i8 T% O$ Z3 Y
[S3] 采样周期(Ts) 1~32767ms 不能小于扫描周期 / }6 B& }- F8 Y
[S3]+ 1 动作方向(ACT) Bit0: 0为正作用、1为反作用" p& T, `, y! G
Bit1: 0为无输入变化量报警
2 ?) B2 L$ ?; Q& W- v( l1为有输入变化量报警, S! Z. [# u9 d4 E2 h- O$ S6 y
Bit2: 0为无输出变化量报警
! i  }# H# d6 F( w7 P1为有输出变化量报警 Bit3 ~ Bit15不用 - A, w# c2 g' Y
[S3]+ 2 输入滤波常数(L) 0~99(%) 对反馈量的一阶惯性数字滤波环节 , U! P4 h& q" ?- p6 P4 G" J8 q9 M
[S3]+ 3 比例增益(K p) 1~32767(%)   2 B0 q" A4 L8 Q7 O8 N9 A
[S3]+ 4 积分时间(T I) 0~32767(×100ms) 0与∝作同样处理
! @4 D5 d+ k  M8 X+ V# C6 I' v! E[S3]+ 5 微分增益 (K D) 0~100(%)   8 L& |0 g$ f1 n5 g  ]
[S3]+ 6 微分时间(T D) 0~32767(×10ms) 0为无微分 ) l" E  A: g$ e4 K
[S3]+ 7
! \3 j$ b$ b. U* v~ [S3]+ 19 — — PID运算占用
; a3 i& y1 J# b4 H* w7 Z' |[S3]+ 20 输入变化量(增方)警报设定值 0~32767 由用户设定ACT([S3]+ 1)为K2~K7时有效,即ACT的Bit1 和Bit2至少有一个为1时才有效;
4 e# Z5 \& }* U7 k4 ]当ACT的Bit1 和Bit2都为0时,[S3]+ 20 ~[S3]+ 24无效 & ~' z( m- F4 x+ W
[S3]+ 21 输入变化量(减方)警报设定值 0~32767 & I% K* m  u, M+ @
[S3]+ 22 输出变化量(增方)警报设定值 0~32767
5 z  f" e4 _" H4 p8 R5 ]6 f% l[S3]+ 23 输出变化量(减方)警报设定值 0~32767
: k" Q. R6 K! F[S3]+ 24 警报输出 Bit0: 输入变化量(增方)超出  O4 e5 p4 m0 P# a  Y
Bit1: 输入变化量(减方)超出7 N: R, d! d2 H  x: g' E6 v
Bit2: 输出变化量(增方)超出; D# F, `( n* y$ c( F
Bit3: 输出变化量(减方)超出 5 h' S) c4 q$ v4 f  B, }

( F" X6 Y% p: R, [1 k( O* ZPID指令可以同时多次使用,但是用于运算的[S3]、[D]的数据寄存器元件号不能重复。
9 y$ h, j) t& M8 c0 B; M[
+ A! e. B- E/ X. m/ G3 p9 d
) v0 F+ O, S) I; g; |    PID指令可以在定时中断、子程序、步进指令和转移指令内使用,但是应将[S3]+7清零(采用脉冲执行的MOV指令)之后才能使用。
6 ~7 I- L9 D6 j* c6 s2 j6 P3 ]    控制参数的设定和 PID运算中的数据出现错误时,“运算错误”标志M8067为 ON,错误代码存放在D8067中。+ u* W1 `; z( |
    PID指令采用增量式PID算法,控制算法中还综合使用了反馈量一阶惯性数字滤波、不完全微分和反馈量微分等措施,使该指令比普通的PID算法具有更好的控制效果。
- l' H! J1 m" x% l    PID控制是根据“动作方向”([S3]+1)的设定内容,进行正作用或反作用的PID运算。PID运算公式如下:, J& e$ Z6 t: r' j* X
    以上公式中:△MV是本次和上一次采样时PID输出量的差值,MVn是本次的PID输出量;EVn和 EVn-1分别是本次和上一次采样时的误差,SV为设定值;PVn是本次采样的反馈值,PVnf、PVnf-1和PVnf-2分别是本次、前一次和前两次滤波后的反馈值,L是惯性数字滤波的系数;Dn和Dn-l分别是本次和上一次采样时的微分部分;K p是比例增益,T S是采样周期,T I和T D分别是积分时间和微分时间,αD是不完全微分的滤波时间常数与微分时间TD的比值。
; r% V/ S' @! c+ Y7 v: T$ _    4.PID参数的整定9 V* P9 U. Q/ I
    PID控制器有4个主要的参数K p、T I、T D和T S需整定,无论哪一个参数选择得不合适都会影响控制效果。在整定参数时应把握住PID参数与系统动态、静态性能之间的关系。
9 ^. r( J( B' U/ v7 k9 V    在P(比例)、I(积分)、D(微分)这三种控制作用中,比例部分与误差信号在时间上是一致的,只要误差一出现,比例部分就能及时地产生与误差成正比的调节作用,具有调节及时的特点。比例系数K p越大,比例调节作用越强,系统的稳态精度越高;但是对于大多数系统,K p过大会使系统的输出量振荡加剧,稳定性降低。, K* g6 N# K' Z
    积分作用与当前误差的大小和误差的历史情况都有关系,只要误差不为零,控制器的输出就会因积分作用而不断变化,一直要到误差消失,系统处于稳定状态时,积分部分才不再变化。因此,积分部分可以消除稳态误差,提高控制精度,但是积分作用的动作缓慢,可能给系统的动态稳定性带来不良影响。积分时间常数T I增大时,积分作用减弱,系统的动态性能(稳定性)可能有所改善,但是消除稳态误差的速度减慢。
& T( g+ a) f, H' W/ L: d( o    微分部分是根据误差变化的速度,提前给出较大的调节作用。微分部分反映了系统变化的趋势,它较比例调节更为及时,所以微分部分具有超前和预测的特点。微分时间常数T D增大时,超调量减小,动态性能得到改善,但是抑制高频干扰的能力下降。
7 d# s7 Y2 P6 O" v/ @2 S) W    选取采样周期T S时,应使它远远小于系统阶跃响应的纯滞后时间或上升时间。为使采样值能及时反映模拟量的变化,T S越小越好。但是T S太小会增加CPU的运算工作量,相邻两次采样的差值几乎没有什么变化,所以也不宜将T S取得过小。9 X- e) P% n7 B) W
# x' }6 {0 N5 I1 G

该用户从未签到

2#
发表于 2020-1-9 18:01 | 只看该作者
PLC和PID结合
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-31 07:17 , Processed in 0.187500 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表