电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> PLC基础及应用 >> 正文

PLC的PID指令

作者:佚名    文章来源:本站原创    点击数:    更新时间:2018-08-07
 PLC的PID指令
1. PID算法
在工业生产过程控制中,模拟信号PID(由比例、积分、微分构成的闭合回路)调节是常见的一种控制方法。运行PID控制指令,S7-200西门子plc将根据参数表中的输入测量值、控制设定值及PID参数,进行PID运算,求得输出控制值。参数表中有9个参数,全部为32位的实数,共占用36个字节。PID控制回路的参数表如表6-15所示。
 
表6-15  PID控制回路的参数表
地址偏移量 参数 数据格式 参数类型 说明
0 过程变量当前值PVn 双字 nbsp;,实数 输入 必须在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.dzkfw.com.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指令 PID TBL,LOOP TBL:参数表起始地址VB,
数据类型:字节
LOOP:回路号,常量(0-7),
数据类型:字节
Tags:PID指令,指令,plc指令  
责任编辑:admin
相关文章列表
西门子PLC置位、复位指令
西门子S7-200系列PLC的MODBUS通信功能 指令MBUS_CTRL
西门子PLC地址下降沿检测指令功能说明及应用实例   NEG指令应用举
西门子PLC的bcd_di指令
西门子PLC  S7 PLC移位寄存器指令(SHRB)
西门子PLC整数乘法指令(MUL_I)和整数除法指令(DIV_I)
西门子PLC整型数比较指令,CMP指令
西门子plc中R复位线圈指令符号与状态字
西门子plc数据块传送指令的用法举例
西门子plc有记忆接通延时定时器指令的用法举例 梯形图实例
西门子plc堆栈指令的用法梯形图实例
西门子plc指令英文全称及含义中文说明
西门子plc S7-200PLC中断指令介绍 开关中断、连接分离中断
西门子PLC字整数与双字整数之间的转换、双整数与实数之间的转换
西门子PLC整数与双整数加减法指令简介 西门子plc指令
西门子plc编程软件中MOV_W、MOV_B、SHR_B的含义
S7-200系列PLC其它常用指令
PLC常开触头与常闭触头和异或指令
三菱plc条件跳转控制指令使用方法
西门子S7-200型PLC的暂停指令
西门子S7-200型PLC的看门狗指令WDR
西门子PLC S7-200系列PLC的自然对数和指数指令
西门子PLC S7-200系列PLC的三角函数运算指令
三菱PLC 三菱FX系列PLC的条件跳转指令[CJ(FNC00)]
三菱PLC 三菱FX系列PLC的二进制浮点数的开平方指令与三角函数运算
三菱FX系列PLC的二进制浮点数的四则运算指令
三菱PLC 三菱FX系列PLC的外部设备( SER)指令
三菱FX系列PLC的时钟运算指令
三菱FX系列PLC的浮点数运算指令
西门子plc s7-200浮点数计算 浮点数运算
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
推荐文章
最新推荐
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询