s7-200模拟量单元及pid指令

上传人:第*** 文档编号:54447973 上传时间:2018-09-13 格式:PPT 页数:40 大小:665KB
返回 下载 相关 举报
s7-200模拟量单元及pid指令_第1页
第1页 / 共40页
s7-200模拟量单元及pid指令_第2页
第2页 / 共40页
s7-200模拟量单元及pid指令_第3页
第3页 / 共40页
s7-200模拟量单元及pid指令_第4页
第4页 / 共40页
s7-200模拟量单元及pid指令_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《s7-200模拟量单元及pid指令》由会员分享,可在线阅读,更多相关《s7-200模拟量单元及pid指令(40页珍藏版)》请在金锄头文库上搜索。

1、第一节 S7-200 EM235模拟量模块,1. 模拟量模块的外部接线方式 模拟量模块主要分为3种,即模拟量输入模块EM231(4路模拟量输入)、模拟量输出模块EM232(2路模拟量输出)和模拟量I/O组合模块EM235(4路模拟量输入、1路模拟量输出)。下面以组合模块EM235为例说明其模拟量I/O接线方式。,24V DC电源正极接入模块左下方L+端子,负极接入M端子。,EM235模块的上部端子排为标注A、B、C、D的四路模拟量输入接口,可分别接入标准电压、电流信号。,未用的接口要将C+与C-端用短路子短接,以免受到外部干扰。,下部端子为一路模拟量输出端的3个接线端子MO、VO、IO,其中M

2、O为数字接地接口,VO为电压输出接口,IO为电流输出接口。,在进行接线时应注意以下几点。 (1) 传感器接线的长度应尽可能短,并使用屏蔽双绞线。 (2) 敷设线路时应使用电缆槽,避免将导线弯成锐角。 (3) 避免将信号线与电源线路平行接近布置。 (4) 使用高质量的24V DC传感器电源,以保证无噪声及稳定运行。,2. 模拟量模块的特点,(1) 模拟量转换精度高,A/D转换达到12位。EM231模块单极性输入0V5V、0V10V、0mA20mA满量程精度可达0.01%。I/O数据格式如图所示。 输入数据格式,输出数据格式,(2) 有多种量程输入范围,可通过DIP开关进行设置。如图所示。,EM2

3、35选择单/双极性、增益和衰减,若所有输入设置成相同的模拟量输入范围和格式,则可通过开关1到开关6设置单/双极性、增益和衰减。,(3) 输入接口带有模拟量输入滤波器,用以提高模拟量输入精度。,(4) 可对模拟量输入接口进行校准和配置位置。 (5) 数据采集速度高,模块可将模拟量信号在内转换为相应的数字量信号。,模拟量到数字量的转换时间/,最大,最小,最小,最大,设置时间 电压输出/,第二节 PID 调节及PID指令,PID算法是过程控制领域中技术成熟、应用方便且广泛使用的控制方法。它是基于经典控制理论,并经过长期工程实践而总结出的一套行之有效的控制算法。在较早的PLC中并没有PID的现成指令,

4、只能通过运算指令实现PID功能,但随着PLC技术的发展,很多品牌的PLC都增加了PID功能,有些是专用模块,有些是指令形式,都大大扩展了PLC的应用范围。西门子的S7-200系列PLC中使用的是PID回路指令。,1. PID算法,PID控制(比例积分微分控制)算法在过程控制领域中的闭环控制中得到了广泛应用。,PID控制器可调节回路输出,使系统达到稳定状态。偏差e是给定值SP和测量值PV的差值。式(1)为PID控制的位置式算法,回路的输出变量M(t)是时间的函数,它可以看作是比例项、积分项、微分项3项之和: (1) 式中: M(t) PID回路的输出,是时间函数; PID回路的增益; e PID

5、回路的偏差; PID回路的初始值。 数字计算机处理这个函数关系式,必须将连续函数离散化,对偏差周期采样后,计算输出值。式(2)是式(1)的离散形式: (2),式中: Mn 在第n采样时刻PID回路输出的计算值; Kc PID回路增益; En 在第n采样时刻的偏差值; 在第n-1采样时刻的偏差值(偏差前值); Ki 积分项的系数; PID回路的初值; Kd 微分项的系数。 式(2)中,积分项 是包括从第1个采样周期到当前采样周期 的所有误差的累积值。计算中,没有必要保留所有采样周期的误差项,只需保留积分项前值MX即可。CPU实际上是使用式(3)的改进形式的PID算式。 (3),式中: MX 积分

