数控机床进给伺服系统(FSS)是数控机床重要的组成部分,数控机床的故障现象和原因之间关系错综复杂,一旦发生故障,诊断维修是一项复杂的工作,FSS包含了数控机床上最核心和技术最复杂的环节,一旦发生故障更是难以解决.本文以FANUC0i系统的数控机床为对象,在对FSS分析后给出了FSS的故障模型,在此基础上建立基于神经网络的FNN-ES诊断模型,给出用于离线故障诊断的智能软件的具体实现.
1FSS的故障分析及故障模型的建立
1.1故障分析
FSS其常见机电结构及工作原理[1]图1所示,与伺服相关的插补控制、数字伺服、PMC控制软件和PMC应用程序等存放在FROM里,伺服参数、补偿数据和PMC程序等放在SRAM里.加工程序经过译码、刀补处理和速度预处理后,系统每隔一个插补周期执行一次插补运算,给出每个插补周期各轴的位移增量并作为轴卡的输入数据,轴卡是位置环、速度环和电流环的硬件支撑,配合数字伺服务软件实现进给位置、速度和电机转矩的控制.半闭环控制的反馈信号由伺服电机的内装编码器经伺服驱动器提供,全闭环控制的位置反馈信号是由装在导轨上的直线光栅尺经SDU提供.通过FSSB总线建立CNC、轴板、SVM和SDU之间的联系,承接着它们之间的移动指令、反馈信息、报警和准备信息等数据的双向传输.超程急停回路继电器的常开分别接入PMC和电源模块,急停信号经PMC程序处理后通过G8.4通知CNC,电源模块根据急停信号控制MCC线圈得失电,进而决定三相200V电通断.电源模块向伺服驱动模块提供300V动力电和24V控制电,同时进行模块间报警及使能信号传递.伺服驱动器驱动电机按指令要求旋转,经图1所示的机械传动控制工作台运动.综上,归纳出进给系统的故障现象及分类[2]如表1所示.
1.2相关Web页面获取
软件报警是由数控系统自身诊断软件完成检测并在显示器上显示.硬件报警是指各硬件通过自身的软硬件检测功能来检测并通过发光二极管、保险丝、保护开关和数码管等给予指示的报警,也包含使用硬件检测装置获取的信息和指示.多数有报警故障,根据软报警信息,结合二极管、保险丝和数码管状态,借助计算机进行人工或智能搜集各类手册、书籍、电子知识库和数据库、维修案例记录等,人工分析便可诊断出问题.为减轻人的负担,也可分别建立软件和硬件报警的多级人工智能.无报警故障多以机床不正常运动呈现,故障诊断复杂,可人工智能的方法解决.本文归纳出7种故障现象和19种故障原因,现象和原因间有强的耦合性[3],如表2所示.
2故障诊断的人工智能实现原理
将诊断型和维修型两种类型基于神经网络的FFN嵌入到ES中构建综合评估模型,FNN负责数值计算,ES负责符号处理,采用可视化编程软件VC.NET来实现该模型算法和ES界面,用SQL2005建立数据库.
2.1诊断模型的设计
模糊逻辑与神经网络结合起来的系统能充分发挥各自的特点,实现对不精确或不确定信息处理,系统既有较强学习能力和数据处理能力,又有较强知识表达能力.原理[4]如下图2所示,一个FNN模型能否成功用于所选目标的故障诊断中,这取决于FNN模型的成熟度和训练方向,核心是样本的质量、数量和样本方向,样本的获取可以是向服务器总端索取、客户端之间共享和亲自制定,可通过实际测量和专家经验评估法、故障案例和手册书籍总结法、档案记录和理论研究法等,经总结提取后按照诊断模型的要求对信息进行加工产生x项和y项样本数据,故障诊断时,需要用户亲自获取用于诊断的输入数据,由于故障现象信息可以是不精确的,所以信息获取可以选简便方法,输入数据的获取方法及数据加工规范如表3所示.对于用简易方法可测的故障现象,可采用函数法进行模糊化,如图2,对输入量进行尺度变换,然后根据高斯基函数计算隶属度,经比较分析后确定该实际量的语言值,进而得到该输入量的模糊化结果.对于不方便测量的故障现象,可采用专家经验法直接给出模糊语言值,对于y项数据,可采用经验法并依据模糊范畴直接给出0~1之的模糊单值或准确值,模糊范畴给出了属于一定有、可能有、不清楚有无、不太可能有和一定没有这些存在程度的描述和对应隶属度范围.样本的输入和输出经模糊化处理后的r和o项构成第i条规则并存储于规则库中,规则库可用于神经网络的模糊推理训练.神经网络采用BP神经网络的算法,输入层、中间层和输出层节点数分别为38、10和19,选隐含层和输出层神经元的激活函数分别为双曲正切函数和Sigmoid激励函数,初始学习率为0.05,各层权值和阈值的初始值取[1/22~1/22]之间的随机数,动量因子为0.9,最大训练步数为1000步,控制误差为0.001,采用变步长法,按梯度下降法并附加一个使搜索快速收敛的动量因子去修正网络的权系数.
2.2专家系统诊断模型的设计
FNN仍存在数据存储能力差、解释能力低等缺陷,而基于FNN的专家系统,能发挥FNN微观上模拟人经验思维机制,及ES宏观上模拟人逻辑思维机制[5].原理如图3所示.对通过多种途径获取的数据进行提取和加工后形成FNN参数和函数、样本、资料、故障原因和解决等信息,由软件用户或管理者通过人机接口存储到数据库对应的表中.数据表B的某些参数如权值、阈值等,包含初始化值和训练后的结果项.库D包含多个相关表,用来存储各类资料和信息,库F存放的是19个大原因和对应大的方面解决.FNN的知识库包含规则库和数据库,样本库H存放的是x、y和z项.规则库I由x、y、和z项对应的模糊化结果r、o和t项构成,r和o项用于诊断型神经网络的训练.每条规则都有多个的FNN-ES参数函数标记,标记对应于库A和库B等,库A存放的是常用的各种情况下的语言变量隶属度函数,库B某行各字段存放用户创建的某FNN-ES模型的尺度变换因子、隶属度函数、糊分割数、BP网络相关参数及专家系统参数等.根据表3所示的方法获取故障现象x项数据,通过HMI向训练成熟的诊断型FNN提供该数据,运算处理后产生的结果o项可被用来查询库F,得到o项中所有大于0.5的数值对应的大原因和解决.为了能够得到更深入细致的原因和结果,可进一步建立各一级大原因对应的子级模糊神经网络,也可把o项中每个数值对应的0~1范围划分为若干个区间,根据不同区间来制定对应的子原因和解决,存储于F表中,根据查询o项中所有大于0.5的数值所处的范围来直接查询F表.本文采用第3种办法,即建立维修型二级神经网络,样本中的z项代表故障的详细子原因和解决信息,其模糊化结果t项为2进制编码下对应的19个10进制数,库C存放的是按一定规则制定的每个大原因对应的最多10个子原因和对应解决,2进制编码下为1对应的子原因和解决表示有可能或一定存在,o和t项用于维修型FNN的训练,诊断时,维修型FNN的输出t项经过清晰化后变成2进制,直接查询库G便可得到子原因和解决.将训练或诊断的操作记录和整理归纳后的各中间及最终结果等自动存储到库D对应的表中供用户查询和界面显示.中间结果和最终结论都有专门界面实时显示,供用户测评分析,存表C和E中.
3软件实现方案
3.1软件系统构成
图4给出了基于VC++和SQL2005的服务器端软件主要结构.界面主要由注册登陆界面、主界面和各功能子界面构成.主界面的A区为自绘菜单区,9个一级菜单对应图5所示的9大功能,B区含自绘的选定功能项工具栏和E区打开的子界面标签,E区、F区和D区都可根据需要在各自区域内显示各类型信息的界面,E区为主显示和操作区,F区为辅助显示和操作区,D区为帮助功能服务区,可手动和自动显示相关信息,F区和D区可设置为隐藏.C区为一个自绘的树控件,以树的形式分类列出系统中全部主要功能供用户便捷寻找功能并打开,一级根目录主要有文件操作、数据显示、离线诊断、在线诊断、工具训练、信息接口、用户中心、通信相关和软件相关等.G区为自绘状态栏区,用来显示所有操作过程中的当前状态信息.界面技术的A项指DHTML、XML、SQL、MFC之间的信息输入输出和显示,以及纯Html、自定义和源格式文件等的生成、显示与管理等.B项指界面的显示风格和方式,分主界面内和外两种显示,外部显示又分独立显示和集成显示.C项指确定各界面的窗口尺寸为固定、可变和选配的一种,尺寸变化的窗体要求界面内所有控件自动适应,并能防止闪屏.D项指基本框架界面的美化、自定义和标准控件的美化及自绘功能区域,可重写基类或在界面类里重绘实现.涉及的类和需要创建的SQL数据表如图4,N1类用于系统主界面和部分子界面框架基体美化,实现框架的重绘,N7为FNN-ES算法的处理运算和存储等相关操作类.B1为服务器端和客户端用户信息的相关表,B2表存放除XML配置文件数据外的更适合用SQL数据表存放和访问的配置参数,B3是存放训练、诊断、查阅和管理等软件操作的跟踪类信息记录表.
3.2软件系统功能
软件的功能如图5所示,功能以不同的分类方式和侧重融合在菜单、树控件和工具栏中.A功能实现各类自定义格式文件的创建、生成及文件的操作等,B功能是采用XML和SQL表实现对软件界面、功能、语言和升级等的配置.C功能中用于诊断的工具分传统诊断、离线智能诊断和在线智能诊断,可选其中一类离线智能诊断模型查看所有训练好的该类模型的参数、诊断对象、性能分析和使用记录等,并可继续进行训练和人工修调参数,也可创建一个新的属于该类的诊断模型,模型的训练、参数和使用对象等特性取决于样本数据和诊断对象的设置等.“网站平台”用于各类诊断用信息采集、调查、专家交流答复等,是样本数据、故障诊断经验和档案记录等的数据支撑.“阅读工具”主要是对软件专有的自定义格式文件的读取.“统计分析工具”用于对本端或客户端的各种评估模型、参数和样本数据等的性能进行统计分析,给出评估结论和建议.“数据操作工具”用于信息的输入输出、显示、加密、共享和转换等.D功能包含训练成熟模型的显示、模型配置和执行训练、训练设置、训练规范和训练记录等.E功能是整个软件的核心之一,承担所有相关资料和记录的显示、管理、共享和分类检索等,资料种类还包含图5所示之外的理论研究、帮助信息、专家经验和用户反馈等.F功能承担故障诊断的方案设计,、具体执行、设置和管理等功能,可通过各厂家、系统、机床类型和诊断工具类别等多种途径快速进入相应的主诊断画面并自动给出经系统分析后推荐的训练成熟诊断模型,诊断的最终一级目标可以是机电综合型,也可以是进给、主轴和冷却等具体分类对象,一旦确定了诊断目标和约束条件,诊断主界面上显示筛选后的可用诊断模型,可人工选择或者系统默认其中的一个,完成选模型工作,进而通过输入模型所需的输入数据,点击“确定”按钮便可完成所有诊断工作,中间和最终结果及相关信息可在辅助界面中自动显示并被自动汇总到相关数据库.G功能承担所有诊断模型所需样本的录入、管理和设置,样本规范、共享及设置等任务.H功能承担对客户端用户管理、处理客户端的在线和离线请求、对客户端远程专家会诊和咨询答复、通讯和客户端数据共享的设置处理等.
4总结
对进给系统的工作原理及相关故障报警进行分类后,建立了用于FNN-ES的故障模型,提出了一种基于FNN-ES的故障诊断模型和相关原理及技术,给出了一套基于VC++和SQL的相应诊断软件的具体实现内容.该智能诊断模型具有自学习能力、泛化能力、容错能力和良好的数据存储、人机交互能力,有强的实用性,为数控机床的故障诊断提供了新导向.
作者:张新亮 单位:重庆工业职业技术学院