PID运算指令:
该指令助计符,指令代码,操作数,程序步如下表:
指令含义:
D0为设定值即为我们给定的值,D1为当前值,D100为PID在运算中所需要的一些参数,这里共有25个数据从:D100~D124,D150表示的为输出值。
PID计算公式:
含义:
在这里我们要注意PID调节可分为:比例调节,积分调节,微分调节。
比例调节:是按比例反应系统的偏差,系统一旦出现了偏差,比例调节立即产生调节作用用以减少偏差。我们举例来说就是:比如我们现在装一桶水,一桶水为10L,一次加2L,那么按照比例调节的话5次就加满了。但是如果这个桶有个洞,每次加水就漏0.5L。那么加满就会漏掉2.5L,这就是稳态误差。也是比例积分的不足, 比例积分会产生稳态误差,并且调节不了。(我们在市面上看到很多变频空调就是这样,调节恒温在20度,其实就只有19度,也就是这个原因)
积分调节:是使系统消除稳态误差,提高无差度。因为有误差,积分调节就进行,直至无差,积分调节停止,积分调节输出一常值。还是用上面这个例子来举例,当我们发现加到10L后发现漏掉了2.5L,只有7.5L。因为每次加水的话会有0.5的误差,那么如果我们引入了积分调节的话, 就会在每次加水的时候再多加0.5L,这样加5次后,原来漏掉的2.5L水就被补回来了。
微分误差:微分作用反映系统偏差信号的变化率,具有预见性,能预见偏差变化的趋势,因此能产生超前的控制作用,在偏差还没有形成之前,已被微分调节作用消除。这个我们可以这样理解,当我们加入了微分误差后,比如你想多加水,那么程序知道后就会减少水加入,如果你想少加水,那么程序就会控制多加水。
如果我们把这三种调节方式加起来就变成了我们所说的PID控制。
下面我们来看看使用这条指令的注意事项:
(1)该参数表需占用25个数据寄存器
因而首元件号不可大于D7925。本指令在编程时可多次使用,但应注意各PID环节占用的数据寄D不可重复。PID指令有特定出错码出错标志为M8067.相应的出错码存放在D8067.
(2) PID参数表占用[S3]指定的首元件
开始的连续25个数据寄存器。请用保持型数据寄存器以保持所设参数。参数表中一部分是必须由用户在PID运算前用指令写入的,一部分留作内部运算用,还有一部分是存放运算结果的
[S3]:采样时间(TS: ) 1~32767 (ms)
[S3]+1动作方向(ACT) ,bito---0:正动作,1:逆动作
正动作是指当前值大于设定值SV时.加大执行量。例如空调控制,空调未启动时室温上升,超过设定值,则启动空调。
逆动作是指当前值小于设定值SV时加大执行量。例如加热炉,当炉温低于设定值时必须投入加热装置以升高炉温.
1:输入量报警ON1:输出量报警ON
bit1 —0:输入量报警—1;输出量报警ON
bit2—0:输出量报警OFF—1;输出量报警ON
bit3—保留
bit4—O:自动调谐0FF—1;自动调谐ON
bit5 O:输出值上下限设定OFF
1;输出值上下限设定ON
bit6~bit15保留
另外,请不要使bit5和bit2同时处于0N
[S3]+2输入滤波常数(a ) 0~99%
0时没有输入滤波
[S3]+3比例增益(KP)—1~32767(%)
[s3]+4积分时间(TI)—0~32767(%),0时作为无穷大处理(无积分)
[s3]+5微分增益(KD) 1~100 (%),0时无微分增益
[s3]+6微分时间(TD),3~32767 ( X 10ms) 0时无微分处理
[S3]+7一[S3]+19
P1D运算的内部处理占用
[S3]+20—过程量最大增量值
0~ 32767([S3]+1的bitl=1时有效)
[S3]+21—过程量最大减量值
0~ 32767([S3]+1的bitl=1时有效)
[S3]+22—输出增量报警设定值
0~32767([3]+1的bit2=1, bit5=0时有效)另外,输出上限设定值一32768~32767
([S3]+1的bit2=0. bit5=1时有效)
[S3]+23 输出减量报警设定值
0~ 32767([S3]+1的bit2=1, bit5-0时有 效)另外,输出下限设定值一3276832767
([3]+1的bit2=0. bit5=1 时有效)
调试PID参数:
1、确定比例增益Kp
确定比例增益Kp时,首先去掉PID调节器的的积分项和微分项,即令积分时间常数和微分时间常数都为零,使PID调节器成为纯比例调节。
2、确定积分时间常数Ti
比例系数确定之后,设定一个较大的积分时间常数Ti,然后逐渐减小,直至系统出现振荡,然后再反过来,逐渐增大,直至系统振荡消失。
3、确定微分时间常数Td
微分时间常数Td一般不用设定,为0即可,此时PID调节转换为PI调节。
4、系统空载、带载联调
对PID参数进行微调,直到满足性能要求。