1、模块五 模拟量处理功能的应用,5.1 模拟量输入/输出,5.2 模拟数据的处理,5.3 PLC的PID控制,S7-200系列PLC模拟量I/O模块主要有EM231模拟量4路输入、EM232模拟量2路输出和EM235模拟量4输入/1输出混合模块三种,另还有专门用于温度控制的EM231模拟量输入热电偶模块和EM231模拟量输入热电阻模块。模拟量I/O模块的规格见表5-1所示。,1.模拟量输入模块的基本工作原理模拟量输入在过程控制中的应用很广,如常用的温度、压力、速度、流量、酸碱度、位移的各种工业检测都是对应于电压、电流的模拟值,,5.1 模拟量输入/输出模块,5.1.1 模拟量输入模块,再通过一定
2、运算(PID)后,控制生产过程达到一定的目的。模拟量输入电平大多是从传感器通过变换后得到的,模拟量的输入信号为420 mA的电流信号或15 V、-1010 V、010 V的直流电压信号。输入模块接收这种模拟信号之后,把它转换成二进制数字信号,送给中央处理器进行处理,因此模拟量输入模块又叫A/D转换输入模块。总之,模拟量输入单元的作用是把现场连续变化的模拟量标准信号转换成PLC内部处理的、由若干位表示的数字信号。模拟量输入单元一般由滤波、A/D转换器、光耦合器隔离等部分组成。其原理框图如图5-1所示。输入模拟量为电压时,正端接V,负端接M;输入模拟量为电流时,正端接I,负端接M,但是I与V要连接
3、在一起。,图5-1 模拟量输入单元框图,模拟量输入单元设有电压信号和电流信号输入端。输入信号通过滤波、运算放大器的放大和量程变换,转换成A/D转换器能够接收的电压范围,经过A/D转换器后的数字量信号,再经光耦合器隔离后进入PLC的内部电路。根据A/D转换的分辨率不同,模拟量输入单元能提供8位、10位、12位或16位等精度的各种位数的数字量信号并传送给PLC以进行处理。模拟量的输入点数可以是28点,对于不同模拟量输入单元类型,输入点数不同。对多通道的模拟量输入单元,通常设置多路转换开关进行通道的切换,而在输出端应设置信号的寄存器。为了适应工业生产过程的控制要求,对模拟量输入单元采取了必要的防电磁
4、干扰措施,例如,光耦合器隔离、阻容滤波等。为了防止其他信号的影响,也采取了设置反向二极管或熔丝管等措施。这些措施为PLC可靠地工作提供了保证。,(1)EM231模拟量输入模块的内部结构及数据格式 EM231模拟量输入模块的功能是把模拟量输入信号转换为数字量信号,其内部结构示意图如图5-2所示。由图可见,该模块可连接4个模拟量回路的输人信号。模拟量输入信号经输入滤波电路通过多路转换开关送入差动放大器,差动放大器输出的信号经增益调整电路进入电压缓冲器,等待模数转换,模数转换后的数字量直接送入PLC内部的模拟量输入寄存器AIW中。,图5-2 EM231模拟量输入模块的内部结构,2. EM231模拟量
5、输入模块,图5-3 模拟量输入数据的数字量格式,2)EM231模拟量输入模块的性能 EM231(6ES7 231-0HC22-0XA0)模拟量输入模块的性能见表5-2所示,使用时特别注意输入信号的规格,不得超出其使用范围。,存储在16位模拟量寄存器AIW中的数据的有效位为12位,格式如图5-3所示。对单极性而言,最高位为符号位,最低3位是测量精度位,即A/D转换是以8为单位进行的;对双极性而言,最低4位是测量精度位,即A/D转换是以16为单位进行的,(3)M231模拟量输入模块输入信号的整定 使用模拟量输入模块时,首先需要根据模拟量型信号的类型及范围通过模拟量模拟右下侧的DIP设定开关(见图5
6、-3)进行输入信号的选择,其选择的具体操作如表5-3所示。例如,若选择010V作为模拟量模块的输入信号,则DIP选择开关应选为SW1开、SW2关、SW3开。,选择好DIP开关的设置后,还需对输入信号进行整定,输入信号的整定就是要确定模拟量输入信号与数字量转换结果的对应关系,通过调节DIP设定开关左侧的增益旋钮(见图5-3)可调整该模块的输入输出关系。其调整步骤如下:,图5-3 EM231模拟量输入模块端子及DIP开关示意图,在模块脱离电源的条件下,通过DIP开关选择需要的输入范围; 接通CPU及模块电源,并使模块稳定15分钟; 用一个电压源或电流源,给模块输入一个零值信号; 读取模拟量输入寄存
7、器AIW相应地址中的值,获得偏移误差(输入为0时,模拟量模块产生的数字量偏差值),该误差在该模块中无法得到校正;图6-4 EM231转换曲线偏置误差32000010V,图5-4 EM231转换曲线, 模拟量模块有专用的扁平电缆(与模块打包出售)与CPU通信,并通过此电缆由CPU向模拟量模块提供5V DC的电源。此外,模拟量模块必须外接24V DC电源。 每个模块输入模块能同时输入电流或者电压信号,对于模拟量输入的电压或者电流信号选择通过DIP开关设定,量程的选择也是通过DIP开关来设定的。,(4)EM231外部接线。如图5-3所示,上部有12个端子,每3个点为一组,共4组,每组可作为1路模拟量
8、的输入通道(电压信号或电流信号)。输入信号为电压信号时,用2个端子(如A+、A);输入信号为电流信号时,用3个端子(如RC、C、C),其中RC与C端子短接;未用的输入通道应短接(如B、B)。4路模拟量地址分别是:AIW0,AIW2,AIW4和AIW6。 使用模拟量模块时,要注意以下问题:,将一个工程量的最大值加到模块输入端,调节增益电位器,直到读数为32000,或所需要的数值。经上述调整后,若输入电压范围为010V的模拟量信号,则对应的数字量结果应为032000或所需要数字,其关系如图5-4所示。,一个模块可以同时作为电流信号或者电压输入模块使用,但必须分别按照电流和电压型信号的要求接线。但是
9、DIP开关设置对整个模块的所有通道有效,在这种情况下,电流、电压信号的规格必须能设置为相同的DIP开关状态。如表5-3中,05V和020mA信号具有相同的DIP设置状态,可以接入同一个模拟量模块的不同通道。 对于模拟量输入模块,传感器电缆线应尽可能短,而且应使用屏蔽双绞线,导线应避免弯成锐角。靠近信号源屏蔽线的屏蔽层应单端接地。 未使用的通道应短接,如图5-3中的B+和B端子未使用,进行了短接 一般电压信号比电流信号容易受干扰,应优先选用电流信号。 模拟量输入模块的电源地和传感器的信号地必须连接(工作接地),否则将会产生一个很高的上下振动的共模电压,影响模拟量输入值,测量结果可能是一个变动很大
10、的不稳定的值。 3. EM231热电偶模块及热电阻模块EM231热电偶模块是专门用于对热电偶输出信号进行A/D转换的智能模块。它可以连接7种类型的热电偶(J,K,E,N,S,T和R),还可用于测量0到+/-80mV范围的低电平模拟信号。其接线端子示意图如图5-5所示。 EM231热电阻模块是专门用于将热电阻信号转为数字量信号的智能模块,它可以连接四种类型的热电阻(Pt,Cu,Ni和电阻)。其接线端子示意图如图5-6所示。,图5-5 热电偶输入模块端子示意图 图5-6 热电阻输入模块端子示意图,使用EM235模拟量输入热电偶或热电阻模块时,需要通过模块右下侧的设置开关进行必要的设置。对热电偶模块
11、、其热电偶的类型通过设置开关SW1、SW2、SW3选择,如表5-4所示。SW4为备用,SW5、SW6、SW7、SW8用来设定断线检测、冷端补偿、温度单位等,如表5-5所示。对热电阻模块的设置类似热电偶模块,这里不再赘述。,5.1.2 模拟量输出模块,1. 模拟量输出模块的基本工作原理模拟量输出模块的作用是把PLC运算处理后的若干位数字量信号转换成相应的模拟量信号然后输出,以满足生产过程现场连续信号的控制要求。模拟量输出单元一般由光耦合器隔离、D/A转换器和信号转换等部分组成。 模拟量输出模块是将中央处理器的二进制数字信号转换成420 mA的电流输出信号或010 V、15 V的电压输出信号,以提
12、供给执行机构。因此模拟量输出模块又叫D/A转换输出模块。PLC输出的若干位数字量信号由内部电路送至光耦合器的输入端,光耦合器输出端输出的数字信号进入D/A转换器,转换后的模拟量直流电压信号经运算放大器放大后驱动输出。通常,模拟量输出单元还没有直流电流信号输出端供用户选用。根据实际要求数字信号的不同分辨率,模拟量输出单元用的D/A转换器有8位、10位、12位等几种不同的精度,根据不同型号,精度有所不同。 2.EM232模拟量输出模块的内部结构及数据格式 (1) EM232模拟量输出模块的内部结构及数据格式,EM232模块模拟量输出的过程是将PLC模拟量输出寄存器AQW中的数字量转换为可用于驱动执
13、行元件的模拟量其外部接线端子及内部结构如图5-7所示。由图可知,存储于AQW中的数字量经EM232模块中的数模转换器分为两路信号输出,一路经电压输出缓冲器输出标准的-10+10V电压信号,另一路经电压电流转换器输出标准的020mA电流信号。在16位模拟量输出寄存器AQW中的数字量其有效位为12位,格式如图5-8所示。数据的最高有效位是符号位,最低4位在转换为模拟量输出值时,将自动屏蔽。(2) EM232模拟量输出模块的的输入输出性能EM232模拟量输出模块的的输出性能见表5-6所示,表中主要描述了输出电压、电流的范围及其对应的输出精度和带负载的能力等。,图5-8 模拟量输出数据之前的数字格式,
14、a) EM232模块外部接线图 b) EM232模块及内部结构图 图5-7 EM232模拟量输出模块外部接线图及内部结构图,使用模拟量输出模块时要注意以下问题: 对于模拟量输出模块,电压型和电流型信号的输出信号的接线不同,各自的负载接到各自的端子上。 模拟量输出模块总是要占据两个通道的输出地址。即便有些模块(EM 235)只有一个实际输出通道,它也要占用两个通道的地址。在计算机和CPU实际联机时,使用Micro/WIN 的菜单命令“PLC”|“信息”,可以查看CPU和扩展模块的实际I/O地址分配。,EM235模拟量输入输出混合模块如图5-9所示。该模块可同时连接4个模拟量输入回路的输入信号及1
15、个模拟量输出回路的输出信号。EM235上部有12个端子,每3个点为一组,共4组,每组可作为1路模拟量的输入通道。下部电源右边的3个端子是1路模拟量输出(电压或电流信号),V0端接电压负载,I0端接电流负载,M0端为公共端。4路输入模拟量地址分别是AIW0,AIW2,AIW4和AIW6;1路输出模拟量地址是AQW0。,图5-9 EM235 模拟量输入输出模块端子及DIP开关示意图,5.1.3. EM235模拟量输入输出模块的使用,EM235模拟量输入输出模块的输入回路与EM231模拟量输入模块的输入回路稍有不同,它增加了一个偏置电压调整回路,通过调节输出接线端子右侧的偏置电位器(如图5-8所示)
16、可以消除偏置误差,其输入特性较EM231模块的输入特性,其不同之处主要表现在可供选择的输入信号范围更加细致,以便适应其更加广泛的场合。EM235模块的输出特性同EM232模块,输入输出技术规格见表5-2和表5-6,在此不再赘述。 2.EM235模拟量输入输出模块的使用 使用EM235模拟量输入输出混合模块时,主要根据输入信号的范围对EM235模块的输入信号 进行整定,输入信号的调整步骤如下: 在模块脱离电源的条件下,通过DIP开关选择需要的输入范围(见表5-7)。 接通CPU及模块电源,并使模块稳定15分钟。 用一个电压源或电流源,给模块输入一个零值信号。,1.EM235模拟量输入输出模块的输
17、入输出特性,图5-10 EM235转换曲线 表5-7 EM231模拟量输入输出模块的DIP开关设置及分辨率,调节偏置电位器,使模拟量输入寄存器的读数为零或所需要的数值。 将一个满刻度的信号加到模块输入端,调节增益电位器,直到读数为32000,或所需要的数值。 经上述调整后,若输入电压范围为010V的模拟量信号,则对应的数字量结果应为032000或所需要数字,其关系如图5-10所示。,5.2 模拟数据的处理,5.2.1 模拟量输入信号的整定,通过模拟量输入模块转换后的数字信号直接存储在S7-200系列PLC的模拟量输入存储器AIW中,这种数字量与被转换的过程量之间具有一定的函数对应关系,但在数值
18、上并不相等,必须经过某种转换才能使用,这种将模拟量输入的数字信号在PLC内部按一定函数关系进行转换的过程称为模拟量输入信号的整定,模拟量输入信号的整定通常需要考虑以下问题。 1.模拟量输入值的数字量表示方法即模拟量输入模块的输入数据的位数是多少?是否从数据字的第0位开始?若不是,应进行移位操作使数据的最低位排列在数据字的第0位上,以保证数据的准确性;如EM231模拟量输入模块,在单极性信号输入时,其模拟量的数字值是从第3位开始的,因此数据整定的任务是把该数据字右移三位。2.模拟量输入值的数字量的表示范围 该范围一方面由模拟量输入模块的转化精度位数决定,另一方面也可以由系统外部的某些条件使输入量
19、的范围限定在某一数值区域,使输入量的范围小于模块可能表示的范围。,3.系统偏移量的消除系统偏移量是指在无模拟量信号输入情况下由测量元件的测量误差及模拟量输入模块的转换死区所引起的具有一定数值的转换结果。消除这一偏移值的方法是在硬件方面进行必要的调整(如调整EM235中偏置电位器)或使用PLC的运算指令去除其影响。 4.过程量的最大变化范围过程量的最大变化范围与转换后的数字量最大变化范围应有一一对应的关系,这样就可以使转换后的数字量精确地反应过程量的变化。如用00FH反应010V的电压与0FFH反应010V的电压相比较,后者的灵敏度或精确度显然要比前者高得多。,5.标准化问题,从模拟量输入模块采
20、集到的过程量都是实际的工程量,其幅度、范围和测量单位都会不同。在PLC内部进行数据运算之前,必须将这些值转换为无量纲的标准化格式。下面一段程序是将实数格式的工程实际值转换为0.0,1.0间的无量纲相对值(即标准化格式)用到了下面的公式:RS=RR/SP+E式中,RS是工程实际值的标准化值;RR是程实际值的实数形式值,未标准化处理;E对应单极性值取0;对于双极性取0.5;SP是最大允许值减去最小允许值,通常取:32000(单极性),64000(双极性),XORD AC0, AC0 /清累加器AC0 MOVW AIW0, AC0 /读模拟量存入AC0 LDW= AC0, 0 /若模拟量为正 JMP
21、 0 /转到标号为0的程序段进行直接转换 NOT /否则(即模拟量为负) ORD 16#FFFF0000, AC0 /将AC0中的符号处理 LBL 0 /定义一个跳转的标号0 DTR AC0, AC0 /将32位整数格式转换为实数格式 /R 64000.0, AC0 /将AC0中的值标准化 +R 0.5, AC0 /将所得结果转移到范围0.0,1.0 MOVR AC0, VD100 /将标准化结果存入PID运算数据存储区,6.数字量滤波问题 电压、电流等模拟量常常会因为现场的瞬时干扰面产生较大波动。这种波动经A/D转换后亦反映在PLC的数字量输入端。若仅用瞬时采样值进行控制计算,将会产生较大误
22、差,有必要进行数字滤波。工程上数字滤波方法有平均值滤波、去极值平均滤波以及惯性滤波法等。算术平均值滤波的效果与采样次数有关,次数越多效果越好。但这种滤波方法对于强干扰的抑制作用不大,而去极值平均滤波方获则可有效地消除明显的干扰信号,消除的方法是对多次采样值进行累加后,找出最大值和最小值,然后从累加和中减去最大值和最小值,再进行平均值滤波。惯性滤波的方法是逐次修正,它类似于较大惯性的低通滤波功能。这些方法也可同时使用,效果更好!,在PLC内部进行模拟量输入信号处理时,通常已把模拟量输入模块转换后的数字量转换为标准工程量,经过工程实际需要的运算处理后,可得出上下限报警信息及控制信息。报警信息经过逻
23、辑控制程序可直接通过PLC的数字量输出点输出,而控制信息则需要暂存到模拟量输出存储器AQWx中,经模拟量输出模块转换为连续的电压或电流信号输出到控制系统的执行部件,以便进行需要的调节。模拟量输出信号的整定就是要将PLC的运算结果按照一定的函数关系转换为模拟量输出寄存器中的数字值,以备模拟量输出模块转换为现场需要的输出电压或电流。已知某温度控制系统由PLC控制其温度的升降。当PLC的模拟量输出模块输出10V电压时,要求系统温度达到500C。现PLC的运算结果为230C,则应向模拟量输出存储器AQWx写入的数字量为多少?这就是一个模拟量输出信号的整定问题。显然,解决这一问题的关键是要了解模拟量输出
24、模块中的数字量与模拟量之间的对应关系,这一关系通常为线性关系。如EM232模拟量输出模块输出的0l0V电压信号对应的内部数字量为032000。上述运算结果230C所对应的数字量可用简单的算术运算程序得出。在后面介绍的PID指令中,PID的运算结果是一个在0.01.0范围内的标准化实数格式的数据,它必须首先转换为16位按工程量标定的值后方可用于驱动实际机构。,5.2.2 模拟量输出信号的整定,这一转换实际上为标准化过程的逆过程,转换的第一步是用下式将PID运算结果转换为按工程量标定的实数格式:RS=(YN-E)SP 式中,RS是以按工程量标定的实数格式的PID运算结果;YN是标准化实数格式的PI
25、D运算结果, E对应单极性模拟量取0;对于双极性模拟量取0.5;SP是最大允许值减去最小允许值,通常取:32000(单极性),64000(双极性)假定PID运算的标准化实数格式结果存储在AC0中,则经下面程序段的转换,存储在AC0中则经下面程序段的转换,存储在模拟量存储器AQW0中的数据为一个按工程量标定后的16位数字量。 MOVR VD108, AC0 /将PID运算结果放入AC0 -R 0.5, AC0 /仅用于双极性的场所 *R 64000.0,AC0 /将AC0中的值按工程量标定 TRUNC AC0, VD100 /将实数转换成32位整数 MOVW AC0, AQW0 / 将16位整数
26、值输出至模拟量输出模块在这段程序中前三句是将PID运算的0.0,1.0之间的数据转换为按工程量标定的实数值,后二句是将工程量标定的实数值转换为16位定的数字值,过程控制系统在对模拟量进行采样的基础上,一般还要对采样值进行PID(比例+积分+微分)运算,并根据运算结果,形成对模拟量的控制作用。这种作用的结构如图5-11所示。,5.3 PLC的PID控制,图5-11 PID控制系统结构图,PID运算中的积分作用可以消除系统的静态误差,提高精度,加强对系统参数变化的适应能力,而微分作用可以克服惯性滞后,提高抗干扰能力和系统的稳定性,可改善系统动态响应速度。因此,对于速度、位置等快过程及温度、化工合成
27、等慢过程,PID控制都具有良好的实际效果。,5.3.1 PID算法在工业生产过程控制中,模拟信号PID(由比例、积分、微分构成的闭合回路)调节是常见的一种控制方法。运行PID控制指令,S7-200将根据参数表中的输入测量值、控制设定值及PID参数,进行PID运算,求得输出控制值。参数表中有9个参数,全部为32位的实数,共占用36个字节。PID控制回路的参数表如表5-8所示。,说明: PLC可同时对多个生产过程(回路)实行闭环控制。由于每个生产过程的具体情况不同, PID算法的参数也不同,参数表用于存放控制算法的参数和过程中的其他数据,运算完毕后有关数据结果仍送回参数表。 表中反馈量PVn和给定
28、值SPn为PID算法的输入,只可由PID指令读取并不可更改。反馈量PVn归一化处理:010V模拟量输入模块(如EM231)模拟量输入寄存器AIWx16位整数32位整数32位实数 标准化数值0.01.0地址偏移量为0的存储区。给定值SPn由模拟量输入(或常数)标准化数值0.01.0。 表中回路输出值Mn由PID指令计算得出,仅当PID指令完全执行完毕才予以更新。输出值Mn归一化处理:标准化数值0.01.0 32位实数 32位整数16位整数模拟量输出寄存器AQWx模拟量输出模块(如EM232010V)。, 表中增益(Kc)、采样时间(TS)、积分时间(TI)和微分时间(TD)是由用户事先写入的值,
29、通常也可通过人机对话设备(如TD200、触摸屏、组态软件监控系统)输入。 表中积分项前值(MX)由PID运算结果更新,且此更新值用作下一次PID运算的输入值。积分和的调整值必须是0.01.0之间的实数。 比例、积分、微分调节(即PID调节)是闭环模拟量控制中的传统调节规律。它在改善控制系统品质,保证系统偏差e给定值(SP)与过程变量(PV)的差达到预定指标,使系统在实现稳定状态方面具有良好的效果。该系统的结构简单,容易实现自动控制,在各个领域得到了广泛的应用。PID调节控制的原理基于下面的方程式,它描述了输出M(t)作为比例项、积分项和微分项的函数关系。,即:输出 = 比例项 + 积分项 +
30、初始值 + 微分项 式中:M(t)PID回路的输出,是时间的函数; KcPID回路的增益,也叫比例常数; e回路的误差(给定值与过程变量之差); MinitialPID回路输出的初始值; Ti积分时间常数; Td微分时间常数。,在实际应用中,典型的PID算法包括三项:比例项、积分项和微分项。即:输出=比例项+积分项+微分项。计算机在周期性地采样并离散化后进行PID运算,算法如下:Mn=Kc*(SPn-PVn)+Kc*(Ts/Ti)*(SPn-PVn)+Mx+Kc*(Td/Ts)*(PVn-1-PVn) 其中各参数的含义已在上表中已描述。比例项Kc*(SPn-PVn):能及时地产生与偏差(SPn
31、-PVn)成正比的调节作用,比例系数Kc越大,比例调节作用越强,系统的稳态精度越高,但Kc过大会使系统的输出量振荡加剧,稳定性降低。积分项Kc*(Ts/Ti)*(SPn-PVn)+Mx:与偏差有关,只要偏差不为0,PID控制的输出就会因积分作用而不断变化,直到偏差消失,系统处于稳定状态,所以积分的作用是消除稳态误差,提高控制精度,但积分的动作缓慢,给系统的动态稳定带来不良影响,很少单独使用。从式中可以看出:积分时间常数增大,积分作用减弱,消除稳态误差的速度减慢。微分项Kc*(Td/Ts)*(PVn-1-PVn):根据误差变化的速度(既误差的微分)进行调节具有超前和预测的特点。微分时间常数Td增
32、大时,超调量减少,动态性能得到改善,如Td过大,系统输出量在接近稳态时可能上升缓慢。,在很多控制系统中,有时只采用一种或两种控制回路。例如,可能只要求比例控制回路或比例和积分控制回路。通过设置常量参数值选择所需的控制回路。 (1)如果不需要积分回路(即在PID计算中无“I”),则应将积分时间Ti设为无限大。由于积分项Mx的初始值,虽然没有积分运算,积分项的数值也可能不为零。 (2)如果不需要微分运算(即在PID计算中无“D”),则应将微分时间Td设定为0.0。 (3)如果不需要比例运算(即在PID计算中无“P”),但需要I或ID控制,则应将增益值Kc指定为0.0。因为Kc是计算积分和微分项公式
33、中的系数,将循环增益设为0.0会导致在积分和微分项计算中使用的循环增益值为1.0。,5.3.3 PID指令PID指令:使能有效时,根据回路参数表(TBL)中的输入测量值、控制设定值及PID参数进行PID计算。格式如表5-9所示。,表5-9 PID指令格式及功能,5.3.2 PID控制回路选项,表5-10 温度控制系统的PID参数表,【例5-1】 某温控系统由S7-200 PLC、EM 231、EM 232和控制对象(电炉)等组成,温度控制的原理是:通过电压加热使电炉产生温度,再通过温度变送器使温度变送为电压。电炉根据加热时间的长短产生不同的热能。这就需要用到脉冲,输入电压对应不同的脉冲宽度,输
34、入电压越大,脉冲越宽,通电时间越长,热能越大,温度越高。 【解】 温度控制系统的PID参数表见表5-10,程序如图5-12所示。,说明: (1)程序中可使用八条PID指令,分别编号07,不能重复使用。 (2)使ENO = 0的错误条件:0006(间接地址),SM1.1(溢出,参数表起始地址或指令中指定的PID回路指令号码操作数超出范围)。 (3)PID指令不对参数表输入值进行范围检查。必须保证过程变量和给定值积分项前值和过程变量前值在0.0和1.0之间。,5.3.4. PID控制功能的应用,图5-12 电路PID控制程序,表5-11 恒压供水PID控制参数表,【例5-2】一恒压供水水箱,通过变
35、频器驱动的水泵供水,维持水位在满水位的70%。过程变量PVn为水箱的水位(由水位检测计提供),设定值为70%,PID输出控制变频器,即控制水箱注水调速电机的转速。要求开机后,先手动控制电机,水位上升到70%时,转换到PID自动调节。 【解】 (1)温度控制系统的PID参数表见表5-11。,表5-12 恒压供水PID控制I/O分配表,(3)程序结构 由主程序,子程序,中断程序构成。主程序用来调用初始化子程序,子程序用来建立PID回路初始参数表和设置中断,由于定时采样,所以采用定时中断(中断事件号为10),设置周期时间和采样时间相同(0.1s),并写入SMB34。中断程序用于执行PID运算,I0.
36、0=1时,执行PID运算,本例标准化时采用单极性(取值范围32000)。 4)梯形图程序和语句表。程序如图5-13所示。,主程序 LD SM0.1 CALL SBR_0,(2)I/O分配表见表5-12,子程序(建立PID回路参数表,设置中断以执行PID指令) LD SM0.0MOVR 0.7, VD104 / 写入给定值(注满70%)MOVR 0.3, VD112 / 写入回路增益(0.3)MOVR 0.1, VD116 / 写入采样时间(0.1秒)MOVR 30.0, VD120 / 写入积分时间(30分钟)MOVR 0.0, VD124 / 设置无微分运算MOVB 100, SMB34 /
37、 写入定时中断的周期100ms ATCH INT_0, 10 / 将INT-0(执行PID)和定时中断连接 ENI / 全局开中断,图5-13 恒压供水的PLC控制系统程序及语句,中断程序(执行PID指令) 网络1 LD SM0.0 ITD AIW0, AC0 / 将整数转换为双整数DTR AC0, AC0 / 将双整数转换为实数/R 32000.0, AC0 / 标准化数值MOVR AC0, VD100 / 将标准化PV写入回路参数表网络2LD I0.0 PID VB100, 0 /PID指令设置参数表起始地址为 VB100,网络3 LD SM0.0 MOVR VD108, AC0 / 将P
38、ID回路输出移至累加器 *R 32000.0,AC0 / 实际化数值ROUND AC0, AC0 / 将实际化后的数值取整DTI AC0, AC0 / 将双整数转换为整数MOVW AC0, AQW0 / 将数值写入模拟输出,图5-13 恒压供水的PLC控制系统程序及语句(续),5.3.5 PID指令向导的应用,图5-14 指令向导,2.确认编译项目并使用符号编址,如图5-15所示。,图5-15 确认编译项目并使用符号编址,高速脉冲输出的程序可以用编程软件的指令向导生成,具体步骤如下: 1.打开STEP7-Micro/WIN编程软件,选择“工具”菜单“指令向导”,出现图5-14所示页面。选择“P
39、ID”,并点击“下一步”。,(3)指定PID指令的编号。如图5-16所示。,图5-16 指定PID指令的编号,(4)设定PID调节的基本参数,如图5-17所示。包括:以百分值指定给定值的下限;以百分值指定给定值的上限;比例增益Kc;采样时间Ts(图中为样本时间);积分时间Ti(图中为整数时间);微分时间Td(图中为导出时间)。设定完成点击“下一步”。,(5)输入、输出参数的设定,如图5-18所示。在输入选项区输入信号A/D转换数据的极性,可以选择单极性或双极性,单极性数值在032000之间,双极性数值在-3200032000之间,可以选择使用或不使用20%偏移;,在输出选项区选择输出信号的类型
40、:可以选择模拟量输出或数字量输出,输出信号的极性(单极性或双极性),选择是否使用20%的偏移,选择D/A转换数据的下限(可以输入D/A转换数据的最小值)和上限(可以输入D/A转换数据的最大值)。设定完成点击“下一步”。,(6)输出警报参数的设定,如图5-19所示。选择是否使用输出下限报警,使用时应指定下限报警值;选择是否使用输出上限报警,使用时应指定上限报警值;选择是否使用模拟量输入模块错误报警,使用时指定模块位置。,(7)设定PID的控制参数,如图5-20所示。在变量存储器V中,指定PID控制需要的变量存储器的起始地址,PID控制参数表需要36个字节,另外数据计算需要32个字节,共需要68个
41、字节。,(8)设定PID控制子程序和中断程序的名称并选择是否增加PID的手动控制。如图5-21所示。在选择了手动控制时,给定值将不再经过PID控制运算而字节进行输出,为了保证手动控制到自动PID控制的平稳过渡,在PLC程序中需要对PID参数进行如下处理: 使过程变量当前值与给定值相等:Spn=Pvn;使上一次过程变量当前值与当前过程变量当前值相等:Pvn-1=Pvn;使上一次积分值等于当前输出值:Mx=Mn。设定完成后点击“下一步”,出现图5-22所示画面。,点击“完成”结束编程向导的使用。,(9)PID指令向导生成的子程序和中断程序是加密的程序,子程序中全部使用的是局部变量,其中的输入和输出
42、变量需要在调用程序中按照数据类型的要求对其进行赋值,如图5-23所示。,(10)在PLC程序中可以通过调用PID运算子程序(PID0-INIT),实现PID 控制。如图5-24所示。,11.PID参数的调整与修改。在编程完成后或程序调试时,如果需要对PID参数进行调整与修改,可以直接点击浏览条中“数据块”图标,则显示出PID指令向导设定的变量存储器的参数表,如图5-25所示。在参数表中可以直接修改PID的参数,并重新下载。,项目1:恒压供水的PLC控制系统,(1)项目要求图5-26是PLC、变频器控制两台水泵供水的恒压供水系统图,在储水池中,只要水位低于高水位,则通过电磁阀YV自动往水池注水,
43、水池水满时电磁阀YV关闭;同时水池的高/低水位信号可通过继电器触点J直接送给PLC,水池水满时J闭合,缺水时J断开。 控制要求: (1)水池水满,水泵才能启动抽水,水池缺水, 则不允许水泵电动机启动。 (2)系统有自动/手动控制功能,手动只在应急或 检修时临时使用。 (3)自动时,按启动按钮,先由变频器器启1号泵运行,如工作频率已经达到50 Hz,而压力仍 不足时,经延时将1号泵切换成工频运行,再由 变频器去起动2号泵,供水系统处于“1工1变”的 运行状态;如变频器的工作频率已经降至下限频率, 而压力仍偏高时,经延时使1号泵停机,供水系系统 处于1台泵变频运行的状态的运行状态;如工作频率 已经
44、达到50 Hz,而压力仍不足时,延时,图5-26 恒压供水系统图,(2)项目分析 通过对控制任务的要求分析知,要实现恒压供水,必需采集管网的水压力,经PLC的PID运算后输出控制变频器带动水泵电动机运行,故要用到模拟量输入(EM231)、模拟量输出模块(EM232),通过PLC程序实现两台泵的切换,为了使系统稳定,在梯形图中要采用PID指令。 (3)电气控制系统原理图 电气控制系统原理图包括主电路、控制电路、PLC外围接线图及I/O分配表。 (1)主电路图 图5-27所示为电控系统主电路图。两台电机分别为M1和M2,接触器KM1和KM3分别控制M1和M2的工频运行;接触器KM2和KM4分别控制
45、M1和M2的变频运行。 (2)控制电路图 图5-28所示为电控系统控制电路图。图中SA为手动/自动转换开关,SA在1的位置为手动控制状态;2的位置为自动控制状态。手动运行时,可用按钮SB1SB4控制两台泵的启/停;自动运行时,系统在PLC程序控制下运行。通过一个中间继电器KA的触点对变频器运行进行控制。图中的Q0.0Q0.4为PLC的输出继电器触点。 (3)I/O分配表 根据电控系统主电路图和控制电路图,对应的PLC的输入输出端子及说明如表5-13,(4)系统程序设计本程序分为三部分:主程序、子程序和中断程序。逻辑运算放在主程序,系统初始化的一些工作放在初始化程序中完成,这样可节省扫描时间。利用定时器中断功能实现PID控制的定时采样及输出控制。系统设定值为满量程的80%,只是用比例(P)和积分(I)控制,其回路增益和时间常数可通过工程计算初步确定,但还需要进一步调整以达到最优控制效果。初步确定的增益和时间常数为:增益KC=0.25;采样时间TS=0.2 s;积分时间TI=30 min。 主程序:主程序流程图如图5-29的所示,对应的梯形图如图5-30所示。,图5-27 电控系统主电路图,图5-28 电控系统控制电路图,子程序 子程序如图5-31所示。,中断程序 中断程序如图5-32所示,