西门子6ES7232-0HD22-0XA0技术数据
1 引言
控制系统广泛存在于化工、石油、造纸、制糖、制药等工业部门,从控制的角度来说,其过程的纯滞后时间与主导时间常数之比往往超过0.5,是大纯滞后过程。在设计控制系统时,需要对过程进行系统辨识,建立对象的数学模型。本文以中药提取罐作为控制对象、以s7-200 plc作为控制器和辨识器硬件,对中药提取温度控制对象进行系统辨识,建立其数学模型。
2 阶跃响应法
在经典的控制系统分析与设计中,通常采用传递函数来描述系统的动态特性。系统辨识就是要建立系统的传递函数。经典的传递函数辨识方法可以分为时域法和频域法两种。传递函数辨识的时域方法又包括阶跃响应法、脉冲响应法和矩形脉冲响应法等,其中以跃响应法为常用。阶跃响应法利用阶跃响应曲线对系统传递函数进行辨识,阶跃响应曲线即输入量作阶跃变化时,系统输出的变化曲线。利用阶跃响应曲线来确定传递函数的方法很多,常用的有近似法、半对数法、切线法、两点法和面积法等。两点法中古老也是有名的方法是küpfmüller方法,一阶惯性环节加纯滞后环节传递函数的模型参数k、t、τ可以直接从阶跃响应曲线上求得。
3 s7-200plc
s7-200plc是西门子公司开发的小型化的plc,它的用户程序中可以包括位逻辑、计数器、定时器、复杂数学运算以及与其它智能模块通讯等的指令,对于8个以下闭环的小型控制系统,它也能提供极具价格竞争力的解决方案。step7icro/win软件中包含了一个pid整定控制面板,它能够以图形的方式来监视pid回路,用于启动自整定序列,取消自整定序列,还可以将推荐整定值或者设计的整定值应用到实际控制中去。本文利用step7icro/win软件中的pid整定控制面板来输出阶跃信号,采集对象的阶跃响应信号并绘制阶跃响应曲线。
4中药提取罐温度控制数学模型的建立
4.1温度控制对象的传递函数
温度控制系统的实质是控制温度对象的热能吸收和或释放(本系统是通过蒸汽加热溶媒从药材中提取中药,可忽略化学反应及其可能的放热或吸热效应),由热能工程学以及传热学可知,温度对热能传递而言是一个大滞后量。忽略工业生产中的一些次要因素,设计控制系统时,可采用一阶惯性环节加纯滞后环节作为控制模型,其传递函数如下式:
img]yjtgongshi-1.jpg“/》(1)
4.2阶跃响应法中的两点法
据式(1)以及传递函数的定义有:
接着,在y(t)上选取两个坐标值(t1,y(t1))和(t2,y(t2)),只要求0,y(t1),y(t2)这三个数值之间有明显的差异即可。化为无因次曲线后得:
根据阶跃响应曲线,综合式(4)及式(7)就可以求出一阶惯性环节加纯滞后环节传递函数式(1)中的模型参数k、t、τ。
4.3阶跃响应曲线的获取
采用step 7icro/win软件编制包含pid控制器的 s7-200 plc应用程序。连接step7icro/win电脑与实体s7-200plc,启动plc运行,进入pid整定控制面板。pid整定控制面板图形显示区中用不同的颜色显示了过程变量、设定值和输出值相对于时间的函数。过程变量和设定值共同使用左侧的纵轴,输出值使用右侧的纵轴。pid整定控制面板中的设定值要设定为阶跃信号,过程变量即为阶跃响应信号,输出值为plc输出到执行器的命令信号。通过设置pid整定控制面板的相关参数,保证设定值及输出值均为阶跃信号以获取真实可靠的阶跃响应曲线。中药提取罐温度控制的阶跃响应曲线如图1所示。
图中红线是过程量即阶跃响应曲线,绿线是设定值即step7icro/win软件给plc的指令,蓝线是输出值即plc输出给辨识对象的阶跃信号。
4.4模型参数的计算
模型参数计算图如图2所示。
型参数计算图中,有效的辨识时间范围是120s~870s之间,阶跃信号plc内存储的值为:
δu=17408.00-6400.00=11008.00
图2 模型参数计算图系统稳态温度值对应plc内存储的值:
y(∞)= 17408.00 -14368.00=3040.00
于是:
k=0.276163
根据两点法选取点y(t1)=0.284以及点y(t2)=0.632,换算为plc内存储的值分别是:15231.16和16289.28;从图上读出相应的横坐标时间值大约是:434和298;据此计算:
t1=870-464=406s
t2=870-328=542s
终得到:
t=204s,τ=338s
于是对象的传递函数为:
5 结束语
系统辨识采用的是阶跃响应法中的两点法。从本质上说,两点法是一种图形的方法,在绘图读数时会带来误差,影响模型的精度;项目采用s7-200plc绘图,图形精度可以保证。但仍存在读图误差。
的pid控制器基于识别出来的对象模型进行设计,通过现场的调试,达到了由环境温度(调试投运时是21℃)上升到目标温度85℃历时17分钟,仅仅有0.8℃超调,温度误差±1℃的技术指标
三菱FX2N系列PLC的TO指令、FROM指令及实例FX2N-4AD应用程序
TO指令是从PLC对增设的特殊单元(如FX2N-4DA)缓冲存储器(BFM)写入数据的指令
TO,TOP:十六位连续执行和脉冲执行型指令
DTO,DTOP:三十二位连续执行和脉冲执行型指令
TO指令的编程格式:TO K1 K12 D0 K2
*K1:特殊模块的地址编号,只能用数值,范围:0---7
*K12:特殊模块的缓冲存储器起始地址编号,只能用数值,范围:0---32767
*D0:源寄存器起始地址编号,可以用T,C,D数值和位元件组合如K4X0
*K2:传送的点数,只能用数值。范围:1---32767
TOK1K12D0K2指令的作用是:将PLC的16位寄存器D0,D1的数值分别写入特殊单元(或模块)N0.1的缓冲寄存器(BFM)#12,#13中。
1、在特殊辅助继电器M8164闭合时,D8164内的数据做为传送点数。
2、特殊辅助继电器M8028断开状态,在TO指令执行时,自动进入中断禁止状态,输入中断和定时器中断不能执行。在这期间发生的中断只能等FROM指令执行完后开始执行。TO指令可以在中断程序中使用。
3、特殊辅助继电器M8028闭合状态,在TO指令执行时,如发生中断则执行中断程序,TO指令不能在中断程序中使用。
FROM指令是将PLC增设的特殊单元(如FX2N-4AD)缓冲存储器(BFM)的内容读到可编程控制器的指令
FROM、FROMP:十六位连续执行和脉冲执行型指令
DFROM、DFROMP:三十二位连续执行和脉冲执行型指令
读出指令FROM的编程格式:FROMK1K29D0K2
*K1:特殊模块的地址编号,只能用数值,范围:0---7
*K29:特殊模块的缓冲存储器起始地址编号,只能用数值,范围:0---32767
*D0:目标寄存器起始地址编号,可以用T,C,D和除X外的位元件组合如K4Y0
*K2:传送的点数,只能用数值。范围:1---32767
FROMK1K29D0K2指令的作用是:从特殊单元(或模块)N0.1的缓冲寄存器(BFM)#29,#30中读出16位数据传送至PLC的D0,D1寄存器里。
1、在特殊辅助继电器M8164闭合时,D8164内的数据做为传送点数。
2、特殊辅助继电器M8028断开状态,在FROM指令执行时,自动进入中断禁止状态,输入中断和定时器中断不能执行。在这期间发生的中断只能等FROM指令执行完后开始执行。FROM指令可以在中断程序中使用。
3、特殊辅助继电器M8028闭合状态,在FROM指令执行时,如发生中断则执行中断程序,FROM指令不能在中断程序中使用。
FX2N-4AD是将输入通道接收到的模拟信号转换成数字量,此模块有四个输入通道,大分辨率是12位。
FX2N-4AD:
1、可选用的模拟值范围是-10V到10VDC(分辨率:5mV),或者是4到20mA,-20mA到20mA(分辨率20μA)。
2、FX2N-4AD和FX2N主单元之间通过缓冲存储器交换数据,FX2N-4AD共有32个缓冲存储器(每个是16位数据)。
3、FX2N-4AD占用FX2N扩展总线的8个点。这8个点可以分配成输入或输出。FX2N-4AD消耗FX2N主单元或有源扩展单元5V电源槽30mA的电流。
缓冲存储器(BFM)的分配如下:
*#0:通道初始化,缺省值H0000。
*#1---#4:通道1---通道4的平均采样数(1---4096),用于得到平均结果。缺省值高设为8(正常速度),高速操作可选择1。
#5---#8:通道1---通道4采样数的平均输入值,即根据#1---#4规定的平均采样次数,得出所有采样的平均值。
#9---#12:通道1---通道4读入的当前值。
#13,#14:保留,用户不可以更改。
*#15:选择A/D转换速度,设为0(缺省值)则选择正常速度(15ms/通道);设为1则选择高速(15ms/通道)。
#16---#19:保留,用户不可以更改。
*#20:复位到缺省值和预设。缺省值为0。
*#21:禁止调整偏移、增益值。缺省值为(0,1)允许状态。
*#22:偏移,增益调整G4O4G3O3G2O2G1O1。
*#23:偏移值缺省值为0。
*#24:增益值缺省值为5000。
#25---#28:保留,用户不可以更改。
#29:错误状态。
#30:识别码K2010。
#31:禁用。
带*标志的缓冲区(如#0)可以用BFM写入指令TO从PLC写入。不带*标志的缓冲区(如#5)可以用BFM读出指令FROM读入到PLC。偏移的定义:当数字输出为0时的模拟量输入值。增益的定义:当数字量输出为+1000时的模拟量输入值。
实例如图:通道1与通道2用作电压输入,FX2N-4AD模块连接在特殊功能模块的0号位置,平均数设为4,PLC的D0,D1接收平均数字值。
1、读出识别码与K2010比较,如果识别码是K2010则表示。
PLC所连模块是FX2N-4AD,CMP指令将M1闭合(K2010等于D4)。
2、建立模拟输入通道#1,#2。#0缓冲区的作用是通道初始化,从低位到高位分别指定通道1、通道4,位的定义为:0--预设范围(-10V到10V)。1--预设范围(4mA到20mA)2--预设范围(-20mA到20mA);3---通道关闭。本例的H3300是关闭3,4通道,1,2通道设为模拟值范围是-10V到10VDC。
3、将4写入缓冲区#1,#2,即将通道1和通道2的平均采样数设为4,含义大概意思就是每读取4次将这4次的平均值写入#5,#6。
4、读取FX2N-4AD当前的状态,判断是否有错误。如果有错误M10---M22相应的位闭合。
5、如果没有错误,则读取#5,#6缓冲区(采样数的平均值)的值并保存到PLC寄存器D0,D1中。
PLC实现LED数码管动态扫描数据显示
PLC的数据显示功能一直是困扰PLC使用的难题。在PLC的应用中,经常要监测一些重要数据,但PLC的数据显示通常是使用外部显示设备,如显示屏或触摸屏,而这些显示设备的价格一般比较昂贵,对一些小型系统来说更浪费。如何显示PLC的数据,并尽可能做到高效率、高稳定性、抗干扰能力强、硬件投资少,是许多设计中需要考虑的问题。笔者使用的西门子S7-200PLC中有专门的指令控制LED数码管显示,SEGIN,OUT指令就是将IN端输入字节的低4位确定的16进制数自动转换为相对应的7段LED数码管各段的代码,并送到输出字节OUT端显示。若采用静态LED数码显示,PLC显示一位十进制数据需要7个输出点予以控制,如果要显示n位数据,则需要7n个输出点。使用这种方式对于显示数据的位数较多时,需要大量的输出点,而PLC的价格是以输入输出点数来计算的,这直接导致硬件成本的上升,鉴于此种原因,寻找一种廉价的显示技术就显得尤为必要。提出借鉴单片机的LED数码管动态扫捕显示原理,结合PLC周期性扫捕的特点,采用PLC直接输出数字量驱动数码管,将PLC开关量输出分为两部分,一部分用作数据输出,另一部分用作控制数码管公共端信号的输出。利用人眼的余辉效应,循环点亮每个数码管,本方法操作简单、成本低廉。
1 设计实现
所谓动态扫描就是利用PLC周期性扫描的特点,在编程时要做到每个周期只有一个数码管能够形成通电回路,从而得电点亮,因为一个扫描周期的时间过短,只有几十ms,人眼感觉每个数码管都是均匀通电亮着的,没有拖尾现象。
1.1 硬件设计
设计方法的硬件电路实现是一个起动按钮SB1和一个停止按钮SB2,两个数码管的a、b、c、d、e、f、g段分别连在一起,再与PLC的输出端Q0.0~Q0.7通过限流电阻连接,两个数码管的公共端com1和com2分别通过三极管由PLC的输出端Q1.0和Q1.1控制,其接线原理如图1所示。
图1 双数码管扫描显示PLC驱动电路
由PLC输出端Q1.0和Q1.1的高低电平控制处于开关工作状态的三极管,使数码管com1和com2端循环与PLC公共端M导通输出,分时选中不同的数码管,由PLC输出端Q0.0~Q0.7输出相应的数据再根据公共端信号使相应的数码管a、b、c、d、e、f、g段显示。通过软件编程可实现用一组起停按钮控制两组数码管显示相应的数据。
1.2 软件设计
通过两个软件设计实现同一硬件电路不同功能的实例来阐述设汁的软件实现。
1.2.1 软件设计实例1
此程序实现0~99s反复计数功能,按动SB1起动计数,按动SB2使计数停在计数所停位置,再按动启动按钮重新从0开始计数,计数到99后重新从0开始计数。该程序梯形图如图2所示。
图2 软件设计实例1的梯形图程序
以上软件对特殊存储器位SM0.5产生的1s的时钟脉冲计数,使用PLC数据运算、传送、转换的功能指令传送、处理变化的计数数据,用段译码SEG指令驱动7段数码管,由两个定时器分别产生周期为200ms、相互反相的时钟脉冲控制显示变化的计数数据。
1.2.2软件设计实例2
此程序实现50s功能,按动SB1起动计时,按动SB2停止计时,数码管熄灭,再按动启动按钮重新50s,计时到0s时,数码管自动熄灭。
2 结束语
设计主要是将一个两位数分成两组数据分别在十位和个位数码管上显示,程序采用循环控制方式,则一个扫描周期显示一组数据,即两组数据循环显示。假设程序扫描周期为100ms,定时器定时100ms,那么每组数据的更新周期为100×2=200ms,这样的显示频率足可以达到一般的工业控制要求,完全可以用作实时显示。同样,若显示多组数据,其数据线接法是一样的,只需增加控制数码管公共端信号的PLC输出点,PLC输出点数为7+n,n为数码管个数;软件稍加改动即可。笔者介绍的方法软、硬件设计均在实验室调试成功,完全满足设计要求,并且降低了硬件成本,取得了较好的效果。