找plc产品、学plc技术、看plc新闻-尽在PLC行业网!

PLC行业网-三菱plc编程入门,plc视频教程,plc学习,plc教程,plc编程实例

当前位置: PLC行业网 > plc教材 > 第6章 >

6.4.1 PID指令

时间:2012-05-12 11:09来源:未知 作者:www.plcs.cn 点击:
 PID指令
1. PID算法
在工业生产过程控制中,模拟信号PID(由比例、积分、微分构成的闭合回路)调节是常见的一种控制方法。运行PID控制指令,S7-200西门子plc将根据参数表中的输入测量值、控制设定值及PID参数,进行PID运算,求得输出控制值。参数表中有9个参数,全部为32位的实数,共占用36个字节。PID控制回路的参数表如表6-15所示。
 
表6-15  PID控制回路的参数表
地址偏移量 参数 数据格式 参数类型 说明
0 过程变量当前值PVn 双字 ,实数 输入 必须在0.0至1.0范围内。
4 给定值SPn 双字 ,实数 输入 必须在0.0至1.0范围内
8 输出值Mn 双字 ,实数 输入/输出 在0.0至1.0范围内
12 增益Kc 双字 ,实数 输入 比例常量,可为正数或负数
16 采样时间Ts 双字 ,实数 输入 以秒为单位,必须为正数
20 积分时间Ti 双字 ,实数 输入 以分钟为单位,必须为正数。
24 微分时间Td 双字 ,实数 输入 以分钟为单位,必须为正数。
28 上一次的积分值Mx 双字 ,实数 输入/输出 0.0和1.0之间(根据PID运算结果更新)
32 上一次过程变量PVn-1 双字 ,实数 输入/输出 最近一次PID运算值
典型的PID算法包括三项:比例项、积分项和微分项。即:输出=比例项+积分项+微分项。计算机在周期性地采样并离散化后进行PID运算,算法如下:
Mn=Kc*(SPn-PVn)+Kc*(Ts/Ti)*(SPn-PVn)+Mx+Kc*(Td/Ts)*(PVn-1-PVn)
其中各参数的含义已在表6-15中描述。
比例项Kc*(SPn-PVn):能及时地产生与偏差(SPn-PVn)成正比的调节作用,比例系数Kc越大,比例调节作用越强,系统的稳态精度越高,但Kc过大会使系统的输出量振荡加剧,稳定性降低。
积分项Kc*(Ts/Ti)*(SPn-PVn)+Mx:与偏差有关,只要偏差不为0,PID控制的输出就会因积分作用而不断变化,直到偏差消失,系统处于稳定状态,所以积分的作用是消除稳态误差,提高控制精度,但积分的动作缓慢,给系统的动态稳定带来不良影响,很少单独使用。从式中可以看出:积分时间常数增大,积分作用减弱,消除稳态误差的速度减慢。
微分项Kc*(Td/Ts)*(PVn-1-PVn):根据误差变化的速度(既误差的微分)进行调节具有超前和预测的特点。微分时间常数Td增大时,超调量减少,动态性能得到改善,如Td过大,系统输出量在接近稳态时可能上升缓慢。
2. PID控制回路选项
在很多控制系统中,有时只采用一种或两种控制回路。例如,可能只要求比例控制回路或比例和积分控制回路。通过设置常量参数值选择所需的控制回路。
(1)如果不需要积分回路(即在PID计算中无“I”),则应将积分时间Ti设为无限大。由于积分项Mx的初始值,虽然没有积分运算,积分项的数值也可能不为零。
(2)如果不需要微分运算(即在PID计算中无“D”),则应将微分时间Td设定为0.0。
(3)如果不需要比例运算(即在PID计算中无“P”),但需要I或ID控制,则应将增益值Kc指定为0.0。因为Kc是计算积分和微分项公式中的系数,将循环增益设为0.0会导致在积分和微分项计算中使用的循环增益值为1.0。
3. 回路输入量的转换和标准化
每个回路的给定值和过程变量都是实际数值,其大小、范围和工程单位可能不同。在PLC进行PID控制之前,必须将其转换成标准化浮点表示法。步骤如下:
(1)将实际从16位整数转换成32位浮点数或实数。下列指令说明如何将整数数值转换成实数。
XORD AC0,AC0  //将AC0清0 www.plcs.cn
ITD AIW0, AC0 //将输入数值转换成双字
DTR AC0, AC0 //将32位整数转换成实数
(2)将实数转换成0.0至1.0之间的标准化数值。用下式:
实际数值的标准化数值=实际数值的非标准化数值或原始实数/取值范围 +偏移量
其中:取值范围=最大可能数值-最小可能数值=32 000(单极数值)或64 000(双极数值)
偏移量:对单极数值取0.0,对双极数值取0.5
单极(0~32000),双极(-32000~32000)
如将上述AC0中的双极数值(间距为64,000)标准化:
/R 64000.0, AC0  //使累加器中的数值标准化
+R 0.5, AC0     //加偏移量0.5
MOVR AC0, VD100 //将标准化数值写入PID回路参数表中。
4. PID回路输出转换为成比例的整数
程序执行后,PID回路输出0.0和1.0之间的标准化实数数值,必须被转换成16位成比例整数数值,才能驱动模拟输出。
PID回路输出成比例实数数值=(PID回路输出标准化实数值-偏移量)*取值范围
程序如下:
MOVR VD108, AC0 //将PID回路输出送入AC0。
-R 0.5, AC0         //双极数值减偏移量0.5
*R 64000.0, AC0  //AC0的值*取值范围,变为成比例实数数值
ROUND AC0,AC0  //将实数四舍五入取整,变为32位整数
DTI    AC0, AC0    //32位整数转换成16位整数
MOVW AC0, AQW0 //16位整数写入AQW0
5. PID指令
PID指令:使能有效时,根据回路参数表(TBL)中的输入测量值、控制设定值及PID参数进行PID计算。格式如表6-16所示。
说明:
(1)程序中可使用八条PID指令,分别编号0-7,不能重复使用。
(2)使ENO = 0的错误条件:0006(间接地址),SM1.1(溢出,参数表起始地址或指令中指定的PID回路指令号码操作数超出范围)。
(3)PID指令不对参数表输入值进行范围检查。必须保证过程变量和给定值积分项前值和过程变量前值在0.0和1.0之间。
表6-16  PID指令格式
LAD STL 说明
PID指令www.plcs.cn PID TBL,LOOP TBL:参数表起始地址VB,
数据类型:字节
LOOP:回路号,常量(0-7),
数据类型:字节
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
栏目列表
推荐内容
  • 6.6 特殊功能指令习题

    特殊功能指令习题 1.编写程序完成数据采集任务,要求每100ms采集一个数。 2.编写一个...

  • 6.4.2 PID控制功能的应用

    PID控制功能的应用 1.控制任务 一恒压供水水箱,通过变频器驱动的水泵供水,维持水位...

  • 6.5 时钟指令

    利用时钟指令可以实现调用系统实时时钟或根据需要设定时钟,这对控制系统运行的监视、...

  • 6.4.1 PID指令

    PID指令 1.PID算法 在工业生产过程控制中,模拟信号PID(由比例、积分、微分构成的闭...

  • 6.3.6 高速输入、高速输出指令编程实训

    高速输入、高速输出指令编程实训 1.实训目的 (1)掌握高速处理类指令的组成、相关特...

  • 6.3.5 高速脉冲输出

    高速脉冲输出 1.脉冲输出(PLS)指令 脉冲输出(PLS)指令功能为:使能有效时,检查用...