摘要:本文介绍一套用于轧线 PLC 控制的模拟量信号采样、滤波的方法。实现了自由灵活的信号处理。信号稳定性、可靠性均较滤波前有较大的改善。在轧线张力控制环节中滤波效果显着,满足了生产的要求。此功能经模块化编程后,可方便的用于负荷采集、温度监控等PLC 监控领域。
1 引言:
高速 线材 轧线张力控制是线材自动控制中重要的一项技术,是衡量轧线自控系统的一项重要标志。一般采用负荷法实现间接张力控制。张力数据的采集是间接张力 控制系统 重要环节,采集到的数据能否真实地反映现场的实际情况,是否可靠直接关系到后续控制的精度与稳定性。在一般的PLC 控制系统中,模拟量由于受到现场环境等的影响造成采集上来的信号不能充分反映现场的真实情况,信号进入系统运算后容易造成运算超差,更有可能引起系统控制错误导致各种事故。由此可见模拟量控制的成功与否在很大程度上决定可控制系统的好坏。一般滤波控制只是简单的把几个采样值进行平均处理,有时造成的偏差较大,而且调试起来很不灵活,本文针对轧钢现场的实际情况,介绍一套用于轧线PLC 控制的模拟量信号采样、滤波的方法。实现了自由灵活的信号处理。
2 轧线PLC 控制系统的组成:
在我们设计调试的线材生产线中,一般采用 Siemens S7-400 PLC 作为主控制器,粗、中轧机,预精轧机,吐丝机,夹送棍传动采用Sieme NS 直流调速装置 6RA70,精轧机采用交流 变频 装置。主轧线设两个HMI,HMI 与PLC 通过以太网通讯,PLC 与各传动采用Profibus-DP网通讯,总体功能图如下:
(1)轧线张力控制的实现方法:
棒线材轧线张力控制一般采用间接张力控制方法,即利用轧机负荷反馈计算轧机的张力。本文控制方法为利用PLC 与传动装置之间的Profibus-DP。
(2)PLC 内部的信号滤波算法:
信号滤波在功能上分为输入信号的采样、储存,数据分析处理、滤波,信号输出等环节:
1) 采样、存储环节:PLC 系统接受模拟量信号后,首先进行可控周期、可控数量的采样,采样采取FIFO 算法,保证数据的实时性。保证在任何时间段内采集存储的的数据都是最新、最近的。
2) 数据处理排序环节:利用冒泡算法对采集的数据排序。
3) 数据处理均值环节:去除 N 个最大值、最小值。对剩余的数据进行均值处理。控制框图如下:
3 滤波系统功能详细介绍:
考虑到数据采样的连续性以及在特定的时间段内要保留一定数量的连续的采样数据,在系统中定义一个FIFO 数据链表,采样数据按照时间顺序依次进入链表,当链表数据个数N(可调)一定时,那么着N 个采样值就是一段时间内的连续采样值。在采样过程中从频率根据具体情况进行调整。
采样数据的最大值和最小值在采样过程中有可能受到干扰,或者采集的数据与其它值有较大偏离,其采样可靠度不如其他中间数据可靠,在运算中将规定数量(可调)的最值除去。采用冒泡算法对数据排序,然后分别除去两端的一定个数(可调)的最大值和最小值。最后剩余的数据均值处理。
4 方案模块化:
本次应用的特点就是将上述功能模块化集中在一个功能块FC 中,任何时候只要调用此功能块,就可实现采样滤波功能,通过调整功能块参数(爪子),可以实现可变频率采样,
可变数量采样等数据滤波功能。本功能基于Siemens S7-400PLC 系统设计,采用SCL 编程语言,功能块参数描述如下:
Input:
I_main:模拟量输入信号
S_EN:功能允许信号
S_TRG:采样允许信号
F_SEL:需要去除的最值个数
S_NO:采样个数
S_ARR:采样寄存器
Output :
O_main:滤波后信号输出。
S_ok:采样滤波计算正常。
调用此功能块的程序如下:FC10 为采样功能块
CALL FC 10 (
I_main := MD 300,
S_EN:= L 20.0,
S_TRG:= L 20.1,
F_SEL:= MW 502,
S_NO:= MW 504,
O_main:= MD 404,
S_ok:= M 506.0,
S_ARR:= DB10.ARR);
5 应用体会
采用此滤波功能后,对速度相应要求相对较慢的张力数据采集有较好的滤波效果。本功能可以方便地修改采样周期,采样个数,特殊值去除个数等,尤其便于根据具体情况进行现场调试,提高现场工作效率。