STEP 7-MWIN32编程是基于Windows的应用,是西门子公司专门为SIMTIC S7-200系列PLC设计的。该功能强大,界面友好,并有方便的联机功能。用户可以利用该程序,也可以实现监控用户程序的执行状态,该是SIMATIC S7-200拥护不可缺少的工具
3.2.1安装STEP 7-MWIN32 V4.0
在开始安装的时候是选择语言界面,对于版本4.0来说,这时候没有选择中文的,但可以先选择其他语言,见图3-5。等安装好之后再进行语言的切换。
在安装的后,会出现一个界面,按照硬件的配置,我们需要用232通信电缆,采用PPI的通信,所以要选择PPI/PC Cable(PPI),这个时候在弹出来的窗选择端口地址,通信,一般选择默认就可以了,见图3-6。
如果想改变编程界面的语言,可在的主界面的工具栏中选择tools目录下选择option选项,在出现的界面中选择general,然后在右下角就可以选择中文了。见图3-7所示。
3.2.2 参数设置
块用来设置S7-200 CPU的选项和参数等。块更改后需要下载到CPU中,新的设置才能生效。块的设置如下,需要注意的是,PLC的地址默认是2,但本设计中需要 用到的地址是1,如图3-8。通信端口的设置,同样的,我们用到的地址是1,如图3-9所示。
图 3-9 通信端口设置
第四章 控制算法描述
4.1 PWM技术
脉宽调制(PWM)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在测量、通信、功率控制与变换的许多领域中。
PWM是一种对模拟电平进行数字编码的。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟的电平进行编码。PWM仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF) [16]。
本论文中采样周期和加热周期都是10秒。采样后,根据温差的大小进行PID调节,转化一个加热时间(0-10秒)作为下一个加热周期的加热时间。例如 温差大,加热时间就大,温差小,那么加热时间就小。程序采用的是粗调和微控两段式控制。在粗控调阶段,占空比恒为一。在微控制阶段,占空比就根据温差不停地变化。
4.2 PID控制程序设计
模拟量闭环控制的之一是PID控制,PID在工业领域的应用已经有60多年,现在依然广泛地被应用。人们在应用的中积累了许多的,PID的研究已经到达一个比较高的程度。
比例控制(P)是一种简单的控制。其控制器的输出与输入误差成比例关系。其特点是具有快速反应,控制及时,但不能余差。
在积分控制(I)中,控制器的输出与输入误差的积分成正比关系。积分控制可以余差,但具有滞后特点,不能快速对误差进行有效的控制。
在微分控制(D)中,控制器的输出与输入误差的微分(即误差的变化率)成正比关系。微分控制具有**作用,它能误差变化的趋势。避免较大的误差出现,微分控制不能余差。
PID控制,P、I、D各有自己的优点和缺点,它们一起使用的时候又和互相制约,但只有合理地选取PID值,就可以较高的控制[17]。
4.2.1 PID控制算法
如图4-1所示,PID控制器可调节回路输出,使达到状态。偏差e和输入量r、输出量c的关系:
(4.2)
控制器的输出为:
(4.3)
上式中, ——PID回路的输出;
——比例系数P;
——积分系数I;
——微分系数D;
PID调节器的传输函数为:
(4.4)
数字计算机处理这个函数关系式,必须将连续函数离散化,对偏差周期采样后,计算机输出值。其离散化的规律如表4-5所示:
表 4-5 模拟与离散形式
模拟形式 离散化形式
所以PID输出经过离散化后,它的输出方程为:
式4.8中,
称为比例项;
称为积分项;
称为微分项;
上式中,积分项 是包括个采样周期到当前采样周期的所有误差的累积值[17]。计算中,没有必要保留所有的采样周期的误差项,只需要保留积分项前值,计算机的处理就是按照这种思想。故可利用PLC中的PID指令实现位置式PID控制算法量[18]。
4.2.2 PID在PLC中的回路指令
现在很多PLC已经具备了PID功能,STEP 7 Micro/WIN就是其中之一有的是专用模块,有些是指令形式。西门子S7-200系列PLC中使用的是PID回路指令。见表4-7。
表4-7 PID回路指令
名称 PID运算
指令格式 PID
指令表格式 PID TBL,LOOP
梯形图
使用:当EN端口执行条件存在时候,就可进行PID运算。指令的两个操作数TBL和LOOP,TBL是回路表的起始地址,本文采用的是VB100,因 为一个PID回路占用了32个字节,所以VD100到VD132都被占用了。LOOP是回路号,可以是0~7,不可以重复使用。PID回路在PLC中的地址分配情况如表4-8所示。
表4-8 PID指令回路表
偏移地址 名称 数据类型 说明
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倍据转化。 传感器输入的电压经过EM231转换后,是一个整数值,他的值大小是实际温度的把A/D模拟量单元输出的整数值的10倍。但PID指令执行的数据必须是实数型,所以需要把整数转化成实数。使用指令DTR就可以了。如本设计中,是从AIW0读入温度被传感器转换后的数字量。其转换程序如下:
MOVW AIW0, AC1
DTR AC1, AC1
MOVR AC1, VD100
2) 实数的归一化处理
因为PID中除了采样时间和PID的三个参数外,其他几个参数都要求输入或输出值0.0~1.0之间,所以,在执行PID指令之前,必须把PV和SP的值作归一化处理。使它们的值都在0.0~1.0之间。归一化的公式如4.9:
(4.9)
式中, ——化的实数值;
——未化的实数值;
——补偿值或偏置,单极性为0.0,双极性为0.5;
——值域大小,为大允许值减去小允许值,单极性为32000.双极性为6400。
本文中采用的是单极性,故转换公式为:
(4.10)
因为温度经过检测和转换后,的值是实际温度的10倍,所以为了SP值和PV值在同一个数量值,我们输入SP值的时候应该是填写一个是实际温度10倍的 数,即想要设定目标控制温度为100℃时,需要输入一个1000。另外一种实现就是,在归一化的时候,值域大小可以缩小10倍,那么,填写目标温度的时候就可以把实际值直接写进去[19]。
3) 回路输出变量的数据转换
本设计中,利用回路的输出值来设定下一个周期内的加热时间。回路的输出值是在0.0~1.0之间,是一个化了的实数,在输出变量传送给D/A模拟量单元之前,必须把回路输出变量转换成相应的整数。这一是实数值化。
(4.11)
S7-200不提供直接将实数一步转化成整数的指令,必须先将实数转化成双整数,再将双整数转化成整数。程序如下:
ROUND AC1, AC1
DTI AC1, VW34
4.2.3 PID参数整定
PID参数整定就是确定调节器的比例系数P、积分时间Ti和和微分时间Td,的静态和动态特性,使的过渡达到为满意的指标要求。一般可以通过理论计算来确定,但误差太大。目前,应用多的还是工程整定法:如法、衰减曲线法、临界比例带法和反应曲线法。
法又叫现场凑试法,它不需要进先的计算和实验,而是根据运行,利用一组参数,根据反应曲线的效果不断地改变参数,对于温度控制,工程上已经有大量的,其规律如表4-12所示。
表 4-12温度控制器参数数据
被控变量 规律的选择 比例度 积分时间(分钟) 微分时间(分钟)
温度 滞后较大 20~60 3~10 0.5~3
实验凑试法的整定步骤为"先比例,再积分,后微分"。
1)整定比例控制
将比例控制作用由小变到大,观察各次响应,直至反应快、超调小的响应曲线。
2)整定积分环节
先将步骤1)中选择的比例系数减小为原来的50~80%,再将积分时间置一个较大值,观测响应曲线。然后减小积分时间,加大积分作用,并相应比例系数,反复试凑至较满意的响应,确定比例和积分的参数。
3)整定微分环节环节
先置微分时间TD=0,逐渐加大TD,同时相应地改变比例系数和积分时间,反复试凑至满意的控制效果和PID控制参数[20]。
根据反复的试凑,调出比的结果是P=120. I=3.0 D=1.0。
第五章 程序设计
5.1方案设计思路
PLC采用的是的S7-200,CPU是224系列,采用了5个灯来显示的状态,分别是运行灯,停止灯,温度正常灯,温度过高(警示灯)灯,和加热灯,可以通过5个灯的开关状况判断加热炉内的大概情况。K型传感器负责检测加热炉中的温度,把温度转化成对应的电压,经过PLC模数转换后进行 PID调节。根据PID输出值来控制下一个周期内(10s)内的加热时间和非加热时间。在加热时间内使得继电器接通,那加热炉就可处于加热状态,反之则停 止加热[21]。
1) 硬件连线如图5-1所示。
2) I/O点地址分配如表5-2所示。
地址 名称 功能
I0.1 启动按扭 按下开关,设备开始运行
I0.2 开关按钮 按下开关,设备停止运行
I0.3 保护按钮 按下开关,终止加热
Q0.0 运行灯 灯亮表示设备处于运行状态
Q0.1 停止灯 灯亮表示设备处于停止状态
Q0.3 温度状态指示灯(正常 灯亮表示炉温在正常范围内
Q0.4 温度状态指示灯(危险) 灯两表示炉温过高,处于危险状态
Q0.5 固态继电器 灯亮表示加热炉正处于加热阶段
3)程序地址分配如表5-3所示。