1硬件配置和软件环境3.1实验配置3.1.1西门子S7-200S7-200系列PLC可提供4种不同的基本单元和6种型号的扩展单元。其系统构成包括基本单元、扩展单元、编程器、存储卡、写入器、文本显示器等。本论文采用的是CUP224。它具有24个输入点和16个输出点。S7-200系列的基本单元如表3-1所示[13]。表3-1S7-200系列PLC中CPU22X的基本单元型号输入点输出点可带扩展模块数S7-200CPU221640S7-200CPU222862个扩展模块S7-200CPU22414107个扩展模块S7-200CPU224XP24167个扩展模块S7-200CPU22624167个扩展模块3.1.2传感器热电偶是一种感温元件,它直接测量温度,并把温度信号转换成热电动势信号。常用热电偶可分为标准热电偶和非标准热电偶两大类。所调用标准热电偶是指国家标准规定了其热电势与温度的关系、允许误差、并有统一的标准分度表的热电偶,它有与其配套的显示仪表可供选用。非标准化热电偶在使用范围或数量级上均不及标准化热电偶,一般也没有统一的分度表,主要用于某些特殊场合的测量。标准化热电偶我国从1988年1月1日起,热电偶和热电阻全部按IEC国际标准生产,并指定S、B、E、K、R、J、T七种标准化热电偶为我国统一设计型热电偶。本论文才用的是K型热电阻[14]。23.1.3EM231模拟量输入模块传感器检测到温度转换成0~41mv的电压信号,系统需要配置模拟量输入模块把电压信号转换成数字信号再送入PLC中进行处理。在这里,我们选用了西门子EM2314TC模拟量输入模块。EM231热电偶模块提供一个方便的,隔离的接口,用于七种热电偶类型:J、K、E、N、S、T和R型,它也允许连接微小的模拟量信号(±80mV范围),所有连到模块上的热电偶必须是相同类型,且最好使用带屏蔽的热电偶传感器。EM231模块需要用户通过DIP开关进行选择的有:热电偶的类型、断线检查、测量单位、冷端补偿和开路故障方向,用户可以很方便地通过位于模块下部的组态DIP开关进行以上选择,如图3-2所示。本设计采用的是K型热电偶,结合其他的需要,我们设置DIP开关为00100000。对于EM2314TC模块,SW1~SW3用于选择热电偶类型,见表3-3。SW4没有使用,SW5用于选择断线检测方向,SW6用于选择是否进行断线检测,SW7用于选择测量单位,SW8用于选择是否进行冷端补偿,见表3-4[15]。为了使DIP开关设置起作用,用户需要给PLC的电源断电再通电。图3-2EM231模块DIP开关3表3-3热电偶类型选择热电偶类型SWISW2SW3J(默认)000K001T010E011R100S101N110+/-80mv111表3-4热电偶其他设置DIP开关功能开/关状态SW5熔断方向正向标定0负定方向1SW6断线启动断线测量电流0禁止断线测量电流1SW7测量单位摄氏0华氏1SW8冷端启用冷端补偿启用0冷端补偿禁止13.2STEP7Micro/WIN32软件介绍STEP7-MWIN32编程软件是基于Windows的应用软件,是西门子公司专门为SIMTICS7-200系列PLC设计开发的。该软件功能强大,界面友好,并有方便的联机功能。用户可以利用该软件开发程序,也可以实现监控用户程序的执行状态,该软件是SIMATICS7-200拥护不可缺少的开发工具3.2.1安装STEP7-MWIN32V4.0在开始安装的时候是选择语言界面,对于版本4.0来说,这时候没有选择中文的,但可以先选择其他语言,见图3-5。等软件安装好之后再进行语言的切换。4图3-5语言选择界面在安装的最后,会出现一个界面,按照硬件的配置,我们需要用232通信电缆,采用PPI的通信方式,所以要选择PPI/PCCable(PPI),这个时候在弹出来的窗口中选择端口地址,通信模式,一般选择默认就可以了,见图3-6。图3-6通信设置界面如果想改变编程界面的语言,可在软件的主界面的工具栏中选择tools目录下选择option选项,在出现的界面中选择general,然后在右下角就可以选择中文了。见图3-7所示。5图3-7语言重设界面3.2.2系统参数设置系统块用来设置S7-200CPU的系统选项和参数等。系统块更改后需要下载到CPU中,新的设置才能生效。系统块的设置如下,需要注意的是,PLC的地址默认是2,但本设计中需要用到的地址是1,如图3-8。通信端口的设置,同样的,我们用到的地址是1,如图3-9所示。6图3-8“系统块对话框”图3-9通信端口设置7控制算法描述4.1PWM技术脉宽调制(PWM)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在测量、通信、功率控制与变换的许多领域中。PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)[16]。本论文中采样周期和加热周期都是10秒。采样后,根据温差的大小进行PID调节,转化得到一个加热时间(0-10秒)作为下一个加热周期的加热时间。例如温差大,加热时间就大,温差小,那么加热时间就小。程序采用的是粗调和微控两段式控制方式。在粗控调阶段,占空比恒为一。在微控制阶段,占空比就根据温差不停地变化。4.2PID控制程序设计模拟量闭环控制较好的方法之一是PID控制,PID在工业领域的应用已经有60多年,现在依然广泛地被应用。人们在应用的过程中积累了许多的经验,PID的研究已经到达一个比较高的程度。比例控制(P)是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。其特点是具有快速反应,控制及时,但不能消除余差。在积分控制(I)中,控制器的输出与输入误差信号的积分成正比关系。积分控制可以消除余差,但具有滞后特点,不能快速对误差进行有效的控制。在微分控制(D)中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。微分控制具有超前作用,它能预测误差变化的趋势。避免较大的误差出现,微分控制不能消除余差。PID控制,P、I、D各有自己的优点和缺点,它们一起使用的时候又和8互相制约,但只有合理地选取PID值,就可以获得较高的控制质量[17]。4.2.1PID控制算法图4-1带PID控制器的闭控制系统框图如图4-1所示,PID控制器可调节回路输出,使系统达到稳定状态。偏差e和输入量r、输出量c的关系:c(t)-r(t)=e(t)(4.2)控制器的输出为:tdiPdttdeTdtteTteKtu0)()(1)()((4.3)上式中,)(tu——PID回路的输出;Kp——比例系数P;iT——积分系数I;dT——微分系数D;PID调节器的传输函数为:STSTKSESUSDdiP11)()()((4.4)数字计算机处理这个函数关系式,必须将连续函数离散化,对偏差周期采样后,计算机输出值。其离散化的规律如表4-5所示:9表4-5模拟与离散形式模拟形式离散化形式)()()(tctrte)()()(ncnrnedTtde)(Tnene)1()(tdtte0)(niniieTTie00)()(所以PID输出经过离散化后,它的输出方程为:000)()()()1()()()()(unununuuneneTTieTTneKnudiPnidiP(4.6)式4.8中,)()(neKnuPP称为比例项;niipiieTTKnu0)()(称为积分项;)1()()(neneTTKnudpd称为微分项;上式中,积分项nie1i)(是包括第一个采样周期到当前采样周期的所有误差的累积值[17]。计算中,没有必要保留所有的采样周期的误差项,只需要保留积分项前值,计算机的处理就是按照这种思想。故可利用PLC中的PID指令实现位置式PID控制算法量[18]。4.2.2PID在PLC中的回路指令现在很多PLC已经具备了PID功能,STEP7Micro/WIN就是其中之一有的是10专用模块,有些是指令形式。西门子S7-200系列PLC中使用的是PID回路指令。见表4-7。表4-7PID回路指令名称PID运算指令格式PID指令表格式PIDTBL,LOOP梯形图使用方法:当EN端口执行条件存在时候,就可进行PID运算。指令的两个操作数TBL和LOOP,TBL是回路表的起始地址,本文采用的是VB100,因为一个PID回路占用了32个字节,所以VD100到VD132都被占用了。LOOP是回路号,可以是0~7,不可以重复使用。PID回路在PLC中的地址分配情况如表4-8所示。表4-8PID指令回路表偏移地址名称数据类型说明0过程变量(PVn)实数必须在0.0~1.0之间4给定值(SPn)实数必须在0.0~1.0之间8输出值(Mn)实数必须在0.0~1.0之间12增益(Kc)实数比例常数,可正可负16采样时间(Ts)实数单位为s,必须是正数20采样时间(Ti)实数单位为min,必须是正数24微分时间(Td)实数单位为min,必须是正数28积分项前值(MX)实数必须在0.0~1.0之间32过程变量前值(PVn-1)实数必须在0.0~1.0之间1)回路输入输出变量的数值转换方法本文中,设定的温度是给定值SP,需要控制的变量是炉子的温度。但它不完全是过程变量PV,过程变量PV和PID回路输出有关。在本文中,经过测量的温度信号被转化为标准信号温度值才是过程变量,所以,这两个数不在同一个数量值,需要他们作比较,那就必须先作一下数据转换。温度输入变量的数10倍据转化。11传感器输入的电压信号经过EM231转换后,是一个整数值,他的值大小是实际温度的把A/D模拟量单元输出的整数值的10倍。但PID指令执行的数据必须是实数型,所以需要把整数转化成实数。使用指令DTR就可以了。如本设计中,是从AIW0读入温度被传感器转换后的数字量。其转换程序如下:MOVWAIW0,AC1DTRAC1,AC1MOVRAC1,VD1002)实数的归一化处理因为PID中除了采样时间和PID的三个参数外,其他几个参数都要求输入或输出值0.0~1.0之间,所以,在执行PID指令之前,必须把PV和SP的值作归一化处理。使它们的值都在0.0~1.0之间。归一化的公式如4.9:estpanrawnoumOffSRR/(4.9)式中,noumR——标准化的实数值;rawR——未标准化的实数值;panS——补偿值或偏置,单极性为0.0,双极性为0.5;estOff——值域大小,为最大允许值减去最小允许值,单极性为32000.双极性为6400。本文中采用的是单极性,故转换公式为:)32000/(rawnoumRR(4.10)因为温度经过检测和转换后,得到的值是实际温度的10倍,所以为了SP值和PV值在同一个数量值,我们输入SP值的时候应该是填写一个是实际温度10倍的数,即想要设定目标控制温度为100℃时,需要输入一个1000。另外一种实12现方法就是,在归一化的时候,值域大小可以缩小10倍,那么,填写目标温度的时候就可以把实际值直接写进去[19]。3)回路输出变量的数据转换本设计中,利用回路的输出值来设定下一个周期内的加热时间。回路的输出值是在0.0~1.0之间,是一个标准化了的实数,在输出变量传送给D/A模拟量单元之前,必须把回路输出变量转换成相应的整数。这一过程是实数值标准化过程。SpanOffMRestnscal)((4.11)S7-200不提供直接将实数一步转化成整数的指令,必须先将实数转化成双整数,再将双整数转化成整数。程序如下:ROUNDAC1,AC1DTIAC1,VW344.2.3PID参数整定PID参数整定方法就是确定调节器的比例系数P、积分时间Ti和和微分时间Td,改善系统的静态和动态特性,使系统的过渡过程达到最为满意的质量指标要