一种基于数控编程的数控机床结构参数的辨识方法
【技术领域】
[0001] 本发明属于机床结构参数辨识技术领域,更具体地,涉及一种基于数控编程的数 控机床结构参数的辨识方法。
【背景技术】
[0002] 高速、高精度、高效率是现代数控机床发展的趋势,伺服系统的动态性能是影响数 控机床的重要因素,其好坏取决于控制参数的整定,控制参数不仅会影响进给系统的跟随 误差,严重时还会使机械系统产生振荡,影响加工质量甚至造成设备的破坏。对于数控系 统,伺服系统控制参数的整定又取决于机械结构参数,准确获取转动惯量、刚度和阻尼等机 械结构参数值是整定控制参数,优化伺服系统动态性能的基础。
[0003]目前,模态实验分析方法是数控设备机械结构参数辨识的通用方法,该方法是基 于模态分析理论,同时测量输入激励和输出响应信号,从而识别出机械结构的参数值,其中 激励信号的设计是参数值辨识的关键。但是对于重、大型机床,输入激励信号难以实施,因 此,上述方法难以适用于重、大型机床结构参数的辨识。
【发明内容】
[0004] 针对现有技术的以上缺陷或改进需求,本发明提供了一种基于数控编程的数控机 床结构参数的辨识方法,其中通过数控编程设计了Μ序列的自激励信号,解决了重、大型数 控机床系统辨识中激励信号输入的难题,通过同步动作在每个插补周期内实现辨识信号数 据的采集,在无需外加激励条件下,通过数控编程即可完成对数控机床的激励和辨识信号 的采集,完成辨识测试,该方法简单、高效、易用,工程实用性强。
[0005] 为实现上述目的,本发明提出了一种基于数控编程的数控机床结构参数的辨识方 法,其特征在于,该方法包括以下步骤:
[0006] 1)建立待辨识数控机床的系统动力学模型,并计算其差分方程;
[0007] 2)利用仿真软件生成二进制的伪随机序列,伪随机序列的采样时间为数控机床数 控系统的插补周期;
[0008] 3)通过NC编程将所述伪随机序列转变成数控机床的速度激励信号;
[0009] 4)根据所述速度激励信号,通过同步动作在数控系统的每个插补周期内给定速度 激励信号,从而实现数控机床的自激励;
[0010] 5)通过同步动作在数控系统的每个插补周期内采集数控机床在自激励下的结构 参数辨识信号数据;
[0011] 6)选定辨识参考模型,利用MATLAB系统辨识工具箱和采集的数据,对数控机床的 系统动力学模型进行辨识,得到数控机床结构参数值。
[0012] 作为进一步优选的,所述步骤2)中生成的伪随机序列采用MATLAB系统辨识工具 箱中的模块生成,生成的伪随机序列存储到数组变量中。
[0013] 作为进一步优选的,所述步骤3)通过NC编程将伪随机序列转变成数控机床激励 信号的具体步骤如下:首先,在NC程序中自定义数组变量;然后,通过NC编程中的SETO函 数,将步骤2)中生成的伪随机序列赋值给所述数组变量;最后,在NC程序中将数组变量转 变成速度信号赋值给计算变量$AC_PARAM[]。
[0014] 作为进一步优选的,步骤4)中数控机床的自激励具体产生过程如下:利用数控机 床自带的同步动作功能中的WHENEVER指令,在数控机床每个插补周期内对条件进行循环 检查,只要条件被满足,就在每个插补周期内执行相应的动作;通过M0V[X]指令实现伺服 电机的正反转,其中X为运动轴编号;通过FA□函数将计算变量$AC_PARAM□中的速度信 号输入到数控系统实现速度控制。
[0015] 作为进一步优选的,步骤5)中结构参数辨识信号数据的具体采集过程如下:在数 控系统的每个插补周期内将轴位移、轴转速、轴加速度、驱动力矩电流数据赋值给计算变量 $AC_PARAM□,然后通过WRITE指令将报数据写入指定的文件中。
[0016] 总体而言,通过本发明所构思的以上技术方案与现有技术相比,主要具备以下的 技术优点:
[0017] 1.本发明通过数控编程设计了Μ序列(即伪随机序列)的自激励信号,解决了重、 大型数控机床系统辨识中激励信号输入的难题,在无需外加激励条件下,通过数控编程即 可完成对数控机床的激励和辨识信号的采集,完成辨识测试,可准确辨识出等效惯量和等 效阻尼等机床结构参数值,该方法简单、高效、易用,工程实用性强。
[0018] 2.本发明通过同步动作在每个插补周期内实现辨识信号数据的采集,通过数控编 程在无需装置数据采集传感器的情况下即可实现辨识信号的采集,大大降低辨识实验的激 励成本和数据采集的费用,减小激励所造成的损失。
【附图说明】
[0019] 图1是本发明的数控机床结构参数辨识流程示意图。
【具体实施方式】
[0020] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要 彼此之间未构成冲突就可以相互组合。
[0021] 图1是数控机床结构参数辨识流程示意图,如图1所示,本发明的基于数控编程的 数控机床结构参数的辨识方法,其包括以下步骤:
[0022] 1)建立待辨识数控机床的系统动力学模型,并计算其差分方程;
[0023] 2)利用仿真软件生成二进制的伪随机序列(Μ序列),序列的采样时间为数控机床 数控系统的插补周期;
[0024] 3)通过NC编程将所述伪随机序列转变成数控机床的速度激励信号:
[0025] 使生成的速度激励信号成Μ序列形式,以确保激励信号有足够的频带宽度覆盖系 统的频带,实现有效激励,并且速度激励信号的幅值要加以限制,幅值太小不能实现机床的 有效激励,幅值太大容易造成机床损坏。
[0026] 4)根据所述速度激励信号,通过同步动作在数控系统的每个插补周期内给定速度 激励信号,从而实现伪随机序列形式的激励信号,进而实现数控机床的自激励:
[0027] 利用数控系统同步动作功能,通过数控编程编写同步动作,在每个插补周期内对 数控机床实现速度控制,无需外加激励条件即可对数控机床进行自激励。
[0028] 5)通过同步动作在数控系统的每个插补周期内采集数控机床在自激励下的结构 参数辨识信号数据:在每个插补周期内对数控系统里的信号数据(如轴位移、轴转速、轴加 速度、驱动力矩电流等)进行读写操作,采集辨识信号数据。
[0029] 6)选定辨识参考模型,利用MATLAB系统辨识工具箱和采集的数据,对数控机床的 系统动力学模型进行辨识,得到数控机床结构参数值。
[0030] 进一步的,步骤1)所述动力学模型和差分方程通过以下过程得出:
[0031 ] 首先,以数控机床机械系统为研究对象,建立待辨识系统的动力学微分方程:
[0032] MX+CX+KX ( 1 );
[0033] 式(1)为动力学微分方程的一般表达式,其包含所要辨识的参数,式中,X为状态 变量,Μ为质量矩阵,C为阻尼矩阵,K为刚度矩阵,为电机输出力矩,?\为负载,Td为摩擦 力矩;
[0034] 将式中的摩擦力矩当成干扰信号,机床空运行,负载力矩为零,经过拉式变换,则 待辨识系统的传递函数GP(s)为:
[0035]
[0036]式中,s为拉氏变换符号,X(s)、Tjs)分别为X、的拉氏变换。
[0037] 采用零阶保持器进行采样,再将式(2)离散化,零阶保持器传递函数G。(s)为:
[0038] ^(5) = (1-6^)/3 (-3).
[0039] 式中,Ts为采样周期;
[0040] 将式(2)的离散化,则待辨识模型的离散化形式:
[0041] G(z) =Z{G〇(s)GP(s)} (4);
[0042] 式中,Z{}为Z变化,即把连续传递函数离散化,z为差分算子。
[0043] 得到差分方程的一般表现形式为:
[0044] A(z)X(k) =B(z)Tn(k-l) (5)。
[0045] 式中:k为时间序列,A(z3 = 1+apka# 2+…anzn;B(z3 = 1+bp2+… bnzn;a丨~a"和b丨~bn分别为差分方程一般式的系数。
[0046] 更为具体的,步骤2)中生成的伪随机序列采用MATLAB/communications modeling系统辨识工具箱中的PNSequenceGenerator模块生成,生成的伪随机序列存储 到数组变量中。
[0047] 更为具体的,步骤3)通过NC编程将伪随机序列转变成数控机床激励信号的具体 步骤如下:首先,在NC程序中自定义数组变量;然后,通过NC编程中的SET()函数,将步骤 2)中生成的伪随机序列赋值给所述数组变量;最后,在NC程序中将数组变量转变成速度信 号赋值给计算变量$AC_PARAM口。
[0048] 进一步的,步骤4)中数控机床的自激励具体产生过程如下:利用数控机床自带的 同步动作功能中的WHENEVER指令,在数控机床每个插补周期内对条件进行循环检查,只要 条件被满足,就在每个插补周期内执行相应的动作;通过MOV[X]指令实现伺服电机的正反 转,其中X为运动轴编号;通过FA□函数将计算变量$AC_PARAM□中的速度信号输入到数 控系统实现速度控制,第η个插补周期的速度给定值对应着$AC_PARAM□中第η个元素。
[0049] 更具体而言,步骤5)中结构参数辨识信号数据的具体采集过程如下:在数控系统 的每个插补周期内将轴位移、轴转速、轴加速度、驱动力矩电流等系统变量的数据赋值给计 算变量$AC_PARAM□,然后通过WRITE指令将报数据写入指定的文件中。
[0050] 进一步的,步骤6)的辨识原理基于最小二乘法,辨识结构为ARX: [nanbnk]模型, 模型阶次通过步骤1)中的差分方程来确定。
[0051] 以下为本发明的具体实施例,本实施例以数控机床机械系统具体为永磁同步伺服 电机(PMSM)为例,以具体说明本发明。
[0052] 1)建立简化的