6、项前值(在第n-1采样时刻的积分项); MPn 第n个采样时刻的比例项; MIn 第n个采样时刻的积分项; MDn 第n个采样时刻的微分项。 (1) 比例项 比例项MPn是增益Kc(决定输出对偏差的灵敏度)和偏差 的乘积。增益为正的回路为正作用回路,反之为反作用回路。选择正、反作用回路的目的是使系统处于负反馈控制。CPU采用式(7-4)来计算MPn。 (4) 式中: SPn 第n采样时刻的给定值; PVn 第n采样时刻的过程变量值。 (2) 积分项 积分项MIn与偏差的和成正比,是各次积分项的累积值。CPU采用式(5)来计算MIn。 (5),式中: Ts 采样周期; Ti 积分时间常数。 积分

7、项前值MX是第n采样周期前所有积分项之和。在每次计算出MIn之后,都要用MIn去更新MX。第一次计算时,MX的初值被设置为 (初值)。采样周期Ts是每次采样的时间间隔,而积分时间常数Ti控制积分项在控制量计算中的作用程度。 (3) 微分项 微分项MDn与偏差的变化成正比。 (6) 为了避免给定值变化的微分作用而引起的跳变,可设置给定值不变 ( )。那么计算公式可简化为式(7)。 (7),式中: 微分时间常数; 第n-1采样时刻的给定值; 第n-1采样时刻的过程变量值。,2. PID指令,1) 指令格式及梯形图,2) 指令功能 PID 在EN端口执行条件存在时,运用回路表中的输入信息和组态信息,

8、进行PID运算,编程极其简便。 该指令有两个操作数:TBL和LOOP。其中TBL是回路表的起始地址,操作数限用VB区域;LOOP是回路号,可以是0到7的整数。在程序中最多可以用8条PID指令,PID回路指令不可重复使用同一个回路号(即使这些指令的回路表不同),否则会产生不可预料的结果。 回路表包含9个参数,用来控制和监视PID运算。这些参数分别是过程变量当前值PV,过程变量前值 ,给定值SPn,输出值Mn,增益Kc,采样时间Ts,积分时间Ti,微分时间 和积分项前值MX。36个字节的回路表格式见表。若要以一定的采样频率进行PID运算,采样时间必须输入到回路表中。且PID指令必须编入定时发生的中

9、断程序中,或者在主程序中由定时器控制PID指令的执行频率。,过程变量,给定值,输出值,增益,采样时间,PID指令回路表,积分时间,微分时间,积分项前值,过程变量前值,对于PID回路的控制,有些控制系统只需要比例、积分、微分其中的一种或两种控制类型。通过设置相关参数即可选择所需的回路控制类型。 如只需要比例、微分回路控制,可以把积分时间常数设为无穷大。此时积分项为初值。 只需要比例、积分回路控制,可以把微分时间常数置为0。 只需要积分或微分回路,则可以把回路增益Kc设为0.0,在计算积分项和微分项时,系统把回路增益Kc当作1.0。 一般情况下,比例、积分回路控制应用较多。微分控制的作用不宜过强,

10、否则易引起系统的不稳定。,3) PID回路指令控制方式 S7-200 系列PLC中,PID回路指令没有控制方式的设置,只要EN端有效就可以执行PID指令。PID指令执行称之为“自动”方式,PID指令不运行称之为“手动”的方式。当EN端口检测到一个正跳变(从0到1)信号,PID回路就从手动方式切换到自动方式。为达到无扰动切换,必须用手动方式将当前输入值填入回路表中的 Mn栏,用来初始化输出值Mn ,且PID指令对回路表中的值进行一系列操作,以保证手动方式无扰动地切换到自动方式。,置给定值SPn=过程变量PVn。 置过程变量前值 =过程变量当前值PVn。 置积分项前值MX=输出值Mn。,4) 回路

