摘要:文中介绍的润叶加料系统控制方法是利用机器学习中的线性回归方法进行技术实现的,简要说明了该控制方法的原理和结构。着重讨论了润叶加料系统的数据架构,以及机器学习的算法,详尽地阐述了利用此设计的实用性,可靠性,能很好地满足烟草工业生产要求,大大降低了人为干预,提高了设备的智能化与自动化。
关键词:机器学习;线性回归;润叶加料系统;智能制造;数据建模;Python
一、引言
制丝线润叶加料是卷烟的一道关键工序,工艺过程为烟叶进入润叶滚筒期间,通过加料喷嘴,加水喷嘴,蒸汽管路对烟叶进行加料,加水,加温工序,使烟叶满足规定的工艺含水率,工艺温度,工艺加料量后,进入下一步工序。然而,润叶加料工序还处于人为控制的操作方法,含水率、温度等关键工艺指标需要通过直接调整阀门开度进行调整,造成人员动作浪费、影响工艺质量等问题。
在润叶加料工序中,烟叶含水率主要依靠设备的PLC控制系统,采用PID调节算法来进行控制,但在实际生产过程中仍然存在一些問题,例如PID调节速度过慢,无法在生产开始时快速计算出所需的各种阀门开度,导致干头或湿头等问题;例如控制调节不当,产生波浪形水分,大大影响标准偏差。
因此基于上述问题,在设备开机前,操作人员通过人为干涉阀门开度,通过手动开机方式对头烟进行干预,待出口水分,出口温度稳定后再将其切会自动生产,以保证工艺质量达到合格标准。
应用Python中的TensorFlow框架,对历史数据进行机器学习,应用多元线性回归对润叶加料各关键参数进行建模,并通过划分数据集对模型进行测试验证,最后通过输入实际参数,通过模型获取阀门开度等输出控制结果。
试验表明了润叶加料设备参数的可观测性,能够通过入口水分,料叶温度,出口水分设定值,出口温度设定值,烟叶流量,加料比例等输入值精准快速定位加水阀门开度,增温阀门开度等输出值,充分实现智能化,自动化特性。现场应用后可以降低员工劳动程度,提高产品质量和稳定性。
二、对历史数据进行整合
由于技改设计等原因,存在多个数据库对历史数据进行存放,因此我们需要对数据进行筛选提取,并汇总到自己的数据库中,为方便建模,数据采用均值方式保存,其中的关键变量包含如下:牌号,开始时间,结束时间,入口水分,出口温度,工艺流量,加料比例,料液温度,出口含水率,加水PID控制值,加温PID控制值,车间温度,车间湿度。部分数据如表1所示。
三、获取数据以及数据处理方法
本设计采用Python编程语言进行代码处理,数据获取方式使用pandas库进行获取,并将获取的数据保存为DataFrame数据结构。DataFrame是一种表格型数据结构,既有行索引,也有列索引,它可以看作是由Series组成的字典,不过这些Series共用一个索引。对于表内存在的空缺数值Nan,直接使用dropna方法对其进行舍弃处理。
三、特征抽取及特征预处理方法
根据字典信息可以知道,牌号字段属于文本特征,处理该特征方法可以使用One-Hot编码。One-Hot编码是分类变量作为二进制向量的表示。这首先要求将分类值映射到整数值。然后,每个整数值被表示为二进制向量,保证每个样本中的单个特征只有1位处于状态1,其他的都是0。其他字段如入口水分、出口温度,则属于有量纲表达式,需要进行无量纲化处理,采用归一化将数据特征值转换到同一量纲下把数据映射到[0,1],消除实际过程中的单位,从而简化计算。代码如下:
result_real = np.array(result_real)
transfer = MinMaxScaler(feature_range=(0, 1))#归一化处理
result_real = transfer.fit_transform(result_real)
四、数据集划分
为验证模型的准确性,我们需要将数据集D按照比例划分为两个集合,其中一个集合作为训练集S,另一个集合作为测试集T,即D=S∪T,S∩T=。在S上训练出模型后,用T来评估其测试误差,作为对泛化误差的估计。通过调用sklearn中的train_test_split按比例划分训练集和测试集,通常为25%/75%分样比例。代码如下:
X = preprocessing.scale(X)
Y = cop[['出口温度PID控制值']]
x_train, x_test, y_train, y_test = train_test_split(X, Y, test_size=0.25, random_state=10)#划分数据集
五、线性回归建模
线性回归基本公式为:y=w1x1+w2x2+w3x3…wnxn+bi,其中xi(i= 1,2... n)为每个样本的n个特征值,w为权重系数,bi为偏置系数。把这些每一行的叠加起来就成了一个向量或者矩阵,所以引入矩阵的表示为:
根据公式可以得出,y1为加水PID控制值,y2为加温PID控制值,x分别为牌号、入口水分、出口温度、工艺流量、加料比例、料液温度、出口含水率等,因此,本次建模目的为求出权重系数w与偏置系数bi。
六、构造损失函数
根据均方误差表达式:
可以得到,损失函数:
Loss=
其中,y_ture 是真实值,y_predict是预测值。y_predict=wX+bi,既w与bi初始值为随机数,得到损失函数后,则可以进行下一步优化损失,寻找最优的权重与偏置。
七、优化损失
首先根据数学公式:W1=W0+αJ(w),α表示学习率,J(w)表示求导函数。
优化损失顾名思义,就是找到最小损失量,如图1所示。
最低点为损失最小点,只需求出该点即可得到最优的权重系数与偏置系数。
在TensorFlow框架中,通过GradientDescentOptimizer(learning_rate).minimize(loss_function)方法可以创建梯度下降优化器,寻找最优值,其中learning_rate为学习率取值0.01,loss_function為损失函数。通过多次迭代后求解(迭代次数train_epochs=50)。
部分代码展示如图2所示。
代码运行结果如图3所示。
通过计算损失函数可以看出,损失函数为2.132,说明损失不大,完全满足建模需求,模型权重系数w与bi如程序输出所示,并进行预测值与真实值进行参考比较,最后将结果反馈给PLC,达到控制设备的效果。
八、与PLC进行数据通信
本次使用的PLC为罗克韦尔ABPLC,型号为5573,采用1756-ENBT网卡进行通讯,Python可以通过下载PyLogix库进行PLC访问,安装方法为-在Python命令行下输入PIP3 Install PyLogix。通过调用库函数可以对PLC标签的读写,从而达到访问PLC的目的。
九、结束语
针对制丝线增温增湿类的工序,从理论上均可以采用线性回归的模型进行分析预测,通过简单的机器学习,可以建立相应的回归模型,并用于指导生产,确定开机前的各类参数,以达到自动开机的效果。经过一段时间的生产验证,人工参与率由原来的80%下降至20%,基本实现无人开机效果,对智能化,自动化生产有着重要的指导意义。
作者单位:李云豪 广西中烟工业有限责任公司 南宁卷烟厂
参 考 文 献
[1]梁魏峰.烘丝控制模式的建立与实现[J].烟草科技,2003(2):16 -17.
[2]张益锋.GARBUIO烘丝机负压稳定性控制优化[J].中国科技纵横,2013(4):245.
[3]杨明权.改进HAUNI烘丝机控制模式降低烘丝干头干尾量[J].烟草科技,2005(8) 6 — 7,9.
[4]王惠文,孟洁.多元线性回归的预测建模方法[J].北京航空航天大学学报,2007(4):500-504.
[5]李永华,姜 麟,刘秀明,等.六西格玛与多元线性回归模型在烟丝含水率设计中的应用[J].科技和产业,2014(8).