第一节S7-200EM235模拟量模块1.模拟量模块的外部接线方式模拟量模块主要分为3种,即模拟量输入模块EM231(4路模拟量输入)、模拟量输出模块EM232(2路模拟量输出)和模拟量I/O组合模块EM235(4路模拟量输入、1路模拟量输出)。下面以组合模块EM235为例说明其模拟量I/O接线方式。24VDC电源正极接入模块左下方L+端子,负极接入M端子。EM235模块的上部端子排为标注A、B、C、D的四路模拟量输入接口,可分别接入标准电压、电流信号。未用的接口要将C+与C-端用短路子短接,以免受到外部干扰。下部端子为一路模拟量输出端的3个接线端子MO、VO、IO,其中MO为数字接地接口,VO为电压输出接口,IO为电流输出接口。在进行接线时应注意以下几点。(1)传感器接线的长度应尽可能短,并使用屏蔽双绞线。(2)敷设线路时应使用电缆槽,避免将导线弯成锐角。(3)避免将信号线与电源线路平行接近布置。(4)使用高质量的24VDC传感器电源,以保证无噪声及稳定运行。2.模拟量模块的特点(1)模拟量转换精度高,A/D转换达到12位。EM231模块单极性输入0V~5V、0V~10V、0mA~20mA满量程精度可达±0.01%。I/O数据格式如图所示。输入数据格式F32100数据值12位000MSB单极性数据LSBF43210数据值12位0000MSB双极性数据LSB输出数据格式F32100数据值12位000MSB电流输出数据格式LSBF43210数据值12位0000MSB电压输出数据格式LSB(2)有多种量程输入范围,可通过DIP开关进行设置。如图所示。单极性满量程输入分辨率SW1SW2SW3SW4SW5SW6ONOFFOFFONOFFON0mV~50mVOFFONOFFONOFFON0mV~100mVONOFFOFFOFFONON0mV~500mVOFFONOFFOFFONON0V~1VONOFFOFFOFFOFFON0V~5V1.25mVONOFFOFFOFFOFFON0mV~20mAOFFONOFFOFFOFFON0V~10V2.5mV25μV12.5μV125μV12.5μV25μV125μV双极性满量程输入分辨率SW1SW2SW3SW4SW5SW6ONOFFOFFONOFFOFF±25mVOFFONOFFONOFFOFF±50mVOFFOFFONONOFFOFF±100mVONOFFOFFOFFONOFF±250mV25μV250μV双极性满量程输入分辨率SW1SW2SW3SW4SW5SW6OFFONOFFOFFONOFF±500mVOFFOFFONOFFONOFF±1VONOFFOFFOFFOFFOFF±2.5V1.25mVOFFONOFFOFFOFFOFF±5V2.5mVOFFOFFONOFFOFFOFF±10V5mV500μVEM235的DIP开关单/双极性增益衰减SW1SW2SW3SW4SW5SW6ON单极性OFF双极性OFFOFF×1OFFON×10ONOFF×100ONON无效ONOFFOFF0.8OFFONOFF0.4OFFOFFON0.2EM235选择单/双极性、增益和衰减若所有输入设置成相同的模拟量输入范围和格式,则可通过开关1到开关6设置单/双极性、增益和衰减。(3)输入接口带有模拟量输入滤波器,用以提高模拟量输入精度。(4)可对模拟量输入接口进行校准和配置位置。(5)数据采集速度高,模块可将模拟量信号在内转换为相应的数字量信号。性能EM231EM232EM235通用技术规范物理量I/O数量4路模拟量输入2路模拟量输出4路模拟量输入、1路模拟量输出L+电压范围DC传感器供电20.4V~28.8V20.4V~28.8V20.4V~28.8VLED指示器ON:24V电源良好OFF:无24V电源ON:24V电源良好OFF:无24V电源ON:24V电源良好OFF:无24V电源输入技术规范数据字格式双极性:全量程单极性:全量程-32000~320000~32000-32000~320000~32000最大输入电压30VDC30VDC最大输入电流/mA3232分辨率12位A/D转换12位A/D转换输入类型差分差分输入范围电压:单极性电压:双极性电流0V~5V、0V~10V±5V、±2.5V0mA~20mA0V~5V、0V~10V0V~1V、0mV~500mV0mV~100mV、0mV~50mV±10V、±5V、±2.5V、±1V、±500mV、±250mV±100mV、±50mV±25mV0mA~20mA250250模拟量到数字量的转换时间/μs性能EM231EM232EM235输出技术规范电压输出范围/V±10±10电流输出范围/mA0mA~20mA0mA~20mA全量程分辨率电压电流12位11位12位11位精度典型情况(25℃)电压、电流满量程的0.5%满量程的0.5%电流输出/ms10021002最大驱动电压输出电流输出5k最大最小500500最小最大5k设置时间电压输出/μs第二节PID调节及PID指令PID算法是过程控制领域中技术成熟、应用方便且广泛使用的控制方法。它是基于经典控制理论,并经过长期工程实践而总结出的一套行之有效的控制算法。在较早的PLC中并没有PID的现成指令,只能通过运算指令实现PID功能,但随着PLC技术的发展,很多品牌的PLC都增加了PID功能,有些是专用模块,有些是指令形式,都大大扩展了PLC的应用范围。西门子的S7-200系列PLC中使用的是PID回路指令。1.PID算法PID控制(比例—积分—微分控制)算法在过程控制领域中的闭环控制中得到了广泛应用。PID控制环节被控对象反馈环节e(t)+-M(t)C(t)r(t)PID控制器可调节回路输出,使系统达到稳定状态。偏差e是给定值SP和测量值PV的差值。式(1)为PID控制的位置式算法,回路的输出变量M(t)是时间的函数,它可以看作是比例项、积分项、微分项3项之和:(1)式中:M(t)——PID回路的输出,是时间函数;——PID回路的增益;e——PID回路的偏差;——PID回路的初始值。数字计算机处理这个函数关系式,必须将连续函数离散化,对偏差周期采样后,计算输出值。式(2)是式(1)的离散形式:(2)CCinitialC0()dd/dtMtKeKetMKetCKinitialMnCIiinitialD11()nnnniMKeKeMKee式中:Mn——在第n采样时刻PID回路输出的计算值;Kc——PID回路增益;En——在第n采样时刻的偏差值;——在第n-1采样时刻的偏差值(偏差前值);Ki——积分项的系数;——PID回路的初值;Kd——微分项的系数。式(2)中,积分项是包括从第1个采样周期到当前采样周期的所有误差的累积值。计算中,没有必要保留所有采样周期的误差项,只需保留积分项前值MX即可。CPU实际上是使用式(3)的改进形式的PID算式。(3)1neinitialMnIii1KeCID1()nnnnnnnnMKeKeMXKeeMPMIMD式中:MX——积分项前值(在第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)neCC()nnnnMPKeKSPPVICSI/()nnnnMIKeMXKTTSPPVMX式中:Ts——采样周期;Ti——积分时间常数。积分项前值MX是第n采样周期前所有积分项之和。在每次计算出MIn之后,都要用MIn去更新MX。第一次计算时,MX的初值被设置为(初值)。采样周期Ts是每次采样的时间间隔,而积分时间常数Ti控制积分项在控制量计算中的作用程度。(3)微分项微分项MDn与偏差的变化成正比。(6)为了避免给定值变化的微分作用而引起的跳变,可设置给定值不变()。那么计算公式可简化为式(7)。(7)initialMCDD111S()()()nnnnnnnKTMDKeeSPPVSPPVT1nnSPSPCDCD111SS()()nnnnnnnKTKTMDSPPVSPPVPVPVTT式中:——微分时间常数;——第n-1采样时刻的给定值;——第n-1采样时刻的过程变量值。DT1nSP1nPV2.PID指令1)指令格式及梯形图PIDENTBLENOLOOP名称PID运算指令PID指令表格式PIDTBL,LOOP梯形图格式操作数TBLVB(BYTE型)LOOP常数(0~7)2)指令功能PID在EN端口执行条件存在时,运用回路表中的输入信息和组态信息,进行PID运算,编程极其简便。该指令有两个操作数:TBL和LOOP。其中TBL是回路表的起始地址,操作数限用VB区域;LOOP是回路号,可以是0到7的整数。在程序中最多可以用8条PID指令,PID回路指令不可重复使用同一个回路号(即使这些指令的回路表不同),否则会产生不可预料的结果。回路表包含9个参数,用来控制和监视PID运算。这些参数分别是过程变量当前值PV,过程变量前值,给定值SPn,输出值Mn,增益Kc,采样时间Ts,积分时间Ti,微分时间和积分项前值MX。36个字节的回路表格式见表。若要以一定的采样频率进行PID运算,采样时间必须输入到回路表中。且PID指令必须编入定时发生的中断程序中,或者在主程序中由定时器控制PID指令的执行频率。1nPVDTnPVnSPnMCKST过程变量给定值输出值增益采样时间偏移地址变量名数据类型变量类型描述0()实数输入必须在0.0~1.0之间4()实数输入必须在0.0~1.0之间8()实数输入/输出必须在0.0~1.0之间12()实数输入比例常数,可正可负16()实数输入单位为s,必须是正数PID指令回路表20()实数输入单位为min,必须是正数24()实数输入单位为min,必须是正数28()实数输入/输出必须在0.0~1.0之间32()实数输入/输出最近一次PID运算的过程变量值,必须在0.0~1.0之间偏移地址变量名数据类型变量类型描述ITDTMX1nPV积分时间微分时间积分项前值过程变量前值对于PID回路的控制,有些控制系统只需要比例、积分、微分其中的一种或两种控制类型。通过设置相关参数即可选择所需的回路控制类型。如只需要比例、微分回路控制,可以把积分时间常数设为无穷大。此时积分项为初值。只需要比例、积分回路控制,可以把微分时间常数置为0。只需要积分或微分回路,则可以把回路增益Kc设为0.0,在计算积分项和微分项时,系统把回路增益Kc当作1.0。一般情况下,比例、积分回路控制应用较多。微分控制的作用不宜过强,否则易引起系统的不稳定。3)PID回路指令控制方式S7-200系列PLC中,PID回路指令没有控制方式的设置,只要EN端有效就可以执行PID指令。PID指令执行称之为“自动”方式,PID指令不运行称之为“手动”的方式。当EN端口检测到一个正跳变(从0到1)信号,PID回路就从手动方式切换到自动方式。为达到无扰动切换,必须用手动方式将当前输入值填入回路表中的Mn栏,用来初始化输出值Mn,且PID指令对回路表中的值进行一系列操作,以保证手动方式无扰动地切换到自动方式。置给定值SPn=过程变量PVn。置过程变量前值=过程变量当前值PVn。置积分项前值MX=输出值Mn。1nPV4)回路输入输出变量的数值转换及其范围(1)回路输入变量的转换和归一化处理每个PID回路有两个输入变量,给定值SP和过程变量PV。给定值通常是一个固定的值,如温度控