模块七PLC模拟量及PID控制学习目标了解各种模拟量输入输出模块。掌握模拟量的输入及输出,能使用模拟量输入输出模块组成PLC模拟量控制系统,并能根据工艺要求设置模块参数,编写控制程序。掌握PID调节指令的格式及功能,会编写PID参数表初始化程序。任务一:PLC模拟量控制及应用与S7—22XCPU配套的A/D、D/A模块有EM231(4路12位模拟量输入)、EM232(2路12位模拟量输出)、EM235(4路12位模拟量输入/1路12位模拟量输出)。任务一:PLC模拟量控制及应用1.模拟量输入(1)模拟量输入(AI)寻址通过A/D模块,S7—200CPU可以将外部的模拟量(电流或电压)转换成一个字长(16位)的数字量。可以用区域标识符(AI)、数据长度(W)和模拟通道的其始地址来读取这些量,其格式为:AIW[起始字节地址]因为模拟输入量为一个字长,且从偶数字节开始存放,所以必须从偶数字节地址读取这些值,如AIW0、AIW2、AIW4等,模拟量输入值为只读数据。任务一:PLC模拟量控制及应用1.模拟量输入(2)模拟量输入的配置使用EM231和EM235输入模拟量时,首先要进行模块的配置和校准。通过调整模块中的DIP开关,可以设定输入模拟量的种类(电流、电压)以及模拟量的输入范围、极性,如图7-1、7-2所示。任务一:PLC模拟量控制及应用1.模拟量输入(2)模拟量输入的配置电流发送器电压发送器未用端子配置开关增益没有使用24VDC电源和公共端图7-1EM231模拟量输入模块端子及DIP开关示意图固定端子块增益DIP设定开关开关任务一:PLC模拟量控制及应用1.模拟量输入(2)模拟量输入的配置电流发送器电压发送器未用端子配置开关增益没有使用24VDC电源和公共端图7-1EM231模拟量输入模块端子及DIP开关示意图固定端子块增益DIP设定开关开关任务一:PLC模拟量控制及应用1.模拟量输入(2)模拟量输入的配置图7-2EM235输入输出混合模块端子、DIP设置开关及校准电位器示意图电压变送器空闲端子电流变送器电流负载电压负载24VDC电源和公共端子固定端子块增益DIP设定开关开关偏置任务一:PLC模拟量控制及应用1.模拟量输入(3)模拟量输入校准校准调节影响所有的输入通道。即使在校准以后,如果模拟量多路转换器之前的输入电路的元件值发生变化,从不同通道读入同一个输入信号,其信号值也会有微小的不同。校准输入的步骤如下:切断模块电源,用DIP开关选择需要的输入范围。接通CPU和模块电源,使模块稳定15min。用一个变送器、一个电压源或电流源,将零值信号加到模块的一个输入端。读取该输入通道在CPU中的测量值。调节模块上的OFFSET(偏置)电位器,直到读数为零,或所需要的数字值。将一个满刻度模拟量信号接到某一个输入端子,读出A/D转换后的值。调节模块上的GAIN(增益)电位器,直到读数为32000,或所需要的数字值。必要时重复上述校准偏置和增益的过程。任务一:PLC模拟量控制及应用1.模拟量输入(4)输入模拟量的读取每个模拟量占用一个字长(16位),其中数据占12位,依据输入模拟量的极性,其数据字格式有所不同,其格式如图7-3所示。MSBLSB1514131211109876543210012位数据值000单极性数据格式MSBLSB151413121110987654321012位数据值0000双极性数据格式模拟量转换为数字量的12位读数是左对齐的,对单极性格式,最高位为符号位,最低3位是测量精度位,即A/D转换是以8为单位进行的;对双极性格式,最低4位为转换精度位,即A/D转换是以16为单位进行的。在读取模拟量时,利用数据传送指令MOV_W可以从指定的模拟量输入通道将其读取到内存中,然后根据其极性,利用移位指令或整数除法指令将其规格化,以便于处理其数据值部分。任务一:PLC模拟量控制及应用2.模拟量输出(1)模拟量输出(AQ)寻址通过D/A模块,S7-200CPU把一个字长(16位)的数字量按比例转换成电流或电压。可以用区域标识符(AQ)、数据长度(W)和模拟通道的起始地址来存储这些量,其格式为:AQW[起始自节地址]因为模拟输出量为一个字长,且从偶数字节开始,所以必须从偶数字节地址存储这些值,如AQW0、AQW2、AQW4等。模拟量输出值是只写数据,用户不能读取模拟量输出值。任务一:PLC模拟量控制及应用2.模拟量输出(2)模拟量的输出模拟量的输出范围为10V~-10V或0~20mA(由接线方式决定),如图7-4所示,对应的数字量分别为-32000~+32000和0~+32000。任务一:PLC模拟量控制及应用2.模拟量输出(2)模拟量的输出b)EM232输出回路框图电压-电流转换器电压输出缓冲器数-模转换器D/A电流输出电压输出空闲电压负载电流负载电压负载电流负载空闲端子24VDC电源和公共端子a)EM232模块接线端子图图7-4EM232模拟量输出模块外部接线图及内部结构图任务一:PLC模拟量控制及应用2.模拟量输出(2)模拟量的输出每个模拟量占用一个字长(16位),依据输出模拟量的类型,其数据字格式有所不同,其格式如图7-5所示。模拟量数据输出值是左对齐的,最高有效位是符号位,0表示正值。最低4位是四个连续的0,在转换为模拟量输出值时,将自动屏蔽,不会影响输出信号值。在输出模拟量时,首先根据电流输出方式或电压输出方式,利用移位指令或整数乘法指令对其数据值部分进行处理,然后利用数据传送指令MOV_W将其从指定的模拟量输出通道输出。MSBLSB1514131211109876543210011位数据值0000电流输出数据格式MSBLSB151413121110987654321012位数据值0000电压输出数据格式任务一:PLC模拟量控制及应用3.模拟量数据的处理(1)模拟量输入信号的整定通过模拟量输入模块转换后的数字信号直接存储在S7-200系列PLC的模拟量输入存储器AIW中,这种数字量与被转换的过程之间有一定的函数对应关系,但在数值上并不相等,必须经过某种转换才能使用,这种将模拟量输入的数字信号在PLC内部按一定函数关系进行转换的过程称为模拟量输入信号的整定。任务一:PLC模拟量控制及应用3.模拟量数据的处理模拟量输入信号的整定通常需要考虑以下问题:1)模拟量输入值的数字量表示方法即模拟量输入模块输入数据的位数是多少?是否从数据字的第0位开始?若不是,应进行移位操作使数据的最低位排列在数据字的第0位上,以保证数据的准确性。如EM231模拟量输入模块,在单极性信号输入时,其模拟量的数字值是从第3位开始的,因此数据整定的任务是把该数据字右移3位。2)模拟量输入值的数字量表示范围该范围一方面由模拟量输入模块的转换精度位数决定,另一方面也可以由系统外部的某些条件使输入量的范围限定在某一数值区域,使输入量的范围小于模块可能表示的范围。3)系统偏移量的消除系统偏移量是指在无模拟量信号输入情况下由测量元件的测量误差及模拟量输入模块的转换死区所引起的具有一定数值的转换结果。消除这一偏移量的方法是在硬件方面进行必要的调整(如调整EM235中偏置电位器)或使用PLC的运算指令去除其影响。4)过程量的最大变化范围过程量的最大变化范围与转换后的数字量最大变化范围应有一一对应的关系,这样就可以使转换后的数字量精确地反应过程量的变化。如用0~0FH反映0~10V的电压与0~FFH反映0~10V的电压相比较,后者的灵敏度或精确度显然要比前者高得多。任务一:PLC模拟量控制及应用3.模拟量数据的处理模拟量输入信号的整定通常需要考虑以下问题:5)标准化问题从模拟量输入模块采集到的过程量都是实际的工程量,其幅度、范围和测量单位都会不同,在PLC内部进行数据运算之前,必须将这些值转换为无量纲的标准化格式。6)数字量滤波问题电压、电流等模拟量常常会因为现场的瞬时干扰而产生较大波动,这种波动经A/D转换后亦反映在PLC的数字量输入端,若仅用瞬时采样值进行控制计算,将会产生较大误差,有必要进行数字滤波。工程上的数字滤波方法有平均值滤波、去极值平均滤波以及惯性滤波法等。算术平均值滤波的效果与采样次数有关,采样次数越多效果越好。但这种滤波方法对于强干扰的抑制作用不大,而去极值平均滤波方法则可有效地消除明显的干扰信号,消除的方法是对多次采样值进行累加后,找出最大值和最小值,然后从累加和中减去最大值和最小值,再进行平均值滤波。惯性滤波的方法就是逐次修正,它类似于较大惯性的低通滤波功能。这些方法也可同时使用,效果更好。任务一:PLC模拟量控制及应用3.模拟量数据的处理(2)模拟量输出信号的整定模拟量输出信号的整定就是要将PLC的运算结果按照一定的函数关系转换为模拟量输出寄存器中的数字值,以备模拟量输出模块转换为现场需要的输出电压或电流。已知某温度控制系统由PLC控制其温度的升降。当PLC的模拟量输出模块输出10V电压时,要求系统温度达到5000C,现PLC运算结果为2300C,则应向模拟量输出存储器AQWX写入的数字量为多少?这就是一个模拟量输出信号的整定问题。任务一:PLC模拟量控制及应用4.模拟量输入/输出举例例1从模拟量输入通道AIW2读取0~10V的模拟量,并将其存入VW100中。程序如图所示。EM231的DIP开关中SW1、SW2、SW3分别设置为ON、OFF、ON,设定的量程为单极性0~10V,输入数据范围为0~32000,其数据格式参见前文所述。利用实验板上的电位器可以输入0~10V电压,可以用“图状态”方式观察VW100中数据的变化。任务一:PLC模拟量控制及应用4.模拟量输入/输出举例例2从模拟量输出通道AQWO输出10V电压,EM232的输出电压范围是-10V~10V,其数据范围为-32000~32000,相应的数据值-2000~2000。程序如图所示任务二:PID控制及应用在工业生产中,常需要用闭环控制方式来实现温度、压力、流量等连续变化的模拟量控制。无论使用模拟控制器的模拟控制系统,还是使用计算机(包括PLC)的数字控制系统,PID控制都得到了广泛的应用。过程控制系统在对模拟量进行采样的基础上,一般还要对采样值进行PID(比例+积分+微分)运算,并根据运算结果,形成对模拟量的控制作用。这种作用的结构如图7-8所示图7-8PID控制系统结构图PID执行器控制对象PID输出Y过程变量PV偏差e-给定量SPPV+—任务二:PID控制及应用PID运算中的积分作用可以消除系统的静态误差,提高精度,加强对系统参数变化的适应能力;微分作用可以克服惯性滞后,提高抗干扰能力和系统的稳定性,可改善系统动态响应速度;比例作用可对偏差作出及时响应。因此,对于速度、位置等快过程及温度、化工合成等慢过程,PID控制都具有良好的实际效果。若能将3种作用的强度作适当的配合,可以使PID回路快速、平稳、准确地运行,从而获得满意的控制效果。PID的3种作用是相互独立,互不影响的。改变一个参数,仅影响一种调节作用,而不影响其他的调节作用。任务二:PID控制及应用S7-200CPU提供了8个回路的PID功能,用以实现需要按照PID控制规律进行自动调节的控制任务,比如温度、压力和流量控制等。PID功能一般需要模拟量输入,以反映被控制的物理量的实际数值,称为反馈;而用户设定的调节目标值,即为给定。PID运算的任务就是根据反馈与给定的相对差值,按照PID运算规律计算出结果,输出到固态开关元件(控制加热棒)或者变频器(驱动水泵)等执行机构进行调节,以达到自动维持被控制的量跟随给定变化的目的。S7-200中PID功能的核心是PID指令。PID指令需要为其指定一个以V为变量存储区地址开始的PID回路表,以及PID回路号。PID回路表提供了给定和反馈,以及PID参数等数据入口,PID运算的结果也在回路表输出。任务二:PID控制及应