S7200温度控制.docx
《S7200温度控制.docx》由会员分享,可在线阅读,更多相关《S7200温度控制.docx(48页珍藏版)》请在冰豆网上搜索。
S7200温度控制
硬件配置和软件环境
实验配置
西门子S7-200
S7-200系列PLC可提供4种不同的基本单元和6种型号的扩展单元。
其系统构成包括基本单元、扩展单元、编程器、存储卡、写入器、文本显示器等。
本论文采用的是CUP224。
它具有24个输入点和16个输出点。
S7-200系列的基本单元如表3-1所示[13]。
表3-1S7-200系列PLC中CPU22X的基本单元
\
型号
输入点
输出点
可带扩展模块数
@
S7-200CPU221
6
4
0
S7-200CPU222
8
6
2个扩展模块
S7-200CPU224
14
;
10
7个扩展模块
S7-200CPU224XP
24
16
】
7个扩展模块
S7-200CPU226
24
16
7个扩展模块
~
传感器
热电偶是一种感温元件,它直接测量温度,并把温度信号转换成热电动势信号。
常用热电偶可分为标准热电偶和非标准热电偶两大类。
所调用标准热电偶是指国家标准规定了其热电势与温度的关系、允许误差、并有统一的标准分度表的热电偶,它有与其配套的显示仪表可供选用。
非标准化热电偶在使用范围或数量级上均不及标准化热电偶,一般也没有统一的分度表,主要用于某些特殊场合的测量。
标准化热电偶我国从1988年1月1日起,热电偶和热电阻全部按IEC国际标准生产,并指定S、B、E、K、R、J、T七种标准化热电偶为我国统一设计型热电偶。
本论文才用的是K型热电阻[14]。
EM231模拟量输入模块
传感器检测到温度转换成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热电偶类型选择
热电偶类型
}
SWI
SW2
SW3
J(默认)
0
%
0
0
K
0
0
$
1
T
0
1
0
E
0
1
1
R
)
1
0
0
S
1
.
0
1
N
1
1
)
0
+/-80mv
1
1
1
…
表3-4热电偶其他设置
DIP开关
|
功能
开/关状态
SW5
熔断方向
正向标定
]
0
负定方向
1
<
SW6
断线
启动断线测量电流
0
禁止断线测量电流
1
SW7
测量单位
》
摄氏
0
华氏
/
1
SW8
冷端启用
冷端补偿启用
0
冷端补偿禁止
1
#
STEP7Micro/WIN32软件介绍
STEP7-MWIN32编程软件是基于Windows的应用软件,是西门子公司专门为SIMTICS7-200系列PLC设计开发的。
该软件功能强大,界面友好,并有方便的联机功能。
用户可以利用该软件开发程序,也可以实现监控用户程序的执行状态,该软件是SIMATICS7-200拥护不可缺少的开发工具
安装STEP7-MWIN32
在开始安装的时候是选择语言界面,对于版本来说,这时候没有选择中文的,但可以先选择其他语言,见图3-5。
等软件安装好之后再进行语言的切换。
·
图3-5语言选择界面
;
在安装的最后,会出现一个界面,按照硬件的配置,我们需要用232通信电缆,采用PPI的通信方式,所以要选择PPI/PCCable(PPI),这个时候在弹出来的窗口中选择端口地址,通信模式,一般选择默认就可以了,见图3-6。
图3-6通信设置界面
》
如果想改变编程界面的语言,可在软件的主界面的工具栏中选择tools目录下选择option选项,在出现的界面中选择general,然后在右下角就可以选择中文了。
见图3-7所示。
&
图3-7语言重设界面
系统参数设置
系统块用来设置S7-200CPU的系统选项和参数等。
系统块更改后需要下载到CPU中,新的设置才能生效。
系统块的设置如下,需要注意的是,PLC的地址默认是2,但本设计中需要用到的地址是1,如图3-8。
通信端口的设置,同样的,我们用到的地址是1,如图3-9所示。
;
)
¥
图3-8“系统块对话框”
;
图3-9通信端口设置
控制算法描述
#
PWM技术
脉宽调制(PWM)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在测量、通信、功率控制与变换的许多领域中。
PWM是一种对模拟信号电平进行数字编码的方法。
通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。
PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)[16]。
本论文中采样周期和加热周期都是10秒。
采样后,根据温差的大小进行PID调节,转化得到一个加热时间(0-10秒)作为下一个加热周期的加热时间。
例如温差大,加热时间就大,温差小,那么加热时间就小。
程序采用的是粗调和微控两段式控制方式。
在粗控调阶段,占空比恒为一。
在微控制阶段,占空比就根据温差不停地变化。
PID控制程序设计
》
模拟量闭环控制较好的方法之一是PID控制,PID在工业领域的应用已经有60多年,现在依然广泛地被应用。
人们在应用的过程中积累了许多的经验,PID的研究已经到达一个比较高的程度。
比例控制(P)是一种最简单的控制方式。
其控制器的输出与输入误差信号成比例关系。
其特点是具有快速反应,控制及时,但不能消除余差。
在积分控制(I)中,控制器的输出与输入误差信号的积分成正比关系。
积分控制可以消除余差,但具有滞后特点,不能快速对误差进行有效的控制。
在微分控制(D)中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。
微分控制具有超前作用,它能预测误差变化的趋势。
避免较大的误差出现,微分控制不能消除余差。
PID控制,P、I、D各有自己的优点和缺点,它们一起使用的时候又和互相制约,但只有合理地选取PID值,就可以获得较高的控制质量[17]。
{
PID控制算法
)
图4-1带PID控制器的闭控制系统框图
如图4-1所示,PID控制器可调节回路输出,使系统达到稳定状态。
偏差e和输入量r、输出量c的关系:
控制器的输出为:
¥
上式中,
——PID回路的输出;
——比例系数P;
——积分系数I;
——微分系数D;
>
PID调节器的传输函数为:
数字计算机处理这个函数关系式,必须将连续函数离散化,对偏差周期采样后,计算机输出值。
其离散化的规律如表4-5所示:
—
表4-5模拟与离散形式
模拟形式
离散化形式
|
】
所以PID输出经过离散化后,它的输出方程为:
'
式中,
称为比例项;
称为积分项;
称为微分项;
上式中,积分项
是包括第一个采样周期到当前采样周期的所有误差的累积值[17]。
计算中,没有必要保留所有的采样周期的误差项,只需要保留积分项前值,计算机的处理就是按照这种思想。
故可利用PLC中的PID指令实现位置式PID控制算法量[18]。
【
PID在PLC中的回路指令
现在很多PLC已经具备了PID功能,STEP7Micro/WIN就是其中之一有的是专用模块,有些是指令形式。
西门子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)
实数
必须在~之间
4
]
给定值(SPn)
实数
必须在~之间
8
输出值(Mn)
}
实数
必须在~之间
12
增益(Kc)
实数
'
比例常数,可正可负
16
采样时间(Ts)
实数
单位为s,必须是正数
!
20
采样时间(Ti)
实数
单位为min,必须是正数
24
!
微分时间(Td)
实数
单位为min,必须是正数
28
积分项前值(MX)
(
实数
必须在~之间
32
过程变量前值(PVn-1)
实数
…
必须在~之间
1)回路输入输出变量的数值转换方法
本文中,设定的温度是给定值SP,需要控制的变量是炉子的温度。
但它不完全是过程变量PV,过程变量PV和PID回路输出有关。
在本文中,经过测量的温度信号被转化为标准信号温度值才是过程变量,所以,这两个数不在同一个数量值,需要他们作比较,那就必须先作一下数据转换。
温度输入变量的数10倍据转化。
传感器输入的电压信号经过EM231转换后,是一个整数值,他的值大小是实际温度的把A/D模拟量单元输出的整数值的10倍。
但PID指令执行的数据必须是实数型,所以需要把整数转化成实数。
使用指令DTR就可以了。
如本设计中,是从AIW0读入温度被传感器转换后的数字量。
其转换程序如下:
`
MOVWAIW0,AC1
DTRAC1,AC1
MOVRAC1,VD100
2)实数的归一化处理
#
因为PID中除了采样时间和PID的三个参数外,其他几个参数都要求输入或输出值~之间,所以,在执行PID指令之前,必须把PV和SP的值作归一化处理。
使它们的值都在~之间。
归一化的公式如:
()
式中,
——标准化的实数值;
——未标准化的实数值;
——补偿值或偏置,单极性为,双极性为;
【
——值域大小,为最大允许值减去最小允许值,单极性为32000.双极性为6400。
本文中采用的是单极性,故转换公式为:
()
:
因为温度经过检测和转换后,得到的值是实际温度的10倍,所以为了SP值和PV值在同一个数量值,我们输入SP值的时候应该是填写一个是实际温度10倍的数,即想要设定目标控制温度为100℃时,需要输入一个1000。
另外一种实现方法就是,在归一化的时候,值域大小可以缩小10倍,那么,填写目标温度的时候就可以把实际值直接写进去[19]。
3)回路输出变量的数据转换
本设计中,利用回路的输出值来设定下一个周期内的加热时间。
回路的输出值是在~之间,是一个标准化了的实数,在输出变量传送给D/A模拟量单元之前,必须把回路输出变量转换成相应的整数。
这一过程是实数值标准化过程。
@
()
S7-200不提供直接将实数一步转化成整数的指令,必须先将实数转化成双整数,再将双整数转化成整数。
程序如下:
ROUNDAC1,AC1
&
DTIAC1,VW34
PID参数整定
PID参数整定方法就是确定调节器的比例系数P、积分时间Ti和和微分时间Td,改善系统的静态和动态特性,使系统的过渡过程达到最为满意的质量指标要求。
一般可以通过理论计算来确定,但误差太大。
目前,应用最多的还是工程整定法:
如经验法、衰减曲线法、临界比例带法和反应曲线法。
经验法又叫现场凑试法,它不需要进行事先的计算和实验,而是根据运行经验,利用一组经验参数,根据反应曲线的效果不断地改变参数,对于温度控制系统,工程上已经有大量的经验,其规律如表4-12所示。
{
表4-12温度控制器参数经验数据
被控变量
规律的选择
/
比例度
积分时间(分钟)
微分时间(分钟)
温度
滞后较大
~
20~60
3~10
~3
】
实验凑试法的整定步骤为"先比例,再积分,最后微分"。
1)整定比例控制
将比例控制作用由小变到大,观察各次响应,直至得到反应快、超调小的响应曲线。
2)整定积分环节
先将步骤1)中选择的比例系数减小为原来的50~80%,再将积分时间置一个较大值,观测响应曲线。
然后减小积分时间,加大积分作用,并相应调整比例系数,反复试凑至得到较满意的响应,确定比例和积分的参数。
3)整定微分环节环节
先置微分时间TD=0,逐渐加大TD,同时相应地改变比例系数和积分时间,反复试凑至获得满意的控制效果和PID控制参数[20]。
根据反复的试凑,调出比较好的结果是P=120.I=D=。
'
[
^
@
第五章程序设计
方案设计思路
PLC采用的是的S7-200,CPU是224系列,采用了5个灯来显示过程的状态,分别是运行灯,停止灯,温度正常灯,温度过高(警示灯)灯,和加热灯,可以通过5个灯的开关状况判断加热炉内的大概情况。
K型传感器负责检测加热炉中的温度,把温度信号转化成对应的电压信号,经过PLC模数转换后进行PID调节。
根据PID输出值来控制下一个周期内(10s)内的加热时间和非加热时间。
在加热时间内使得继电器接通,那加热炉就可处于加热状态,反之则停止加热[21]。
1)硬件连线如图5-1所示。
…
图5-1硬件连线图
/
2)I/O点地址分配如表5-2所示。
《
;
表5-2I/O点地址分配
地址
名称
功能
\
启动按扭
按下开关,设备开始运行
开关按钮
、
按下开关,设备停止运行
保护按钮
按下开关,终止加热
)
运行灯
灯亮表示设备处于运行状态
停止灯
灯亮表示设备处于停止状态
~
温度状态指示灯(正常
灯亮表示炉温在正常范围内
温度状态指示灯(危险)
·
灯两表示炉温过高,处于危险状态
固态继电器
灯亮表示加热炉正处于加热阶段
@
3)程序地址分配如表5-3所示。
表5-3内存地址分配
地址
说明
`
VD0
用户设定比例常数P存放地址
VD4
用户设定积分常数I存放地址
VD8
~
用户设定微分常数D存放地址
VD12
目标设定温度存放地址
VD16
系统运行时间秒存放地址
|
VD20
系统运行时间分钟存放地址
VD30
当前实际温度存放地址
VW34
-
一个周期内加热时间存放地址
VW36
一个周期内非加热时间存放地址
4)PID指令回路表如表5-4所示。
》
表5-4PID指令回路表
地址
名称
说明
【
VD100
过程变量(PVn)
必须在~之间
VD104
给定值(SPn)
&
必须在~之间
VD108
输出值(Mn)
必须在~之间
VD112
^
增益(Kc)
比例常数,可正可负
VD116
采样时间(Ts)
单位为s,必须是正数
)
VD120
采样时间(Ti)
单位为min,必须是正数
VD124
微分时间(Td)
—
单位为min,必须是正数
VD128
积分项前值(MX)
必须在~之间
VD132
@
过程变量前值(PVn-1)
必须在~之间
程序流程图
;
程序流程图如图5-5所示,1个主程序,3个子程序。
温度高于限制温度
温度低于限制温度
、
温度小于限制温度
图5-5程序流程图
)
助记符语言表
主程序
>
LD84℃到VD4
MOVR,VD8
主程序
//使停止指示灯亮
//使加热运行灯亮
//调用子程序0
//调用子程序1
//每10秒接通1次
'
//每10秒调用1次子程序2
//T51不接通时处于加热状态
//每10秒接通一次
//调用子程序1
//调用子程序0
¥
子程序0
//温度小于84度,接通,,关闭
//温度小于84度,接通,,关闭
//设定温度
:
//D值
//I值
//P值
//把D值传进PID回路
¥
//把P值传进PID回路
//把采样时间传进PID回路
//把设定温度传进PID回路
子程序2
//计算运行时间,单位分
\
//得到下一周期的加热时间
//得到下一周期的不加热时间
//对PID回路的输出值进行归一化处理
//计算运行时间,单位秒
#
//调用PID回路
MI/MMI翻译为人机接口软件,SCADA翻译为监视控制和数据采集软件。
国内外的主要产品有wonderware公司的InTouch软件,Intellution公司的FIX软件,CIT公司的Citech软件,Simens公司的Wincc软件,亚控公司的组态王,华富计算机公司的Controx软件,力控公司的ForceControl软件和北京昆仓公司的MCGS软件[22]。
组态王的介绍
组态王开发监控系统软件是众多组态软件里面的一种,组态王是一个具有丰富功能的HMI/SCADA软件。
可用于工业自动化的过程控制和管理监控。
它提供了集成、灵活、易用的开发环境和广泛的功能,能够快速建立、测试和部署自动化应用,来连接、传递和记录实时信息。
使用户可以实时查看和控制工业生产过程。
该系统是中文界面,具有人机界面友好、结果可视化的优点。
对用户而言,操作简单易学且编程简单,参数输入与修改灵活,具有多次或重复仿真运行的控制能力,可以实时地显示参数变化前后系统的特性曲线,能很直观地显示控制系统的实时趋势曲线,这些很强的交互能力使其在自动控制系统的实验中可以发挥理想的效果[23]。
组态画面的建立
-
本论文的组态软件采用亚控公司的组态王版本。
组态软件提供了可视化监控画面,包括动画,实时趋势曲线,历史趋势曲线,实时数据报表,历史数据报表,实时报警窗口,历史报警窗口,配方管理等等的功能。
可方便地监视系统的运行。
并可在在线修改程序参数,有利于系统的性能发挥。
6.3.1创建项目
双击组态王的快捷方式,出现组态王的工程管理器窗口,双击新建按扭,按照弹出的建立向导,填写工程名称。
然后打开刚建立的工程。
进入组态画面的设计,如图所示。
.
图新建工程画面
1)新建画面
`
进入工程管理器后,在画面右方双击“先建”,新建画面,并设置画面属性,如图所示,包括画面名称,注释,画面位置,画面风格,画面类型和背景颜色等。
如下图。
点击确定,就会出现,画面就会自动打开。
画面的工具栏里面,可以选择工具箱,调色板,线形等在画面中显示,这些在画图的时候经常需要用上。
@
图新建画面
2)新建变量
要实现组态王对S7-200的在线监控,就先必须建立两者之间的联系,那就需要建立两者间的数据变量。
基本类型的变量可以分为“内存变量”和I/O变量两类。
内存变量是组态王内部的变量,不跟被监控的设备进行交换。
而I/O变量是两者之间互相交换数据的桥梁,S7-200和组态王的数据交换是双向的,一者的数据发生变化,另外一者的数据也跟着变化。
。
所以需要在创建连接前新建一些变量,如图所示。
本文中,PLC用内存VD30来存放当前的实际温度值。
并规定温度超过105℃为温度过高,立刻要作出相应警示信号。
·
点击工程管理器中的“数据词典”再双击右边窗口的新建,在出现的定义变量口中填写相应的要求项,并可在“报警定义”中设定报警,如图所示。
图定义画面变量设置
】
图定义变量报警
;
建立主画面
如图所示,在该画面中,仿真实物设备的连接,通过设置开关按扭和关闭按扭来控制系统的启动和停止。
旁边的指示灯,与对应绿色表示系统在运行,红色表示系统停止运行。
加热炉的指示灯是表示加热炉的加热状态,与对应绿色(亮),表示系统处于加热状态,黑色(暗)表示炉正处于加热状态。
炉子的温度可以在画面中显示出来。
】
图主画面设置
建立趋势曲线画面
实时趋势曲线可在工具箱中双击后在画面直接获得。
实时趋势曲线随时间变化自动卷动,可快速反应变量的新变化,但不能查询过去的情况,其画面时间跨度可以通过动画连接中“表示定义设置”,一个画面最多可以设置四条曲线,本文只需要用到两条曲线,绿色曲线表示设定的温度,红色曲线表示当前实际温度。
X方向表示时间,Y方向表示变量的量程百份比。
Y轴上不能直接出现实际的过程值,但可以通过工具箱的文本进行对应的标记,本文中设置了量程是200℃,故处的X方向表示100℃。
另外,在画面中设置了返回按扭,点击就可以返回到主画面。
如图所示。
。
`
图实时趋势曲线设置
历史趋势曲线可在图库管理器中得到。
历史趋势曲线可以查询查询过去的情况。
历史趋势曲线需要事先建立两个内存变量,分表是调整跨度和举动百分比。
调整跨度是为了设置画面跨度的时间。
以秒为单位,可以输入3600,,表示跨度为1个小时。
卷动百分比是为了控制一次卷动的时间跨度,最小值是0,最大值是100。
历史趋势曲线可设置8条曲线,本文只采用了两条。
X表示时间,Y表示百分比,需要另外标识实际的温度。
另外,画面中设置了炉温度的在某段时间内的最大值最小值和平均值,时间段可以在画面中通过按扭选择。
这里需要应用到一个函数,HTGetValueAtZone,例如,需要输出最小值,那么需要输入函数HTGetValueAtZone(历史曲线,2,"MinValue");,如图所示。
—
图历史趋势曲线设置
建立数据报表
]
1)建立实时数据报表
数据报表是反应生产过程中的数据、状态等,并对数据进行记录的一种重要形式。
数据报表有实时数据报表和历史数据报表,既能反应系统实时的运行情况,也能监测长期的系统运行状况。
在组态王的工具箱内选择“报表工具”,在数据报表画面中绘制报表,双击窗口灰色部分,在弹出的画面中填写控件名为“实时数据报表”,并设定行数和列数。
设置报表时间:
在B4,C4单元中分别输入“=Date($年,$月,$日)”和“=Time($时,$分,$秒)”,这样在系统运