11、输入输出变量的数值转换及其范围 (1) 回路输入变量的转换和归一化处理 每个PID回路有两个输入变量,给定值SP和过程变量PV。给定值通常是一个固定的值,如温度控制中温度的给定值。过程变量PV则与PID回路输出有关,并反映了控制的效果。在温度控制系统中,测量并转换为标准信号的温度值就是过程变量。 给定值和过程变量一般都是实际工程物理量,其数值大小、范围和测量单位都可能不一样。执行PID指令前必须把它们转换成标准的浮点型实数。, 回路输入变量的数据转换。把A/D模拟量单元输出的整数值转换成浮点型实数值,程序如下。,XORD AC0,AC0 /清空累加器 MOVW AIW0,AC0 /模拟量采集,

12、送入AC0 LDW= AC0,0 /若为正,直接转换为实数 JMP 0 /否则,先对AC0中的值进行符号扩展 NOT ORD 16#FFFF0000,AC0 LBL 0 DTR AC0,AC0 /把32位整数转换为实数, 实数值的归一化处理。 实数值进一步归一化为0.01.0之间的实数。,归一化公式,式中: 标准化的实数值; 未标准化的实数值; 补偿值或偏置,单级性为0.0,双极性为0.5; 值域大小,为最大允许值减去最小允许值,单极性为32000(典型值),双极性为64000(典型值)。,双极性实数标准化的程序如下。 /R 64000.0,AC0 /累加器值进行标准化 +R 0.5,AC0

13、/加上偏置,使其落在 0.01.0之间 MOVR AC0,VD100 /标准化的值存入回路表,(2) 回路输出变量的数据转换,回路输出变量是用来控制外部设备的,例如控制水泵的速度。PID运算的输出值是0.01.0之间的标准化了的实数值,在输出变量传送给D/A模拟量单元之前,必须把回路输出变量转换成相应的整数。这一过程是实数值标准化的逆过程。, 回路输出变量的刻度化。把回路输出的标准化实数转换成实数,公式如下。,式中: 回路输出的刻度实数值; Mn 回路输出的标准化实数值, 将实数转换为整数(INT)。 把回路输出变量的刻度值转换成整数(INT)的程序为: ROUND AC0,AC0 /实数转换

14、为32位整数 MOVW AC0,AQW0 /将输出值输出到模拟量输出寄存器,回路输出变量的刻度化的程序如下。 MOVR VD108,AC0 /将回路输出值放入累加器 -R 0.5,AC0 /对双极性输出,要减0.5的偏置(单极性无此句) *R 64000.0,AC0 /得到回路输出的刻度值,(3) 变量的范围,过程变量和给定值是PID运算的输入变量,因此,在回路表中这些变量只能被除数回路指令读取而不能改写。 输出变量是由PID运算产生的,在每一次PID运算完成之后,需要把新输出值写入回路表,以供下一次PID运算使用。输出值应为0.01.0之间的实数。 如果使用积分控制,积分项前值要根据PID运

15、算结果更新。每次PID运算后更新了的积分项前值要写入回路表,用作下一次运算的输入。若输出值超过范围(大于1.0或小于0.0),那么积分项前值必须根据下列公式进行调整:,MX=1.0-(MPn-MDn) 当计算输出值Mn1.0 MX= -(MPn-MDn) 当计算输出值MN0.0,式中: MX 经过调整了的积分项前值; MPn 第采样时刻的比例项; MDn 第采样时刻的微分项。 修改回路表中积分项前值时,应保证MX的值在0.01.0之间。调整积分项前值后使输出值回到(0.01.0)范围,可以提高系统的响应性能。,4) PID指令运行出错条件 PID指令不检查回路表中的值是否在范围之内,所以必须确保过程变量、给定值、输出值、积分项前值、过程变量前值在0.01.0之间。如果指令操作数超出范围,CPU会产生编译错误,导致编译失败。 如果PID运算发生错误,那么特殊存储器标志位SM1.1(溢出或非法值)会被置1,并且中止PID指令的执行。要想消除这种错误,单靠改变回路中的输出值是不够的,正确的方法是在下一次执行PID运算之前,改变引起运算错误的输入值,而不是更新输出值。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号