基于S7-300的接触线拉丝机拉力控制的研究*
2021-06-28黄金霖宣艳张莉刘太钢
黄金霖,宣艳,张莉,刘太钢
(1.安徽机电职业技术学院电气工程学院,安徽 芜湖 241000;2.江西理工大学电气工程与自动化学院,江西 赣州 341000)
引言
随着铁路的快速发展,高速列车覆盖范围增大,电气化技术显得更加重要,而接触线是电气化的重要介质,它性能的优劣决定列车的运行.因此提高接触线的性能具有重要意义.接触线拉丝机是生产接触线的重要设备,在机械设计与制造、电网电缆、材料和有色冶金等行业广泛应用;其工艺水平的高低决定了接触线质量的优劣.
接触线拉丝机生产环节中拉力是重要参数,本文以拉力控制为主线,采用PLC S7-300作为核心,对接触线拉丝机进行研究控制,设计BP-PID控制器优化拉力值.
1 接触线拉丝机控制系统工艺流程
线材金属初制品首先进入放线环节,由放线装置放出,随后进入拉丝环节,由矫直机矫直,然后在鼓轮上固定,转动的鼓轮使铜杆进入相应模具进而减小直径,在计米器的作用下改变铜杆长度,最后是收线环节,由收线装置打卷,确定最终的形状和大小[1].如图1所示.
图1 拉丝机生产环节工艺图
在拉丝环节,线材穿过模具在拉丝轮上绕卷,通过卷取轮的拉力使线材从粗到细[2].恒定的拉力可以提高成品率,因此在拉丝机控制系统中拉力控制尤为重要.在拉丝过程中,线材从粗到细,卷曲半径不断变化使得系统不确定性大大增加[3].而拉力具有非线性、时变性和大滞后性等特点,传统的PID控制很难满足拉力的精度控制要求[4].BP神经网络可以根据输入层数据的改变寻求一组近似最优的PID参数,得到有效广泛的应用[5].因此本文采用BP-PID控制器对拉丝机拉力进行控制.
2 接触线拉丝机拉力的BP-PID设计
2.1 BP神经网络结构
BP(Back Propagation)神经网络由Rumelhart等人于1986年提出的,它是一种误差传播训练的多层前馈网络,已被广泛应用[6].文中的BP神经网络包含3个输入层、4个隐含层和3个输出层.3个输入层分别对应拉力目标值fin、拉力检测值yout和偏差ek、3个输出层对应常规PID控制算法中的比例系数Kp、积分系数Ki和微分系数Kd,过程参数可以动态调节找到最优的比例、积分和微分系数,使误差最小.其结构图如图2所示.
图2 BP神经网络结构图
2.2 BP-PID算法
传统的PID控制器按照偏差的比例、积分和微分对系统进行控制,控制过程如图3所示.
图3 PID控制过程图
位置式PID算法表达式为:
(1)
式中:u(k)为控制量;k为采样时刻;e(k)为偏差;Kp为比例系数;Ti为积分时间;Td为微分时间;T为采样周期.
实践应用中,通常采用增量式PID控制算法来降低积累误差的影响.增量式PID控制算法是在上一次控制的基础上改变控制量[6],表达式为
Δu(k)=Kp(e(k)-e(k-1)+Kie(k)+
Kd(e(k)-2e(k-1)+e(k-2))
(2)
通过增量式PID的表达式可以看出,只要确定Kp、Ki、Kd的值,便可通过前后三次采样值的偏差计算出控制量增量,从而消除误差累积.
2.3 BP-PID控制器
神经网络和PID控制器组成BP-PID控制器.传统的PID算法不适用于非线性、时变性的系统[7].而BP神经网络利用其自学能力可以输出最优PID控制器参数.BP-PID控制器的整体架构如图4所示.
图4 BP-PID控制器整体架构
拉丝机拉力控制系统BP-PID算法的结构图如图5所示,与普通PID算法比较,增加了一个PID参数自整定环节.神经网络依据系统的拉力目标值、拉力检测值和拉力偏差,利用梯度下降计算法,算出PID算法中Kp、Ki、Kd的实时修正值ΔKd、ΔKi和ΔKd,从而及时修正Kp、Ki、Kd的值,进而实现对拉丝机控制系统中拉力的闭环控制,使拉力在合理误差范围之内.
图5 BP-PID算法结构图
文中输入层函数为:
Oj=X(j)j=1,2,3
(3)
x1和x2是拉力检测值和卷曲速度值.
隐含层输入为:
(4)
隐含层输出为:
oi(k)=f(neti(k))i=1,2,3,4
(5)
活化函数采用:
(6)
输出层的输入为:
(7)
输出层的输出:
ol(k)=g(netl(k))l=1,2,3,4
(8)
由于PID参数不能为负数,因此输出层神经元的活化函数为非负的Sigmoid函数:
(9)
指标函数为:
(10)
为了加快算法的收敛能力,按E(k)对加权系数的负方向搜索,引入惯性系数:
(11)
式中η为学习速率.
最终可得输出层权值的学习算法:
(12)
(13)
其中
g′(·)=g(x)(1-g(x))
(14)
f′(·)=(1-f2(x))/2
(15)
3 接触线拉丝机控制系统的硬件配置
控制系统采用S7-300PLC为核心,利用装有CP5611卡的工控机与PLC通信;CPU选用315T-2DP,通过DP口与接口功能模块IM174连接,组态成现场总线网络,完成对伺服电机的控制.选用2个SM321 DI8(24V DC(数字量输入模块)、2个SM322 DO8(24V DC(数字量输出模块)、2个SM331 AI4(24V DC(模拟量输入模块)实现对系统的控制.CP343-1是以太网通信模块,将工控机与PLC通过RJ45实现在线监控.硬件配置图如图6所示.
图6 硬件配置图
4 软件方案设计
控制系统的软件设计包括S7-300程序设计和监控组态界面的绘制两部分.
拉丝机控制系统在上电后要先穿线控制,启用点动穿线控制子程序,经系统故障检测判断后,启动运行,收线、卷曲运行,调用子程序对拉力进行PID调节,PLC控制程序流程图如图7所示.
图7 S7-300控制程序流程图
由于CPU选用的是315T-2DP,编程软件需要选件包SIMATIC S7-TechnolgyV3.0.S7-300是模块化的PLC,编程也是模块化编程方法.OB1是主程序,实现对子程序的调用.FC1是穿线子程序,FC3是模拟量信息采集子程序,FC4是PID控制调节子程序,FC30是故障检测子程序.
利用MCGS组态软件设计监控界面,监控系统主画面控制整个系统的运行,可以在线实时监控拉丝机的实际速度、给定速度,驱动电机的电流和拉取的实际长度值.如图8所示.
图8 MCGS主画面
5 系统仿真与调试
为了检验BP-PID控制器拉丝机控制系统中的控制效果,采用Matlab 进行BP-PID算法仿真.
学习速率的设定至关重要,过大的学习速率会导致学习不稳定,过小的学习速率会导致算法收敛时间增加,本文设定为0.25.
仿真结果如图9和图10所示.
图9 神经网络PID参数调节曲线图
图10 PID神经网络误差趋势图
从图9和图10可知,开始时偏差达到0.32,为了使Kp快速增大,Ki也出现较大超调,从而使得误差变成负数.随着偏差趋近于0,Kd也稳定在0.23.从结果来看,PID参数调节理想,偏差小,能够快速趋于稳定.
6 结论
本文将BP神经网络PID控制器运用到拉丝机拉力控制中,以S7-300 PLC为核心,对PLC系统进行硬件和软件设计,结果表明,BP-PID控制算法能够快速整定出最优的PID控制参数,系统超调量小于2%,稳态误差小于0.35,满足拉丝机工艺要求,能进一步提高企业的自动化程度.