数控机床是机、电、液一体化的*制造设备,其故障复杂、对维修人员要求高,传统的维修方法很难实现快速而准确的定位故障,实现智能化诊断是大势所趋。目前,以符号推理为基础的专家系统在数控机床故障诊断方面已取得了较大进展,但仍遇到了一些困难,主要表现为知识获取的“瓶颈”与逻辑推理的“组合爆炸”问题,即推断效率低、适应能力差等。而神经网络则以其所*的学习能力、联想能力和知识获取能力,能有效避免以上问题,但也存在着不能对自身推理方法进行解释等问题。
本研究将神经网络与专家系统结合,开发了神经网络故障诊断专家系统。
1神经网络专家系统结构根据专家系统与神经网络相互结合方式的不同,基于神经网络的专家系统可分为串行式、并行式和混合式3种,本方案采用神经网络在前、专家系统在后的串行方式。“故障征兆获取与处理模块”负责机床中故障征兆信号采集,并经适当的处理后作为神经网络的输入信号,神经网络则采用多层并行结构来完成数控机床中多类故障类型的求解及推导,它接受规范化处理后的征兆信号输入,给出处理后的结果,然后利用专家系统对其诊断结果进行验证和解释。
2。bp神经网络结构及改进的算法2. 1bp神经网络拓扑结构数控机床组成复杂,故障多样化,既有电气故障,又有机械故障,既有强电故障,又有弱电故障,需要许多测量点。因此,设计单一的网络易引起网络结构庞大,训练样本增多,使网络训练难以进行;还会造成故障分类精度低,诊断结果不可靠。实际应用时采用了分层模块化的设计方法,按数控机床的组成结构,分为伺服系统、plc与电控系统、cnc系统及其他系统等4个诊断模块,采用并联组合方式,既提高了诊断速度和准确性,又可同时诊断多个故障。
神经网络采用目前应用较为成熟的bp网络,它是一种单向传播的多层前向网络,网络除输入/输出节点外,有一层或多层的隐含层节点。理论已经证明:在隐含层节点数量可以根据实际需要进行自由设置的前提下,三层bp神经网络可实现以任意精度逼近任意连续函数的功能。因此,本研究采用标准的三层网络拓扑结构形式。
图中,输入层对应于故障现象,输出层对应于故障原因。网络中的相邻层采用全互联方式连接,同层各神经元之间没有任何连接,输出层与输入层之间也没有直接的联系。
2. 2神经网络改进算法针对传统的bp网络算法存在运算速度低、容易陷入局部极小点等问题,该神经网络模型的学习算法采用带有冲量项的bp算法,网络的训练过程如下:(1)将各权值和阈值的初始值ωj(0) ,θj(0)置为小的非零随机数。
(2)输入学习样本:输入向量x p( p = 1,2,…,p)和目标输出t p( p = 1,2,…, p)。o pj = f j(∑ωi o i -θj)(1)(3)计算网络的实际输出及隐含单元的状态:o pj = f j(∑ωi o i -θj)式中,激发函数f为sigmoid函数,即f ( x) = 1 / (1 + exp( - x) )。
(4)计算训练误差:输出层:δpj = o pj(1 - o pj) ( t pj - o pj)(2)隐含层:δpj = o pj(1 - o pj)∑kδpkωk(3)(5)修改权值和阈值:ωi( t + 1) =ωi(t) +ηδj o pj +α(ωi( t) -ωi( t - 1) )(4)θi( t + 1) =θi( t) +ηδj +α(θi( t) -θi( t - 1) )(5)式中η?学习步长,α?势态项。
(6)当p经历1~p后,判断指标是否满足精度要求e,这里e <ε。其中: e =∑e p, e p =∑(t pj - o pj)2 / 2,ε为精度。若满足要求则转到(7) ,否则转到(3)。(7)停止,结束。
3诊断实例3. 1故障模式与故障分析本研究以sinumer ik802c伺服驱动系统为例,比较典型的13种伺服故障模式和相应的故障原因分析,如所示。其他诊断模型方法与此类似。
输入向量表示故障模式x,其中“1”表示故障,“0”表示正常。表中,与13个监测点相应的故障点含义如下: x 1?伺服驱动电源故障; x 2?驱动未就绪; x 3?数控机床超程报警; x 4?数控机床找不到参考点; x 5?反馈回路故障; x 6?位置误差过大报警; x 7?两轴联动时圆度超差; x 8?伺服系统过载报警; x 9?伺服系统过压报警; x 10?发生漂移故障; x 11?机床爬行与振动; x 12?伺服电动机速度异常; x 13?伺服电动机不转故障。
输出向量表示故障原因分析结果y,对应含义如下: y 1?检查交流电源(); y 2?检查直流电源; y 3?检查熔断器、继电器和空气开关等; y 4?检查接线端子和连线; y 5?检查切屑负荷; y 6?检查数控系统设置的参数; y 7?检查数控机床限位开关和零位开关; y 8?检查伺服系统参数; y 9?检查伺服系统硬件; y 10?检查反馈编码器硬件; y 11?检查伺服电动机; y 12?检查机械传动链部件。
3. 2仿真分析根据故障样本表,可确定bp网络的输入层数为13,输出层数为12,隐含层数根据经验取16,隐含层和输出层神经元的激励函数选择sigmoid函数,网络训练函数选择traingdm函数,用matlab神经网络工具箱进行仿真训练,并选取学习率lr =0. 5,动量因子m c = 0. 7,误差e = 0. 000 1.其误差变化曲线,经过6 070次训练,满足要求。同时记录各权值,以便神经网络的硬件实现之用。
针对训练好的网络结构,输入故障模式向量x = <1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 >进行验证,实际输出的故障分析向量y = < 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 >,结果*正确。经过多次试验,验证了该模型符合诊断要求。
4结束语将神经网络与专家系统结合,应用于数控机床的故障诊断,是一种优势互补的智能诊断系统。根据神经网络采用巨量并行分布信息处理结构的特点,还可采用超大规模的现场可编程门阵列(fpga)集成电路制作诊断模块,并将它当作一个专用电路嵌入到数控装置中,从而实现数控机床的故障实时诊断。
相信这种基于专家系统与神经网络相融合的集成式故障诊断系统,将是数控机床故障诊断智能化发展的一个趋势。但随着数控技术与机床的发展,故障会变得更复杂与多样。如何采用分层结构,进一步把诊断子网细化,同时收集到足够的学习样本,保证诊断的准确率,将是今后研究的课题。