• 西门子伺服电机1FL6042-1AF61-2LA1
  • 西门子伺服电机1FL6042-1AF61-2LA1
  • 西门子伺服电机1FL6042-1AF61-2LA1

产品描述

产品规格模块式包装说明全新品牌西门值+ 包装说明 全新 - 产品规格子 现场安装

西门子伺服电机1FL6042-1AF61-2LA1

适应性,而且PID控制器的结构典型、程序设计简单、工程上易于实现、参数调整方便。本文以西门子公司S7-200 PLC为例介绍PLC在PID闭环控制系统中的应用。

2 PLC实现PID控制的方式

用PLC对模拟量进行PID控制大致有如下几种方法:

(1)使用PID过程控制模块:这种模块的PID控制程序是PLC厂家设计的,并放在模块中,用户使用时只需要设置一些参数,使用起来非常方便。

(2)使用PID功能指令:它是用于PID控制的子程序,与模拟量输入/输出模块一起使用,可以得到类似于使用PID过程控制的效果,但价格便宜得多。如S7-200的PID指令。

(3)用自编的程序实现PID闭环控制:在没有PID过程控制模块和功能指令的情况下,仍希望采用某种改进的PID控制算法,此时用户需要自己编制PID控制程序。

本文以西门子S7-200 PLC为例,说明PID控制的原理及PLC的PID功能指令的使用及控制功能的实现。

3 PLC PID控制器的实现

3.1 PID控制器的数字化

PLC的PID控制器的设计是以连续的PID控制规律为基础,将其数字化,写成离散形式的PID方程,再根据离散方程进行控制程序的设计。

在连续系统中,典型的PID闭环控制系统如图1所示。图1中sp(t)是给定值;pv(t)为反馈量;c(t)为系统的输出量,PID控制器的输入/输出关系如式(1)所示:



式中:M(t)为控制器输出;Mo为输出的初始值;e(t)=sp(t)-pv(t)为误差信号;Kc为比例系数;T1为积分时间常数,TD为微分时间常数。等号右边**项分别是比例、积分、微分部分,它们分别与误差、误差的积分和微分成正比。如果取其中的1项或2项,可以组成P,PD或PI控制器。


设采样周期为TS,系统开始运行的时刻为t=0,用矩形积分来近似精确积分,用差分近似精确微分,将式1离散化,第n次采样时控制器的输出如式(2)所示:



式中:en-1为第n-1次采样时的误差值;K1为积分系数;KD为微分系数。

基于PLC的闭环控制系统如图2所示,图中虚线部分在PLC内,spn,pvn,en,Mn分别为模拟量sp(t),pv(t),e(t),M(t)在第n次采样的数字量。在许制系统中,可能只需要P,I,D中的1种或者2种控制类型。例如,可能只要求比例控制或比例与积分控制,通过设置参数可对回路控制类型进行选择。



3.2 输入输出变量的转换

PID控制有输入量2个:给定值sp和过程变量pv。给定值通常是固定值,过程变量通常是经过A/D转换和计算后得到的被控量的实测值。给定值和过程变量都是和被控对象有关的值,对于不同的系统,它们的大小、范围与工程单位有很大的不同。应用PLC的PID指令对这些量进行运算之前,必须将其转换成标准化的浮点数(实数)。同样,对于PID指令的输出,在将其送给D/A转换器之前,也需要进行转换。

3.2.1  回路输入的转换

首先,将给定值或A/D转换后得到的整数值由16位整数转换为浮点数,可以用下面的程序实现这种转换:



然后,将实数进一步转换成0.0~1.0之间的标准数,可用式3对给定值及过程变量进行标准化:

式中:RNorm为标准化实数值;RRaw为标准化前的值;offset为偏移量,对单极性变量为0.0,对双极性变量为0.5;Span为取值范围,等于变量的较大值减去较小值,单极性变量的典型值为32 000,双极性变量的典型值为64 000。

下面的程序将上述转换后得到的AC0中的双极性数(其中span=64 000)转换为0.0~1.0之间的实数的转换程序为:



3.2.2  回路输出的转换

回路输出即PID控制器的输出,它是标准化的0.0~1.0之间的实数。将回路输出送给D/A转换器之前,必须转换成16位二进制数,这一过程是将pv与sp转换成标准化数值的逆过程。

用下面的式(4)将回路输出转换为实数:



式中,RScal是回路输出对应的实数值;Mn是回路输出标准化的实数值。

将回路输出转换为对应的实数的程序为:



将代表回路输出的实数转化为16位整数的指令为:   


