产品描述
6ES7223-1HF22-0XA8安装调试
现在国内外一些著名的品牌厂家几乎论断的整个工业自动化控制领域,如:国外的有艾默生、西门子;国内的有:浙大中控、和利时等,那么在这些控制系统中*常规的PID控制是怎么实现的,他们又是怎么进行编程组态得到的PLD运算的,本文就常规的PID及起模块进行总结以及应用做个简单的介绍:
一、DCS及PLC控制系统中PID的运算
1 指令解说
l 上式T为梯形图时间继电器周期输出,在此引为采样及调节周期。
l S1为设定的目标值,又称给定值
l S2为实际测定值。
l S3为PID控制参数的起始参数单元,控制参数占用S3后续的25个D数据寄存器。具体说明如下:
S3+0: TS 采样时间 设定为K1(1T)
S3+1: ACT.运算方向 一般设为 H0001;
设为H0000时为反PID运算。
S3+2: L 滤波系数 0-99% 0% 无滤波。 参考设定为K50
0000-99.00
S3+3: KP 比例増益 0-32767% 参考设定为K2000。
0000-327.67
S3+4: TI 积分时间 0-32767(•1T) 参考设定为K500。
S3+5: KD 微分増益 0-32767% 一般设定为K0。
0000-327.67
S3+6: TD 微分参数 0-32767(•1T) 设定为K0,无微分
S3+7: 偏差,浮点数表示,占两个字节:S7+7,S7+8。
E(K)=SV-PV (ACT.0=1)
E(K)=PV-SV (ACT.0=0)
S3+8:
S3+9: 偏差的一阶导数,浮点数表示。S3+9,S3+10
E(K)'=E(K)-E(K-1)
S3+10:
S3+11: 偏差的二阶导数,浮点数表示。S3+11,S3+12
E(K)''=E(K)'-E(K-1)'
S3+12:
S3+13: 本次滤波后的实测值,浮点数表示。S3+13,S3+14。
PVF(K)=PV(K)+L• [PVF(K-1)-PV(K)]
S3+14:
S3+15: PID的微分调整项,浮点数表示。S3+15,S3+16。
PID_D(K)=[TD•E(K)''+KD•TD•PID_D(K-1)]/(TS+KD•TD)
S3+16:
S3+17: PID的本次调整输出,浮点数表示。S3+17,S3+18
DMV(K)=DMV(K-1)小数部分+KP[E(K)'+TS•E(K)/TI+PID_D(K)]
S3+18:
S3+19: PID控制的输出值,取值范围:0-32767。
MV(K)=MV(K-1)+INT(DMV)
S3+20: SH 上限报警 设定为K20000
S3+21: SL 下限报警 设定为K20
S3+22: OH 上限幅值 设定为K10000
S3+23: OL 下限幅值 设定为K20
S3+24: ALM.0 SH上限报警时ON
ALM.1 SL下限报警时ON
ALM.2 OH上限输出时ON
ALM.3 OL下限输出时ON
PID运算式
1. PVF(K)=PV(K)+L•[PV(K-1)-PV(K)]
E(K)=SV(K)-PVF(K)
E(K)'=E(K)-E(K-1)
E(K)''=E(K)'-E(K-1)'
2. D(K)=[TD•E(K)''+KD•TD•D(K-1)]/(TS+KD•TD)
3. MV(K)=MV(K-1)+KP•[E(K)'+TS•E(K)/TI+D(K)]
符号说明:
PV:测定值。 SV:目标值。 MV:输出值。
PVF:滤波后的测定值。
L :滤波系数。
TS:采样时间。
KP:比例増益。
TI:积分时间。
TD:微分时间。
KD:微分増益。
PV(K):本次采样测定值。
D(K): 微分项。
INT(DMV):PID本次增量输出。
PV(K-1):一个调节周期T前测定值。
二、DCS及PLC控制系统中PID的运算的应用
案例一. 控制一组(四台)实验电炉,温度检测用PT100热电阻,工作温度在100℃以下,控制精度要求在0.1℃,超调小于0.5℃。热源为电阻丝,每电炉发热总功率380VAC 8KW。
控制方案:选一混合型PLC作调节控制单元,其输出控制四个三相智能模块硅,办公室计算机与PLC通信,作温度跟踪记录。
各通道的设置参数(由人机界面或字符屏设定):
0通道1通道2通道3通道
AI通道设定温度D300D310D320D330
P参数D301D311D321D331
I参数D302D312D322D332
D参数D303D313D323D333
PID手动自动切换M100M110M120M130
手动加M101M111M121M131
手动减M102M112M122M132
实测温度D10D11D12D13
DA通道输出电流D20D21D21D23
选取其中一路作简要说明:
第一步:规划并设定控制区参数。PID控制共占用28个数据寄存器,第一路控温规划到D2000-D2027。
第二步:PID调节与手动调节要相互协调,做到无扰切换。示例中,手动调节和自动调节*终输出都归入D2028
我们在设计小型的PLC控制系统时,常常会需要在外部改变PLC内部的数据,譬如Counter, Timer或者Data的值,以适应生产过程的需要。而且要求系统关机以后,这些数据还能够保存在PLC内部,当下次开机后,这些数据可以被调出继续使用。
现在许多小型的PLC都或多或少地提供了掉电保持寄存器,以便在PLC断电的时候,保存用户想要保存的数据。但大多数时候,PLC制造厂商为了节约成本,不可能提供足够数的掉电保持寄存器供系统设计人员使用,所以当被调整的数据项目超过PLC内部的掉电保持寄存器的数目的时候,我们不得不减少被调整的数据项目(固定或不用)或者购买具有更多掉电保持寄存器数目的PLC,这样的话,就使得生产机械缺乏灵活性和适应性,从而降低产品档次或增加成本。
下面就介绍解决这种问题的一种方法,以便大家设计时参考。
所用PLC:松下FP0-C16T,被调整数据有16个,PLC内部掉电保持寄存器数目为10个,其中8个数据寄存器(DT1652-DT1659:8个各16Bit)和2个字的内部继电器(WR61、WR62:2个各16Bit)。如果按常规的一个被调整数据占用一个数据寄存器的方法,这显然不能调整16个被调整数据,而只能调整10个被调整数据。为此,本人专门分析了16个被调整数据的数据调整范围,发现多数数据的调整范围只需要从0~255,即0~28-1;而掉电保持数据寄存器DT1652等内部的数据大小为216-1,即256×256-1;所以我们可以将一个被调整的数据只用到数据寄存器的低8位,那么该数据寄存器的高8位就可以来存储另一个被调整数据。
下面就列出该部分的程序:
(1)开机时,分开掉电保持寄存器中高8位和低8位至另外两个数据寄存器:
其中,R9013是松下FP0系列PLC内部所规定的、在PLC从program状态到run状态时只动作一个PLC扫描周期的脉冲继电器。指令F65是一个字与指令,它的作用就是将掉电保持数据寄存器DT1655内的数据与十六进制数FF进行字与,然后将结果送到一般数据寄存器DT0,这样就可以分离出掉电保持数据寄存器DT1655内数据的低8位;同样第二行的字与指令可以分离出掉电保持数据寄存器DT1655内数据的高8位。
指令F120是一个不带进位右移指令,即:对数据字进行右移时,对高位进行补零。K8表示右移8位。指令F0是一个字传送指令,就是将一般数据寄存器DT10内的数据传送到一般数据寄存器DT1。上述程序段的目的就是在开机时将掉电保持数据寄存器DT1655内的数据分成两个被调整数据。
(2)开机之后,将另外两个数据寄存器的数据合并至掉电保持寄存器的高8位和低8位:
R9014是松下FP0系列PLC内部所规定的、在PLC从program状态到run状态时、第二个PLC扫描周期开始动作的脉冲继电器。指令F121是一个不带进位左移指令,K8即左移8位。指令F66是一个字或指令,将一般数据寄存器DT20内的数据与一般数据寄存器DT0内的数据进行字或,结果送掉电保持寄存器DT1655。由上可以看出,在PLC运行的时候,可以任意改变一般数据寄存器DT0和DT1中的数据,而这些改变也同时送到了掉电保持寄存器DT1655,这样,当PLC掉电时,所被调整的数据也就被保存了。
通过同样的方法,我们可以视被调整数据的大小,灵活的使用掉电保持寄存器的每一个Bit位,从而使我们在不增加成本的情况下,提高小型PLC控制系统的性能。
产品推荐