西门子6ES7222-1HD22-0XA0正规授权
- 供应商
- 浔之漫智控技术-西门子PLC代理商
- 认证
- 手机号
- 15221406036
- 经理
- 聂航
- 所在地
- 上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
- 更新时间
- 2024-05-08 07:10
西门子6es7222-1hd22-0xa0正规授权
1 引言
在工业生产中,常需要用闭环控制方式来实现温度、压力、liuliang等连续变化的模拟量控制。无论使用模拟控制器的模拟控制系统,还是使用计算机(包括plc)的数字控制系统,pid控制都得到了广泛的应用。
pid控制器是比例-积分-微分控制的简称,具有
(1) 不需要jingque的控制系统数学模型;
(2) 有较强的灵活性和适应性;
(3)结构典型、程序设计简单,工程上易于实现,参数调整方便等优点。积分控制可以消除系统的静差,微分控制可以改善系统的动态相应速度,比例、积分、微分三者有效地结合可以满足不同的控制要求。
2 plc实现pid的控制方式
2.1 pid过程控制模块
这种模块的pid控制程序是plc生产厂家设计的,并存放在模块中,用户使用时序要设置一些参数,使用起来非常方便,一个模块可以控制几路甚至几十路闭环回路。
2.2 pid功能指令
现在很多plc都有供pid控制用的功能指令,如s7-200的pid指令。它们实际上是用于pid控制的子程序,与模拟量输入/输出模块一起使用,可以得到类似于使用pid过程控制模块的效果。
2.3 用自编的程序实现pid闭环控制
有的plc没有pid过程控制模块和pid控制用的功能指令,有时虽然可以使用pid控制指令,但是希望采用某种改进的pid控制算法。在上述情况下都需要用户自己编制pid控制程序。
3 plc-pid控制器的实现
本文以西门子s7-200plc为例,说明pid控制的原理及plc的pid功能指令的使用及控制功能的实现。
3.1 pid控制器的数字化
plc的pid控制器的设计是以连续系统的pid控制规律为基础,将其数字化写成离散形式的pid控制方程,再跟据离散方程进行控制程序设计。
在连续系统中,典型的pid闭环控制系统如图1所示。图1中sp(t)是给定值,pv(t)是反馈量,c(t)是系统的输出量,pid控制的输入输出关系式为:
式中:
m(t)—控制器的输出量,m0为输出的初始值;
e(t)=sp(t)-pv(t)-误差信号;
kc比例系数;
ti-积分时间常数;
td-微分时间常数。
图1 连续闭环控制系统方框图
式(1)的右边前3项分别是比例、积分、微分部分,它们分别与误差,误差的积分和微分成正比。如果取其中的一项或两项,可以组成p、pd或pi控制器。
假设采样周期为ts,系统开始运行的时刻为t=0,用矩形积分来近似jingque积分,用差分近似分,将公式1离散化,第n次采样时控制器的输出为: (2)
式中:
en-1-第n-1次采样时的误差值;
ki-积分系数;
kd-微分系数。
基于plc的闭环控制系统如图2所示。图中的虚线部分在plc内。其中spn、pvn、en、mn分别为模拟量在sp(t)、pv(t)、e(t)、m(t)在第n次采样时的数字量。
图2 plc闭环控制系统方框图
在许多控制系统内,可能只需要p、i、d中的一种或两种控制类型。如可能只要求比例控制或比例与积分控制,通过设置参数可对回路进行控制类型进行选择。
3.2 输入输出变量的转换
pid控制有两个输入量:给定值(sp)和过程变量(pv)。多数工艺要求给定值是固定的值,如加热炉温度的给定值。过程变量是经a/d转换和计算后得到的被控量的实测值,如加热炉温度的测量值。给定值与过程变量都是与被控对象有关的值,对于不同的系统,它们的大小、范围与工程单位有很大的区别。应用plc的pid指令对这些量进行运算之前,必须将其转换成标准化的浮点数(实数)。
同样,对于pid指令的输出,在将其送给d/a转化器之前,也需进行转换。
3.3 回路输入的转换
转换的步是将给定值或a/d转换后得到的整数值由16位整数转换成浮点数,可用下面的程序实现这种转换:
xord ac0, aco
https://清除累加器
movw aiwo, ac0
https://将待转化的模拟量存入累加器
ldw>= ac0, 0
https://如果模拟量数值为正
jmp 0
https://直接转换成实数
ord 16#ffff0000, aco
https://将ac0内的数值进行符号扩展,扩展为32位负数
lbl 0
dtr ac0, ac0
https://将32位整数转换成实数
转换的下一步是将实数进一步转换成0.0~1.0之间的标准化实数,可用下面的式(3)对给定值及过程变量进行标准化:
rnorm=(rraw/span)+offset (3)
式中:
rnorm-标准化实数值;
rraw-标准化前的值;
offset-偏移量,对单极性变量为0.0,对双极性变量为0.5;
span-取值范围,等于变量的大值减去小值,单极性变量的典型值为32000,双极性变量的典型值为64000。
下面的程序将上述转换后得到的ac0中的双极性实数(其span=64000)转换成0.0~1.0之间的实数:
/r 64000.0, ac0
https://累加器中的实数标准化
+r 0.5, ac0
https://加上偏移值,使其在0.0~1.0之间
movr aco, vd100
https://加标准化后的值存入回路表内
3.4 回路输出的转换
回路输出即pid控制器输出,它是标准化的0.0~1.0之间的实数。将回路输出送给d/a转换器之前,必须转换成16位二进制整数。这一过程是将pv与sp转换成标准化数值的逆过程。用下面的公式将回路输出转换成实数:
rscal=(mn-offset)×span (4)
式中,rscal是回路输出对应的实数值,mn是回路输出标准化的实数值。
下面的程序用来将回路输出转换为对应的实数:
movr vd108, ac0
https://将回路输出送入累加器
-r 0.5, ac0
https://仅双极性数才有此语句
*r 64000.0, ac0
https://单极性变量乘以32000.0
用下面的指令将代表回路输出的实数转换成16位整数:
round ac0, ac0
https://将实数转换为32位整数
movw ac0, aqw0
https://将16位整数写入模拟输出(d/a)寄存器
3.5 pid指令及回路表
s7-200的pid指令如图3所示:
图3 pid指令
指令中tbl是回路表的起始地址,loop是回路的编号。编译时如果指令指定的回路表起始地址或回路号超出范围,cpu将生成编译错误(范围错误)仪器编译失败。pid指令对回路表中的某些输入值不进行范围检查,应保证过程变量、给定值等不超限。回路表参见附表。
附表 pid指令的回路表
如果pid指令中的算术运算发生错误,特殊存储器smi.1(溢出或非法数值)被置1,并将终止pid指令的执行。要想消除错误,在下次执行pid运算之前,应改变引起运算错误的输入值,而不是更新输出值。
4 pid指令编程举例
某一水箱里的水以变化速度流出,一台变频器驱动的水泵给水箱打水,以保持水箱的水位维持在满水位的75%。过程变量由浮在水面上的水位测量仪提供,pid控制器的输出值作为变频器的速度给定值。过程变量与回路输出均为单极性模拟量,取值范围为0.0~1.0。
本例采用pi控制器,给定值为0.75,选取控制器参数的初始值为:kc=0.25,ts=0.1s,ti=30min。编程如下:
https://主程序(obi)
ld sm0.1 https://扫描时
call 0 https://调用初始化子程序
https://子程序
ld sm0.0
movr 0.75, vd104 https://装入给定值75%
movr 0.25, vd112 https://装入回路增益0.25
movr 0.10, vd116 https://装入采样时间0.1s
movr 30.0 vd120 https://装入积分时间30min
movr 0.0, vd124 https://关闭微分作用
movb 100, smb34
https://设置定时中断0的时间间隔为100ms
atch 0, 10
https://设定定时中断以执行pid指令
eni
https://允许中断,子程序0结束
https://中断程序0
ld sm0.0
ltd aiw0, ac0
https://单极性模拟量经a/d转换后存入累加器
dtr ac0, ac0
https://32位整数转换为实数
/r 32000.0, ac0
https://标准化累加器中的实数
movr ac0, vd100 https://存入回路表
ld 10.0
https://在自动方式下,执行pid指令
pid vb100, 0
https://回路表的起始地址为vb100,回路号为0
ld sm0.0
movb vd108, ac0
https://pid控制器的输出值送入累加器
*r 32000.0 ac0
https://将累加器中的数值标准化
round ac0, ac0
https://实数转换为32位整数
dti ac0, aqw0
https://将16位整数写入到模拟量输出(d/a)寄存器
5 结束语
plc实现pid控制的方法多种,直接应用pid指令来实现基于plc的pid控制,是一种易于实现且经济实用的方法
1 引言
随着海洋石油勘探开发事业的发展,开发海域逐渐由浅海向深海延伸,导管架、海上平台也向着高、大、重的方向发展。海上作业所需的水泥浆量也越来越大,对水泥浆质量的要求也在不断tigao。采用plc对水泥浆生产过程进行控制,实现生产全过程的自动化,能够tigao生产效率、降低生产成本和工人的劳动强度。
灌浆机是高度自动化设备,包括水泥、水、添加剂等按照一定的配比自动进料,搅拌,灌浆等几部分。搅拌好的水泥浆储存在搅拌器中,搅拌器的双层叶片不停的搅拌,防止在灌浆过程中水泥浆凝固,泥浆泵把搅拌器中的水泥浆压出灌浆机。系统的工艺流程如图l。
图1 系统工艺流程图
2 系统控制方案
水泥灌浆机自动控制系统由可编程控制器(西门子s7-300)、人机界面(hmi,西门子tp27-10)、料位传感器和称重传感器等几部分组成。控制系统框图见图2。
图2 系统控制框图
控制核心是西门子的s7-312cpu和数字量输入模块、模拟量输入模块以及数字量输出模块组成,并配有eeprom存储卡使plc程序可以掉电保护。完成开关量、模拟量输入、数据检测、逻辑运算和过程控制,实现水泥浆生产过程自动控制。所有的设备输入输出信号直接进入plc,由plc来进行控制。
2.1 控制内容
(1) 输入部分
l 四个水泥料位传感器;
l 混炼器排除阀的行程开关;
l 手动、自动操作切换开关;
l 9个电机的手动启动和停止按钮;
l 三套称重传感器输出信号4~20ma;
l 电极测量传感器输出信号(水罐、添加剂罐、搅拌器高低各两个);
l 测灯按钮;
l 其它输入信号等。
(2) 输出部分
l 9个电机的启动和停止指示灯;
l 9个电机的输出控制信号;
l 三个料斗的入料电磁阀,双动控制;
l 三个料斗的出料电磁阀;
l 添加剂排料槽控制;
l 混炼器的出料气动闸阀控制;
l 报警指示、警铃信号;
l 空气吹扫电磁阀;
l 水泥料斗振动器;
l 其它输出信号等。
2.2 人机界面
人机界面用带有rs-485通讯接口的西门子tp27-10触摸屏。hmi程序由运行监控、操作界面、参数设定、物料管理、及各种统计报表打印等模块组成。采用全部汉化用户界面。具有界面友好、操作简单、功能强大等特点。其中hmi主界面见图3。
图3 hmi主界面
通过运行监控界面用户可以在触摸屏屏幕上直观的看到现场的生产运行情况。把电器柜所有转换开关置为plc,系统得电后,在界面上选择plc自动,通过点击屏幕上的“启动”按纽来启动系统,进入自动运行。屏幕上将动态显示各料斗中的配料量和其他设备如:混炼器、搅拌器、电机、各阀门的运行情况。
(1) 操作界面:当选择plc手动时,就可以在操作界面对系统中的各个设备进行单独控制,在检测、调试和紧急情况下使用。
(2) 参数设定:参数设定界面主要目的是方便对系统运行过程的一些重要参数进行修改。包括配料参数的设定,搅拌参数设定等。
(3) 物料管理:管理物料进料和进行物料用量统计。
(4) 统计报表打印:方便用户对运行过程中的归档数据,如生产记录、配料详细记录和物料消耗情况进行打印输出。
我们还充分利用西门子软件灵活多样、丰富的指令,设计出了模块化、结构化的程序,使得程序具有良好的可读性、可维护性。
3 物料传送控制
传动部分包括水平螺旋传送、垂直螺旋传送、缓冲罐、计量斗、混炼器、搅拌器和泥浆泵等组成。系统运行以后,水平螺旋和垂直螺旋将水泥传送到水泥缓冲罐,水泵将外界淡水送到水缓冲罐,添加剂泵将各种添加剂传送到添加剂缓冲罐。plc采集称重传感器数据,控制各缓冲罐出口阀做相应的动作。各计量斗秤值重量达到预先设定值,计量斗出口阀打开,在混炼器搅拌45s以后,打开浆液阀,泥浆进入搅拌器。通过泥浆泵将泥浆输送到外界供现场使用。
为了使水泥在混炼器中搅拌均匀,减少灰尘,程序中设定水计量斗中的淡水排放完毕,然后打开水泥计量斗出口阀门。因为水泥是粉尘状颗粒,容易黏附在一起,因此,在水泥计量斗侧壁安装有振动器。
4 物料称重配料控制
该部份由称重传感器、电磁阀、料位传感器、行程开关等组成。输入量模块采集现场信号,传送到cpu模块进行计算处理,然后通过输出模块输出信号,控制现场各种开关、电磁阀和电机等。
根据原料配比不同,添加剂称重传感器大量程150kg,水称重传感器量程3t,水泥称重传感器量程6t。称重传感器将配料重量转换成(4~20)ma的电流信号,经plc的模拟量输入模块进行a/d转换后输送到cpu与预先给定的重量进行比较,cpu按照给定的控制规律进行计算,然后发出控制信号控制各种配料严格按比例送入混炼器中搅拌。
在称重配料的过程中,机械装置运行时的波动,比如气动电磁阀气缸的压力波动,造成给料装置的动作滞后:物料下落的冲击力;配料系统发出关闭信号后原料的过冲量(空中余量),因物料料流的不稳定导致过冲量的随机变化(为关键的因素)。这些因素造成了称重配料误差。
为了减小称重配料误差,系统把称重过程分为粗称和精称两个阶段。在缓冲罐出口安装两个气缸串联。在粗称阶段,缓冲罐出口的两个气缸全部打开,缩短给料时间。当给料量达到设定量的90%,进入精称阶段,此时,关闭90%的缓冲罐出口气缸,小量给料以tigao称量精度。系统中的机械结构、称重传感器、模拟量输入模块等环节都存在一定的误差,终反映为作用于传感器的实际值与触摸屏显示值之间的误差,这个差值我们称之为系统的非线性误差。这一误差可以通过函数校正的方式来消除。假设作用传感器的力为f(i),对应的显示值为m(i),由数组f(i)和m(i)的拟合,可以得到一个校正函数:f=f(m)
由于系统误差是各个环节共同作用的结果,因此校正函数一般有多个拐点,为了保证测量精度,本系统中采用分段小二乘抛物线法来分别求出各段的拟合多项式:f=a+bm+cm2
5 结束语
该系统采用可靠性高、抗干扰能力强的可编程控制器和触摸屏,可以实现plc自动/手动和手动三种配料功能。当自动系统有故障时,可切换至手动方式配料,继续生产水泥浆,保证用户生产的连续性,减少损失。触摸屏编程为图形化操作,可以动态显示当前配、卸料等生产状态,简单直观,操作方便。可以存储实时生产数据,读取历史数据,实现生产数据打印。二次计量进料方法,使整个自动化搅拌系统精度得到了tigao。水泥搅拌自动控制系统的研制成功改变了以前依靠进口设备的状况,大大降低了生产费用、tigao了生产效率和系统的可靠性。