4 PID指令及其回路表

S7-200的PID指令如图3所示。

指令中TBL是回路表的起始地址,LOOP是回路编号。编译时如果指令*的回路表起始地址或回路号超出范围,CPU将生成编译错误(范围错误),引起编译失败。PID指令对回路表中的某些输入值不进行范围检查,应保证过程变量、给定值等不超限。回路表如表1所示:   
过程变量与给定值是PID运算的输入值,在回路表中他们只能被PID指令读取而不能改写。每次完成PID运算后,都要更新回路表内的输入值Mn,它被限制在0.0~1.0之间。
如果PID指令中的算术运算发生错误,特殊存储器位SM 1.1(溢出或非法数值)被置为1,并将中止PID指令的执行,想要这种错误,在下一次执行PID运算之前,应改变引起运算错误的输入值,而不是更新输出值。
5 PID指令编程举例
温度控制是工业生产过程中很重要的一种控制。温度控制系统一般具有大惯性、大延时的特点。在工业控制中,难以建立温度系统的精确数学模型,而应用模拟或数字式PID闭环控制往往能获得较好的控制精度。
本例采用PID控制器,温度给定值经标准化处理后为0.8,选取控制器参数初值为:Kc=0.2,Ts=0.05 s,TI=20 min,TD=10 min。控制程序如下:
6 结  语
本文针对西门子S7-200 PLC在PID闭环控制系统中的应用,介绍PID数字控制器的原理、实现方法和编程实例。需要指出的是,PID控制算法具有很强的灵活性,根据被控对象特点的不同,可以使用PI控制、PD控制、PID控制等多种形式,从而达到更好的控制效果。随着智能控制技术的发展,PID控制与模糊控制、神经网络控制等现代控制方法的结合,可以实现PID控制器的参数自整定,使PID控制器具有经久不衰的生命力

200属于小型机,300属于中型机,小型机也是多功能机,将所有功能结合在一起,它的控制规模为大512点,CPU的运算处理速度不及中大型机快,小型机多为整体式的,扩展模块多可加8块,适用于小型设备,性价比高;中大型机结构是模块化的,多可加300多块扩展模块,中大型机硬件较贵,成本高,但其运算处理速度快,有很强的通信功能,主要应用于中大型生产线,如行业,造纸行业,钢铁行业,汽车生产线,大型*空调,污水处理等,中国的中大型机以西门子的300和400为主,西门子的产品性能稳定,网络通信功能强大,程序简单,性价比高。 

硬件区别1

主要地区别就是S7-300/400更模块化了,S7-200系列是整体式的,CPU模块、I/O模块和电源模块都在一个模块内,称为CPU模块;而S7-300/400系列的,从电源,I/O,CPU都是单独模块的。但是这么说容易让人误解200系列不能扩展,实际上200系列也可以扩展,只不过买来的CPU模块集成了部分功能,一些小型系统不需要另外定制模块,200系列的模块也有信号、通信、位控等模块。

2

200系列的对机架没有什么概念,称之为导轨;为了便于分散控制,300/400系列的模块装在一根导轨上的,称之为一个机架,与*机架对应的是扩展机架,机架还在软件里反映出来。

3

200系列的同一机架上的模块之间是通过模块正上方的数据接头的;而300/400则是通过在底部的U型总线连接器连接的。

4

300/400系列的I/O输入是接在前连接器上的,前连接器再接在信号模块上,而不是I/O信号直接接在信号模块上,这样可以更换信号模块而不用重新接线。

5

300/400系列的CPU带有profibus(profibus是一种化.开放式.不依赖于设备生产商的现场总线标准)接口。

 

软件区别1

200系列用的STEP7-Micro/WIN32软件;300/400使用的是STEP7软件,带了Micro和不带的区别是相当的明显的。

2

200系列的编程语言有三种--语句表(STL)、梯形图(LAD)、功能块图(FBD);300/400系列的除了这三种外,还有结构化控制语言(SCL)和图形语言(S7 graph)。

3

300/400软件大的特点就是提供了一些数据块来对应每一个功能块( Block-FB),称之为Instance。

4

300/400再也不能随意的自定义Organization Block、sub-routine和Interrupt routine了,现在OB1惟我*尊了,没事系统只能调用它了,其它的什么东东则变成了FB- Block和FC-,其它的也是预定义成了系统的了,System的S给它们(SFB、SFC)定义了自己的身份。

5

300/400中提供了累加器(ACCU)和状态字寄存器、诊断缓冲区


http://zhangqueena.b2b168.com

产品推荐