CN102193530B - 一种基于双核构架协同工作的数控系统及控制方法 - Google Patents

一种基于双核构架协同工作的数控系统及控制方法 Download PDF

Info

Publication number
CN102193530B
CN102193530B CN2010101217262A CN201010121726A CN102193530B CN 102193530 B CN102193530 B CN 102193530B CN 2010101217262 A CN2010101217262 A CN 2010101217262A CN 201010121726 A CN201010121726 A CN 201010121726A CN 102193530 B CN102193530 B CN 102193530B
Authority
CN
China
Prior art keywords
node
logical block
speed
module
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2010101217262A
Other languages
English (en)
Other versions
CN102193530A (zh
Inventor
王云宽
黄为
郑军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Automation of Chinese Academy of Science
Original Assignee
Institute of Automation of Chinese Academy of Science
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Automation of Chinese Academy of Science filed Critical Institute of Automation of Chinese Academy of Science
Priority to CN2010101217262A priority Critical patent/CN102193530B/zh
Publication of CN102193530A publication Critical patent/CN102193530A/zh
Application granted granted Critical
Publication of CN102193530B publication Critical patent/CN102193530B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Numerical Control (AREA)

Abstract

本发明公开一种基于双核构架协同工作的高速数控系统及控制方法,第一逻辑单元与第二逻辑单元连接,在第一逻辑单元和第二逻辑单元之间连接有与门;第一逻辑单元将控制信号置为高电平读入加工代码并进行代码解释,利用节点管理所创建的向前看队列读取代码解释后的数据,再经过速度优化,速度实时控制与速度插补后输出一个插补周期内每个电机轴的运动数据;第二逻辑单元在需要一个周期内每个电机轴的运动数据时输出第一反馈信号;该第一反馈信号和第一逻辑单元的控制信号经与门并输出同步控制信号;第一逻辑单元接收同步控制信号后,将一个周期内每个电机轴的运动数据传给第二逻辑单元,第二逻辑单元在接收运动数据经运算输出控制电机的脉冲信号。

Description

一种基于双核构架协同工作的数控系统及控制方法
技术领域
本发明属于机电一体化的数控技术领域,具体地讲是在一种基于双核构架协同工作的高速数控系统。
背景技术
装备制造业承担着为国民经济各行业提供装备的重任,任何国家,为了自身的发展和安全,都将发展装备制造业作为国家战略。以数控机床和数控装备为代表的“工作母机”,是装备制造业中先进机械制造装备的典型代表,是实现制造技术和装备现代化的基石,也是保证高技术产业发展和国防现代化的重大装备。
自动加工的运动控制系统是整个数控系统中的关键部分,直接决定机床装备的性能、功能、可靠性和成本。
传统的数控系统的自动加工的运动控制系统基于工业PC机,只是简单地将CAD软件生成的NC代码通过解释器,生成无数构成加工轨迹的小路径直线段,然后忠实地按照每条小路径的信息进行加工。其缺点主要有以下几个方面:
第一,由于没有考虑前后小路径的空间几何信息和电机的运行能力,因此机床在整个运行过程中,会有频繁地加减速,不仅加工效率低,而且会严重影响加工固件的表面质量。
第二,解释NC代码的工作量较大,需要占用CPU大量的运算时间,因此在线解释NC代码,会影响CPU对其他模块的处理时间,导致机床不能高速运行。
第三,不论单CPU的速度有多快,其处理能力有限。由于整个数控系统不仅需要快速实时地控制机床运行,也需要管理一些慢速设备,因此很容易造成CPU竞争等问题,导致系统不稳定。
第四,使用PC机作为控制器,价格成本较高,并不适合普及使用。
发明内容
(一)要解决的技术问题
有鉴于此,本发明的目的是针对现有的数控系统自动加工的控制原理和控制结构的不足,提取了一种成本更低、性能更高、基于双核构架的高速数控系统。
(二)技术方案
为实现上述目的,本发明的第一方面,提供基于双核构架协同工作的数控系统,该数控系统的实现方案如下:该系统包括:第一逻辑单元、第二逻辑单元和与门,第一逻辑单元与第二逻辑单元通过地址总线和数据总线连接,在第一逻辑单元的一输出端和第二逻辑单元的一输出端之间连接有与门;所述与门的输入信号为第一逻辑单元的控制信号和第二逻辑单元的第一反馈信号,与门的输出为同步控制信号;在机械加工开始时,第一逻辑单元首先将控制信号置为高电平,然后读入加工代码进行代码解释,利用节点管理所创建的向前看队列读取代码解释后的数据,再经过速度优化,速度实时控制与速度插补后输出一个插补周期内每个电机轴的运动数据,包括运动速度,运动距离和运动方向;第二逻辑单元在需要一个周期内每个电机轴的运动数据的时候,输出第一反馈信号;该第一反馈信号和第一逻辑单元的控制信号经与门并输出同步控制信号;第一逻辑单元在接收到同步控制信号后,将一个周期内每个电机轴的运动数据通过数据总线和地址总线传给第二逻辑单元,第二逻辑单元在接收一个周期内每个电机轴的运动数据后,经运算输出控制电机的脉冲信号。
为实现上述目的,本发明的第二方面,提供基于双核构架协同工作的数控系统的控制方法,该控制方法包括步骤如下:
步骤S1:运动控制开始;
步骤S2:第一逻辑单元读取加工代码,第一逻辑单元对加工代码进行代码解释;
步骤S3:第一逻辑单元根据代码解释的返回的信息,判断加工代码是否错误,如果错误,则执行S4,如果正确,则执行步骤S5;
步骤S4:第一逻辑单元退出机械加工程序,显示加工代码的错误原因;
步骤S5:第一逻辑单元将控制信号置为高电平,装载第二逻辑单元,使能第二逻辑单元的第一反馈信号,通过数据总线,地址总线,时钟信号,写信号,片选信号,建立第一逻辑单元与第二逻辑单元间的通讯连接,执行步骤S6;第二逻辑单元执行步骤S16;
步骤S6:第一逻辑单元经节点管理创建向前看队列;
步骤S7:第一逻辑单元读取经代码解释后新的数据信息,并将代码解释后新的数据信息按照机械加工的顺序存入到向前看队列的每个节点;
步骤S8:第一逻辑单元管理向前看队列,并优化向前看队列中每个节点的节点速度;
步骤S9:第一逻辑单元管理向前看队列,并实时地修正优化后向前看队列中每个节点的节点速度;
步骤S10:第一逻辑单元管理向前看队列,利用速度插补,计算一个插补周期内各轴的运动数据;
步骤S11:第一逻辑单元等待同步控制信号,如果没有接收到同步信号,继续等待,如果接收到同步信号,执行步骤S12;
步骤S12:第一逻辑单元将一个插补周期内各轴的运动数据发送给装载第二逻辑单元;
步骤S13:第一逻辑单元判断加工文件是否结束,如果结束,则执行步骤S14,如果没有结束,则执行步骤S7;
步骤S14:第一逻辑单元卸载第二逻辑单元,即第一逻辑单元将控制信号置为低电平,然后第一逻辑单元执行步骤S15,第二逻辑单元执行步骤S19;
步骤S15:第一逻辑单元退出机床运动控制程序;
步骤S16:第二逻辑单元开始工作;
步骤S17:第二逻辑单元在需要读取每个电机轴的运动数据时,输出第一反馈信号到与门,与门将第一反馈信号与控制信号结合输出同步控制信号给第一逻辑单元,然后第二逻辑单元从数据总线上开始接收第一逻辑单元输出的每个电机轴的运动数据;
步骤S18:第二逻辑单元在读取每个电机轴的运动数据之后,经运算输出控制每个电机轴的脉冲信号;
步骤S19:第二逻辑单元退出机床运动控制程序。
(三)本发明的有益效果
从控制结构上说,整个系统包括两个算法处理芯片第一逻辑单元和第二逻辑单元。第一逻辑单元选取具有精简指令集,并以Pipeline流水线的工作方式工作的CPU,例如DSP,因此在相同主频的情况下,它比传统类型CPU更加有效率。由于第一逻辑单元的这些特性,因此常用来处理一些实时性较高,较复杂的控制算法,例如速度优化算法,多轴联动的速度插补算法,速度实时控制算法等。
第二逻辑单元是一种用户根据各自需要而自行构造逻辑功能的数字集成电路,例如CPLD,从原理上来说,它可以真正地实现多个模块并行处理,互不干扰。因此可以由第二逻辑单元来实现一些控制流程简单,但功能不同的各种快速控制算法模块或者慢速硬件驱动模块,真正统一慢速设备管理与快速算法的响应。
第一逻辑单元与第二逻辑单元之间采用数据总线建立连接,数据传输方式为单向传输,即第一逻辑单元传给第二逻辑单元,与传统的串口通讯,工业总线通讯相比,该方法传输速率快,能明显提高机床加工效率;
与门虽然结构简单,但在本发明中的作用却很大,通过与门,将第一逻辑单元的控制信号与第二逻辑单元的第一反馈合成同步控制信号,协调第一逻辑单元与第二逻辑单元的同步工作,保证第一逻辑单元在传输数据的时候第二逻辑单元一定在接收数据,这种结构不仅成本低廉,易于实现,而且配合第一逻辑单元与第二逻辑单元间的数据总线连接方式,保证了传输数据的有效,快速与安全,使得该数控控制系统可以满足多种机床的快速加工要求,稳定性和鲁棒性高,能够显著地提高产品的正品率。
附图说明
图1本发明基于双核构架协同工作的数控系统结构示意图;
图1a本发明第一逻辑单元结构示意图;
图1b本发明第二逻辑单元结构示意图;
图2本发明基于双核构架协同工作的数控系统的控制流程图;
图3本发明加工代码解释流程示意图;
图4本发明速度优化流程示意图;
图5本发明速度实时控制流程示意图。
具体实施方式
下面结合附图详细说明本发明技术方案中所涉及的各个细节问题。应指出的是,所描述的实施例仅旨在便于对本发明的理解,而对其不起任何限定作用。
如图1示出基于双核构架协同工作的数控系统结构,包括:第一逻辑单元1、第二逻辑单元2和与门3,第一逻辑单元1与第二逻辑单元2通过地址总线和数据总线连接,在第一逻辑单元1的一输出端和第二逻辑单元2的一输出端之间连接有与门3;所述与门3的输入信号为第一逻辑单元1的控制信号和第二逻辑单元2的第一反馈信号,与门3的输出为同步控制信号;在机械加工开始时,第一逻辑单元1首先将控制信号置为高电平,然后读入加工代码进行代码解释,利用节点管理所创建的向前看队列读取代码解释后的数据,再经过速度优化,速度实时控制与速度插补后输出一个插补周期内每个电机轴的运动数据,包括运动速度,运动距离和运动方向;第二逻辑单元2在需要一个周期内每个电机轴的运动数据的时候,输出第一反馈信号;该第一反馈信号和第一逻辑单元1的控制信号经与门并输出同步控制信号;第一逻辑单元1在接收到同步控制信号后,将一个周期内每个电机轴的运动数据通过数据总线和地址总线传给第二逻辑单元3,第二逻辑单元2在接收一个周期内每个电机轴的运动数据后,经运算输出控制电机的脉冲信号。所述第一逻辑单元1与第二逻辑单元2都维护着自己的一个数据缓存区,即第一逻辑单元1上为发送缓冲区,第二逻辑单元2上为接收缓冲区,使得加工能更加安全。
图1a示出第一逻辑单元1结构示意图,第一逻辑单元1为主核,该主核采用数字处理器DSP,数字处理器DSP包括:所述第一逻辑单元1包括:代码解释模块11、速度优化模块12、速度实时控制模块13、速度插补模块14和节点管理模块15,为了数控系统控制的实时性,将代码解释模块11放在离线时运行,将速度优化模块12、速度实时控制模块13、速度插补模块14和节点管理模块15放在在线控制时运行,其中:
所述代码解释模块11读取加工代码,检测加工代码错误和翻译转变加工代码格式;该检测加工代码错误包括语法错误和加工安全指标错误,所述翻译转变加工代码格式包括命令代码解释和空间机床运行路径的代码解释;所述命令代码解释是将由字母和数字组合的命令转变为由数字表示的命令;所述空间机床运行路径的代码解释是在保证机械加工精度的情况下,利用曲线拟合技术,将各种复杂曲线拆分成能进行机械加工的线段,计算出线段端点的空间坐标,最后,将数字表示的命令和线段端点的空间坐标按照顺序以二进制的数据格式存入代码解释模块11的数据缓存区;
所述节点管理模块15与代码解释模块11连接,节点管理模块15建立一个用来预测的向前看(Look ahead)队列,向前看队列由多个节点组成,节点管理模块15预先从代码解释模块11的数据缓存区读出数字表示的命令和线段端点的空间坐标,将数字表示的命令和线段端点的空间坐标存入到向前看队列的首节点至尾节点中,其中,节点中记录的线段端点的空间坐标,又称为节点空间坐标;
所述速度优化模块12与节点管理模块15连接,速度优化模块12读取节点管理模块15的向前看队列中每个节点,提取节点的空间坐标并建立多维向量空间,利用机械加工中前后相邻两个线段的空间夹角关系和电机的运行能力,计算出前后两条线段间连接点的速度最大值,并将前后两条线段间连接点的速度最大值存入到向前看队列的节点,因此,节点中记录的连接点的速度又称为节点速度,所述前后两条线段间连接点为前条线段的后端点与后条线段的前端点相连的点;
所述速度实时控制模块13与节点管理模块15连接,速度实时控制模块13读取节点管理模块15的向前看队列的每个节点,提取向前看队列的每个节点的数字表示的命令、节点空间坐标以及节点速度,利用机械加工相邻节点中后一节点的节点速度修正前一节点的节点速度;
所述速度插补模块14与节点管理模块15连接,速度插补模块14读取节点管理模块15的向前看队列的首节点,提取向前看队列的首节点的节点速度和节点空间坐标,并由首节点的节点空间坐标计算出每个电机轴的运动分量,再结合首节点的节点速度,计算出每个电机轴在一个插补周期内的运动距离和运动速度。
代码解释模块11对读取的加工代码进行翻译和检测,可理解为机床自动加工前的准备工作,为了控制的实时性,须将耗费大量运算时间的代码解释模块11放在“离线”时运行,代码解释模块11将速度优化模块12,速度实时控制模块13,速度插补模块14,节点管理模块15放在“在线控制”时运行,“离线”时代码解释模块11将翻译之后的代码放入缓存,“在线”时先由节点管理模块15将翻译之后的代码读出,然后经速度优化模块12,再经速度实时控制模块13,最后经速度插补模块14得出一个插补周期内各轴的运动距离,运动速度和运动方向。
速度优化模块12优化节点速度,为了加工过程高速,平稳,减少急加速,急减速现象,小路径线段前后的节点的速度值就不能直接给定为最低速度值,而是应该根据前后线段的空间几何关系,电机和机床的性能指标,建立合适的数学模型,通过计算来得到。
速度实时控制模块13实时修正节点速度,虽然速度优化模块12的算法在一定程度上能防止机床在加工过程中频繁的加减速所带来的机床振动,加工效率低等问题,但同时也带来新的问题—减速距离不够,产生这个问题的原因就是:该方法只考虑了一段加工代码中“点”的问题,即只从局部细节上考虑了该问题,并没有把多个并且相邻的这些“点”的信息考虑在内,在这样的背景下,就需要速度实时控制模块13和节点管理模块15,节点管理模块15预先从代码解释模块11的数据缓存区读出数字表示的命令和线段端点的空间坐标,并调用速度优化模块12得出节点的向前看队列中节点的节点速度,再利用速度实时控制模块13,即可实时地修正向前看队列中节点的节点速度,最终修正当前电机运行的速度。
图1b是第二逻辑单元结构示意图,第二逻辑单元2为从核,该从核采用复杂系统可编程控制器CPLD结构,或者第一逻辑单元1和第二逻辑单元2都采用数字处理器。所述数字处理器DSP和复杂系统可编程控制器CPLD双核之间的数据传输方式为数字处理器DSP传给复杂系统可编程控制器CPLD的单向传输。复杂系统可编程控制器结构CPLD包括:协调同步工作模块21和输出控制模块22,其中:
所述协调同步工作模块21与第一逻辑单元1和输出控制模块21连接,接收由第一逻辑单元1输出的每个电机轴运动数据、控制信号和输出控制模块22输出的第二反馈信号;第一逻辑单元1通过控制信号启动协调同步工作模块21,协调同步工作模块21建立与第一逻辑单元1的发送数据缓存区结构相同的接收数据缓存区,在数据缓存区数据不满的情况,协调同步工作模块21输出第一反馈信号给与门3,与门3将第一反馈信号和控制信号结合输出同步控制信号,第一逻辑单元1在接收到同步控制信号后将每个电机轴运动数据发送给协调同步工作模块21,协调同步工作模块21在接收到输出控制模块22输出的第二反馈信号的时候,将每个电机轴运动数据发送给输出控制模块22;
所述输出控制模块22与协调同步工作模块21连接,输出控制模块22接收每个电机轴运动数据,输出控制模块22利用基于主时钟频率的数字积分DDA直线插补方法生成并输出固定占空比的脉冲信号和方向信号,利用脉冲信号控制变频器驱动电机旋转,实现电机在转向时脉冲信号与方向信号的协调工作,以及再根据每个电机轴的运动参数完成了数字积分DDA直线插补之后,输出第二反馈信号。
所述输出控制模块22在复杂系统可编程控制器CPLD上完成,为使得控制电机的脉冲信号与方向信号配合得当,脉冲信号均匀,必须完成两项工作。第一将传统的基于主轴速度的DDA插补算法该为基于复杂系统可编程控制器CPLD主时钟频率的DDA插补算法,其原因是由于主轴的速度不论怎么快,都无法达到复杂系统可编程控制器CPLD主时钟的频率,即以主轴速度为基准进行DDA插补时,其速度分辨率比以复杂系统可编程控制器CPLD主时钟的频率为基准进行DDA插补要低,而且低很多;第二将占空比50%的脉冲信号,改为固定高平脉宽的脉冲信号。由于电机在改变方向运行时,不能立刻响应脉冲信号,期间需要有一定的时间间隔。
如果在每次电机转向,加入一个固定时间间隔,又会影响前后连段的速度连接,因此,如果将脉冲信号的高平脉宽固定在一个很小的范围内,即使得脉冲占空比不为50%的时候,电机转向的方向信号与电机运行的脉冲信号之间会自然地加入一个足够安全的延时时间,而且也不会影响前后段的速度连接。
将数字处理器DSP与复杂系统可编程控制器CPLD按图1的方式连接,分别将数字处理器DSP的数据总线、地址总线、时钟信号线等引入复杂系统可编程控制器CPLD,数字处理器DSP可以控制来自复杂系统可编程控制器CPLD的控制信号,当运动控制开始时数字处理器DSP首先使能复杂系统可编程控制器CPLD的控制信号,当运动控制结束时关闭复杂系统可编程控制器CPLD的控制信号。
他们之间的工作流程如图2所示,复杂系统可编程控制器CPLD就像是一个数字处理器DSP的驱动模块,数字处理器DSP需要时挂载该复杂系统可编程控制器CPLD,不需要时,卸载该复杂系统可编程控制器CPLD。
如图2示出本发明基于双核构架协同工作的数控系统的控制流程图,具体实施时仅举例第一逻辑单元1为主核,主核选用数字处理器DSP,第二逻辑单元2为从核,从核选用复杂系统可编程控制器用CPLD,该控制方法的具体实施步骤如下:
步骤S1:运动控制开始;
步骤S2:主核DSP读取加工代码,主核DSP对加工代码进行代码解释;
步骤S3:主核DSP根据代码解释的返回的信息,判断加工代码是否错误,如果错误,则执行S4,如果正确,则执行步骤S5;
步骤S4:主核DSP退出机械加工程序,显示加工代码的错误原因;
步骤S5:主核DSP将控制信号置为高电平,装载从核CPLD,开放从核CPLD的第一反馈信号、通过数据总线、地址总线、时钟信号、写信号和片选信号,建立主核DSP与从核CPLD间的通讯连接,执行步骤S6;从核CPLD清空自己的,执行步骤S16;
步骤S6:主核DSP经节点管理创建向前看队列;
步骤S7:主核DSP读取经代码解释后新的数据信息,并将代码解释后新的数据信息按照机械加工的顺序存入到向前看队列的每个节点;
步骤S8:主核DSP管理向前看队列,并优化向前看队列中每个节点的节点速度;
步骤S9:主核DSP管理向前看队列,并实时地修正优化后向前看队列中每个节点的节点速度;
步骤S10:主核DSP管理向前看队列,利用速度插补,计算一个插补周期内各轴的运动数据;
步骤S11:主核DSP等待同步控制信号,如果没有接收到同步信号,继续等待,如果接收到同步信号,执行步骤S12;
步骤S12:主核DSP将一个插补周期内各轴的运动数据发送给从核CPLD;
步骤S13:主核DSP判断加工文件是否结束,如果结束,则执行步骤S14,如果没有结束,则执行步骤S7;
步骤S14:主核DSP卸载从核CPLD,即主核DSP将控制信号置为低电平,然后主核DSP执行步骤S15,从核CPLD执行步骤S19;
步骤S15:主核DSP退出机床运动控制程序;
步骤S16:从核CPLD开始工作
步骤S17:从核CPLD在需要读取每个电机轴的运动数据的时候,输出第一反馈信号到与门3,与门3将第一反馈信号与控制信号结合输出同步控制信号给主核DSP,然后从核CPLD从数据总线上开始接收主核DSP输出的每个电机轴的运动数据;
步骤S18:从核CPLD在读取每个电机轴的运动数据之后,经运算输出控制每个电机轴的脉冲信号;
步骤S19:从核CPLD退出机床运动控制程序。
为了合理的利用数字处理器DSP的运算资源,本发明将加工代码解释模块11从在线解释改为了离线解释,并将解释之后的信息转变为数字处理器DSP可以直接识别的二进制的数据结构信息,保存起来。当在线运行时,系统就可以避开繁琐的解释代码工作,直接读取二进制的数据结构信息,最大化地利用数字处理器DSP的运算能力。如图3所示加工代码解释流程示意图,对加工代码进行解释的步骤如下所述:
步骤21:代码解释模块开始解释加工代码;
步骤22:检测设置的机床运行的最大速度是否符合电机性能要求,如果符合要求,则执行步骤23,如果不符合要求,则执行214;
步骤23:检测设置的机床运行加工速度倍率是否符合大于0.1和小于1的要求,如果符合要求则执行步骤24,如果不符合要求则执行214;
步骤24:检测设置的机床运行加速度是否符合电机性能要求,如果符合要求则执行步骤25,如果不符合要求则执行214;
步骤25:加工代码读取完毕,则执行步骤215,加工代码没有读完,则执行步骤26;
步骤26:继续读取下一行加工代码;
步骤27:语法检测,即检测加工代码中,有没有前后矛盾的命令代码;
步骤28:判断语法是否错误,如果语法错误,执行步骤214;如果语法正确,执行步骤29;
步骤29:提取加工数据,即提取加工代码中各种曲线的空间坐标信息;
步骤210:机床运行边界检测,即根据加工代码中各种曲线的空间坐标信息以及机床尺寸信息检测机床按照加工代码中各种曲线运行时,是否会超出机床的边界,造成床头撞机床的现象;
步骤211:判断边界检测是否错误,如果边界检测错误,执行步骤214,如果边界检测正确,执行步骤212;
步骤212:转换数据格式,首先将由字母和数字组合的命令转变为由数字表示的命令,其次在保证加工精度的情况下,利用曲线拟合技术将加工代码中的各种复杂曲线拆分成可直接加工的线段,计算出线段两端点的空间坐标,最后将由数字表示的命令代码和线段两端点的空间坐标转换为二进制的数据;
步骤213:将转换后的二进制数据存取一个数据缓存区,执行步骤25;
步骤214:提示错误类型;
步骤215:退出改程序。
代码解释模块不仅需要负责解释代码,同时也需要负责检测代码,即查看代码中是否有语法问题,实际运行时机床是否会超出边界限制等。
在线运行时,最关键地控制算法,一个是速度优化算法,另一个是速度实时控制算法,对于速度优化算法,需要用到空间几何关系以及电机运行的相关参数,假设pi-1(a1...an)为前一节点,pi(a1...an)为当前节点,pi+1(a1...an)为下一节点,其中(a1...an)表示节点空间坐标,p表示节点,下标i-1表示为前一节点,i表示当前节点,i+1表示下一节点的标记,如图4本发明速度优化流程,优化向前看队列中每个节点的节点速度包括步骤如下:
步骤81:从节点管理模块15的向前看队列中读取相邻三个节点,提取该相邻三个节点的线段端点空间坐标,表示为pi-1(a1...an)前一节点、pi(a1...an)当前节点、pi+1(a1...an)下一节点,由此可以得到多维空间向量x(a1...an)和y(a1...an),见公式(1),(2);
步骤82:利用多维空间向量夹角公式(3)计算出空间向量x(a1...an)与y(a1...an)的夹角θ;
步骤83:读取电机的运行加速度Amax
步骤84:利用多维空间向量x(a1...an)与y(a1...an)的夹角θ和电机的运行加速度Amax,以及插补周期T,计算机床运行到当前节点pi(a1...an)时的理论上的最大速度V′;
步骤85:读取当机床运行到当前节点pi(a1...an)时机床所允许的最大速度Vmax
步骤86:比较当前节点pi(a1...an)理论上的最大速度V′与机床运行到当前节点pi(a1...an)时机床所允许的最大速度Vmax,根据公式(5),求出当前节点pi(a1...an)的节点速度V。
根据图4的说明可知,根据这三个节点的节点空间坐标可以得到多维空间向量x(a1...an),y(a1...an),其中:
x(a1...an)=pi(a1...an)-pi-1(a1...an)        (1)
y(a1...an)=pi+1(a1...an)-pi(a1...an)        (2)
然后求出这多维空间向量x(a1...an)和y(a1...an)的空间夹角θ的余弦:
cos θ = | x · y | | x | | y | - - - ( 3 )
其中,x和y分别是多维空间向量x(a1...an)和y(a1...an)的缩写形式,假设电机的运行加速度为Amax,插补周期为T,那么当前节点pi(a1...an)的理论最大速度V′为:
V ′ = T · A max ( 1 - cos θ ) × 2 - - - ( 4 )
假设机床运行到当前节点时机床所允许的最大速度为Vmax,那么当前节点的节点速度V应该为:
V=min(V′,Vmax)               (5)
对于速度实时控制算法而言,最关键地是通过机床即将需要运行的轨迹和速度值,来自适应地修正机床当前的运行速度。速度实时控制所依据的是牛顿运动学的第二定律,假设前后两节点的节点速度为Vi-1和Vi,坐标为(c1...cn)和(b1...bn,其中下标i-1表示前节点,下标i表示后节点,两节点间的距离为Sl,电机的运行加速度Amax,那么他们之间必须遵守如下关系:
V i - 1 2 - V i 2 ≤ 2 A max S l - - - ( 6 )
其中:
S l = Σ j = 1 n ( c j - b j ) 2 - - - ( 7 )
考虑到在具体计算中,会有四舍五入,影响计算精度,因此,公式(6)必须改为:
V i - 1 2 - V i 2 ≤ 2 A max S l · μ - - - ( 8 )
其中,μ是一个安全系数,它的取值范围为:
0.6<μ<0.9                    (9)
在实施例中,μ的数值被设置为0.8。
图5示出本发明速度实时控制流程,实时地修正优化后向前看队列中每个节点的速度具体步骤如下所述:
步骤91:从节点管理模块15的向前看队列中按照机械加工的顺序读取相邻两个节点,先读取的节点为前节点、后读取的节点为后节点,提取前节点和后节点的节点空间坐标,前节点的节点空间坐标为(c1...cn)和后节点的节点空间坐标为(b1...bn);
步骤92:利用两点的空间距离公式,见公式(7),计算前后两节点的空间距离Sl
步骤93:提取前节点的节点速度Vi-1和后节点的节点速度Vi
步骤94:利用公式(8),判断前节点的节点速度是否符合要求,符合要求,则执行步骤95;不符合要求,则执行步骤96;
步骤95;再次利用公式(8),修正前节点的节点速度;
步骤96:不修改前节点的节点速度。
以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。

Claims (10)

1.一种基于双核控制构架协同工作的数控系统,其特征在于,该系统包括:第一逻辑单元、第二逻辑单元和与门,第一逻辑单元与第二逻辑单元通过地址总线和数据总线连接,在第一逻辑单元的一输出端和第二逻辑单元的一输出端之间连接有与门;所述与门的输入信号为第一逻辑单元的控制信号和第二逻辑单元的第一反馈信号,与门的输出为同步控制信号;在机械加工开始时,第一逻辑单元首先将控制信号置为高电平,然后读入加工代码进行代码解释,利用节点管理所创建的向前看队列读取代码解释后的数据,再经过速度优化,速度实时控制与速度插补后输出一个插补周期内每个电机轴的运动数据,包括运动速度,运动距离和运动方向;第二逻辑单元在需要一个周期内每个电机轴的运动数据的时候,输出第一反馈信号;该第一反馈信号和第一逻辑单元的控制信号经与门并输出同步控制信号;第一逻辑单元在接收到同步控制信号后,将一个周期内每个电机轴的运动数据通过数据总线和地址总线传给第二逻辑单元,第二逻辑单元在接收一个周期内每个电机轴的运动数据后,经运算输出控制电机的脉冲信号。
2.根据权利要求1所述的数控系统,其特征在于,所述第一逻辑单元包括:代码解释模块、节点管理模块、速度优化模块、速度实时控制模块和速度插补模块,为了数控系统控制的实时性,将代码解释模块放在离线时运行,将节点管理模块、速度优化模块、速度实时控制模块和速度插补模块放在在线控制时运行,其中:
所述代码解释模块读取加工代码,检测加工代码错误和翻译转变加工代码格式;该检测加工代码错误包括语法错误和加工安全指标错误,所述翻译转变加工代码格式包括命令代码解释和空间机床运行路径的代码解释;所述命令代码解释是将由字母和数字组合的命令转变为由数字表示的命令;所述空间机床运行路径的代码解释是在保证机械加工精度的情况下,利用曲线拟合技术,将各种复杂曲线拆分成能进行机械加工的线段,计算出线段端点的空间坐标,最后,将数字表示的命令和线段端点的空间坐标按照顺序以二进制的数据格式存入代码解释模块的数据缓存区;
所述节点管理模块与代码解释模块连接,节点管理模块建立一个用来预测的向前看队列,向前看队列由多个节点组成,节点管理模块预先从代码解释模块的数据缓存区读出数字表示的命令和线段端点的空间坐标,将数字表示的命令和线段端点的空间坐标存入到向前看队列的首节点至尾节点中,其中,节点中所记录的线段端点的空间坐标,又称为节点空间坐标;
所述速度优化模块与节点管理模块连接,速度优化模块读取节点管理模块的向前看队列中每个节点,提取节点空间坐标并建立多维空间向量,利用机械加工中前后相邻两个线段的空间夹角关系和电机的运行能力,计算出前后两条线段间连接点的速度,并将前后两条线段间连接点的速度存入到向前看队列的节点,因此,节点中所记录的连接点的速度又称为节点速度,所述前后两条线段间连接点为前条线段的后端点与后条线段的前端点相连的点;
所述速度实时控制模块与节点管理模块连接,速度实时控制模块读取节点管理模块的向前看队列的每个节点,提取向前看队列的每个节点的数字表示的命令、节点空间坐标以及节点速度,利用机械加工相邻节点中后一节点的节点速度修正前一节点的节点速度;
所述速度插补模块与节点管理模块连接,速度插补模块读取节点管理模块的向前看队列的首节点,提取向前看队列的首节点的节点速度和节点空间坐标,并由首节点的节点空间坐标计算出每个电机轴的运动分量,再结合首节点的节点速度,计算出每个电机轴在一个插补周期内的运动距离和运动速度。
3.根据权利要求1所述的数控系统,其特征在于,所述第二逻辑单元包括:协调同步工作模块和输出控制模块,其中:
所述协调同步工作模块与第一逻辑单元和输出控制模块连接,接收由第一逻辑单元输出的每个电机轴运动数据、控制信号和输出控制模块输出的第二反馈信号;第一逻辑单元通过控制信号启动协调同步工作模块,协调同步工作模块建立与第一逻辑单元的发送数据缓存区结构相同的接收数据缓存区,在数据缓存区数据不满的情况,协调同步工作模块输出第一反馈信号给与门,与门将第一反馈信号和控制信号结合输出同步控制信号,第一逻辑单元在接收到同步控制信号后将每个电机轴运动数据发送给协调同步工作模块,协调同步工作模块在接收到输出控制模块输出的第二反馈信号的时候,将每个电机轴运动数据发送给输出控制模块;
所述输出控制模块与协调同步工作模块连接,输出控制模块接收每个电机轴运动数据,输出控制模块利用基于主时钟频率的数字积分DDA直线插补方法生成并输出固定占空比的脉冲信号和方向信号,利用脉冲信号控制变频器驱动电机旋转,实现电机在转向时脉冲信号与方向信号的协调工作,以及再根据每个电机轴的运动参数完成了数字积分DDA直线插补之后,输出第二反馈信号。
4.根据权利要求1所述的数控系统,其特征在于:所述第一逻辑单元为主核采用数字处理器,第二逻辑单元为从核采用复杂系统可编程控制器,或者第一逻辑单元和第二逻辑单元采用数字处理器。
5.根据权利要求4所述的数控系统,其特征在于:所述数字处理器和复杂系统可编程控制器双核之间的数据传输方式为数字处理器传给复杂系统可编程控制器的单向传输。
6.按照权利要求1所述的数控系统,其特征在于:所述第一逻辑单元与第二逻辑单元都维护着自己的一个数据缓存区,即第一逻辑单元上为发送缓冲区,第二逻辑单元上为接收缓冲区,使得加工能更加安全。
7.一种利用权利要求1所述基于双核控制构架协同工作的数控系统的控制方法,其特征在于,该控制方法包括步骤如下:
步骤S1:运动控制开始;
步骤S2:第一逻辑单元读取加工代码,第一逻辑单元对加工代码进行代码解释;
步骤S3:第一逻辑单元根据代码解释的返回的信息,判断加工代码是否错误,如果错误,则执行S4,如果正确,则执行步骤S5;
步骤S4:第一逻辑单元退出机械加工程序,显示加工代码的错误原因;
步骤S5:第一逻辑单元将控制信号置为高电平,装载第二逻辑单元,使能第二逻辑单元的第一反馈信号,通过数据总线、地址总线、时钟信号、写信号和片选信号,建立第一逻辑单元与第二逻辑单元间的通讯连接,执行步骤S6;第二逻辑单元执行步骤S16;
步骤S6:第一逻辑单元经节点管理创建向前看队列;
步骤S7:第一逻辑单元读取经代码解释后新的数据信息,并将代码解释后新的数据信息按照机械加工的顺序存入到向前看队列的每个节点;
步骤S8:第一逻辑单元管理向前看队列,并优化向前看队列中每个节点的节点速度;
步骤S9:第一逻辑单元管理向前看队列,并实时地修正优化后向前看队列中每个节点的节点速度;
步骤S10:第一逻辑单元管理向前看队列,利用速度插补,计算一个插补周期内各轴的运动数据;
步骤S11:第一逻辑单元等待同步控制信号,如果没有接收到同步信号,继续等待,如果接收到同步信号,执行步骤S12;
步骤S12:第一逻辑单元将一个插补周期内各轴的运动数据发送给装载第二逻辑单元;
步骤S13:第一逻辑单元判断加工文件是否结束,如果结束,则执行步骤S14,如果没有结束,则执行步骤S7;
步骤S14:第一逻辑单元卸载第二逻辑单元,即第一逻辑单元将控制信号置为低电平,然后第一逻辑单元执行步骤S15,第二逻辑单元执行步骤S19;
步骤S15:第一逻辑单元退出机床运动控制程序;
步骤S16:第二逻辑单元开始工作;
步骤S17:第二逻辑单元在需要读取每个电机轴的运动数据时,输出第一反馈信号到与门,与门将第一反馈信号与控制信号结合输出同步控制信号给第一逻辑单元,然后第二逻辑单元从数据总线上开始接收第一逻辑单元输出的每个电机轴的运动数据;
步骤S18:第二逻辑单元在读取每个电机轴的运动数据之后,经运算输出控制每个电机轴的脉冲信号;
步骤S19:第二逻辑单元退出机床运动控制程序。
8.根据权利要求7所述基于双核控制构架协同工作的数控系统的控制方法,其特征在于,所述对加工代码进行代码解释的步骤如下所述:
步骤21:代码解释模块开始解释加工代码;
步骤22:检测设置的机床运行的最大速度是否符合电机性能要求,如果符合要求,则执行步骤23,如果不符合要求,则执行214;
步骤23:检测设置的机床运行加工速度倍率是否符合大于0.1和小于1的要求,如果符合要求,则执行步骤24,如果不符合要求,则执行214;
步骤24:检测设置的机床运行加速度是否符合电机性能要求,如果符合要求,则执行步骤25,如果不符合要求,则执行214;
步骤25:加工代码读取完毕,则执行步骤215,加工代码没有读完,则执行步骤26;
步骤26:继续读取下一行加工代码;
步骤27:语法检测,即检测加工代码中,有没有前后矛盾的命令代码;
步骤28:判断语法是否错误,如果语法错误,执行步骤214;如果语法正确,执行步骤29;
步骤29:提取加工数据,即提取加工代码中各种曲线的空间坐标信息;
步骤210:机床运行边界检测,即根据加工代码中各种曲线的空间坐标信息以及机床尺寸信息检测机床按照加工代码中各种曲线运行时,是否会超出机床的边界,造成床头撞机床的现象;
步骤211:判断边界检测是否错误,如果边界检测错误,执行步骤214,如果边界检测正确,执行步骤212;
步骤212:转换数据格式,首先将由字母和数字组合的命令转变为由数字表示的命令,其次在保证加工精度的情况下,利用曲线拟合技术将加工代码中的各种复杂曲线拆分成可直接加工的线段,计算出线段两端点的空间坐标,最后将由数字表示的命令代码和线段两端点的空间坐标转换为二进制的数据;
步骤213:将转换后的二进制数据存取一个数据缓存区,执行步骤25;
步骤214:提示错误类型;
步骤215:退出程序。
9.根据权利要求7所述基于双核控制构架协同工作的数控系统的控制方法,其特征在于,所述优化向前看队列中每个节点的节点速度包括步骤如下:
步骤81:从节点管理模块的向前看队列中读取相邻三个节点,提取该相邻三个节点的节点空间坐标,表示为pi-1(a1...an)前一节点、pi(a1...an)当前节点、pi+1(a1...an)下一节点,其中(a1...an)表示节点空间坐标,由此可以得到多维空间向量x(a1...an)和y(a1...an);
步骤82:利用多维空间向量夹角
Figure FDA00002076481100061
公式计算出多维空间向量x(a1...an)与y(a1...an)的夹角,其中x和y分别是多维空间向量x(a1...an)和y(a1...an);
步骤83:读取电机的运行加速度Amax
步骤84:利用多维空间向量x(a1...an)与y(a1...an)的夹角θ和电机的运行加速度Amax,以及插补周期T,计算机床运行到当前节点pi(a1...an)时的理论最大速度V′;
步骤85:读取当机床运行到当前节点pi(a1...an)时机床所允许的最大速度Vmax
步骤86:利用公式V=min(V′,Vmax),求出当前节点的节点速度V。
10.根据权利要求7所述基于双核控制构架协同工作的数控系统的控制方法,其特征在于,所述实时地修正优化后向前看队列中每个节点的节点速度具体步骤如下所述:
步骤91:从节点管理模块的向前看队列中按照机械加工的顺序读取相邻两个节点,先读取的节点为前节点、后读取的节点为后节点,提取前节点和后节点的节点空间坐标,前节点的节点空间坐标为(c1...cn),后节点的节点空间坐标为(b1...bn);
步骤92:利用距离公式
Figure FDA00002076481100062
计算前后两节点的距离Sl
步骤93:提取前节点的节点速度Vi-1和后节点的节点速度Vi
步骤94:利用公式
Figure FDA00002076481100063
判断前节点的连接点的节点速度是否符合要求,符合要求,则执行步骤95;不符合要求,则执行步骤96,其中,μ是一个安全系数,它的取值范围为:0.6<μ<0.9,Amax是电机的运行加速度;
步骤95;再次利用公式修正前节点的节点速度;
步骤96:不修改前节点的节点速度。
CN2010101217262A 2010-03-10 2010-03-10 一种基于双核构架协同工作的数控系统及控制方法 Expired - Fee Related CN102193530B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010101217262A CN102193530B (zh) 2010-03-10 2010-03-10 一种基于双核构架协同工作的数控系统及控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010101217262A CN102193530B (zh) 2010-03-10 2010-03-10 一种基于双核构架协同工作的数控系统及控制方法

Publications (2)

Publication Number Publication Date
CN102193530A CN102193530A (zh) 2011-09-21
CN102193530B true CN102193530B (zh) 2012-12-19

Family

ID=44601737

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010101217262A Expired - Fee Related CN102193530B (zh) 2010-03-10 2010-03-10 一种基于双核构架协同工作的数控系统及控制方法

Country Status (1)

Country Link
CN (1) CN102193530B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102411340B (zh) * 2011-12-29 2013-06-19 湖南省耐为数控技术有限公司 机床控制器
CN102694641A (zh) * 2012-05-10 2012-09-26 四川电力科学研究院 一种镜像mcu实时同步方法
CN106681275B (zh) * 2015-11-05 2019-04-09 中国科学院沈阳计算技术研究所有限公司 一种数控加工程序段的前瞻预取方法
CN107045323B (zh) * 2017-05-26 2019-02-19 江苏理工学院 一种基于数字信号处理的运动控制系统及控制方法
CN110879568B (zh) * 2019-12-31 2023-05-23 南京工程学院 多轴联动经济型数控系统的运动控制方法
CN114063568B (zh) * 2021-11-18 2023-11-21 上海维宏电子科技股份有限公司 基于三次卷积插值实现数控系统倍率调整控制的方法、装置、处理器及计算机可读存储介质
CN116700134B (zh) * 2023-08-08 2023-10-27 华软盛科技有限公司 一种可以简化代码的工业数控方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5713253A (en) * 1994-10-07 1998-02-03 Toshiba Kikai Kabushiki Kaisha Rotational machining method
CN1967421A (zh) * 2005-11-18 2007-05-23 中国科学院沈阳计算技术研究所有限公司 微小程序段的动态前瞻处理方法及实现装置
CN101158864A (zh) * 2007-10-29 2008-04-09 江俊逢 计算机数字控制系统的数据流关联控制方法与体系结构

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4031369A (en) * 1975-08-12 1977-06-21 The Bendix Corporation Interpolation and control apparatus and method for a numerical control system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5713253A (en) * 1994-10-07 1998-02-03 Toshiba Kikai Kabushiki Kaisha Rotational machining method
CN1967421A (zh) * 2005-11-18 2007-05-23 中国科学院沈阳计算技术研究所有限公司 微小程序段的动态前瞻处理方法及实现装置
CN101158864A (zh) * 2007-10-29 2008-04-09 江俊逢 计算机数字控制系统的数据流关联控制方法与体系结构

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JP特开昭52-22679 1977.02.21

Also Published As

Publication number Publication date
CN102193530A (zh) 2011-09-21

Similar Documents

Publication Publication Date Title
CN102193530B (zh) 一种基于双核构架协同工作的数控系统及控制方法
CN100517144C (zh) 分布式开放体系结构的数控系统
CN104210302B (zh) 三维立体雕刻机、方法及系统
CN100451891C (zh) 微小程序段的动态前瞻处理方法及实现装置
CN103699056B (zh) 高速高精度数控加工的小线段实时平滑过渡插补方法
Zhou Petri nets in flexible and agile automation
CN103728923A (zh) 一种高效高平稳的数控系统柔性加减速控制方法
CN1630838B (zh) 数值控制方法及数值控制系统
CN102566511B (zh) 五轴数控系统刀心点插补路径插值方法
CN102354146B (zh) 一种运动控制系统及其位置控制方法
CN103765334A (zh) 用于模拟机床上加工过程的方法及系统
CN102023613A (zh) 一种五轴联动数控加工后置处理器及其处理方法
CN1936747A (zh) 一种编译型数控系统及其数控系统的编译与运行控制方法
CN108829045A (zh) 连续微直线段的衔接速度的优化方法及系统
Xu et al. Research and development of open CNC system based on PC and motion controller
CN102809945A (zh) 数控加工中的运动规划方法、运动规划器及其应用
CN1936745A (zh) 基于arm和dsp的嵌入式数控系统
CN108062049A (zh) 一种基于stm32的嵌入式多轴运动控制系统
CN103552072B (zh) 一种基于嵌入式控制器的机器人控制方法和装置
CN102306006A (zh) 基于串联数控系统上实现混联控制的数控系统
CN106444641A (zh) 带有独立a/d转换模块的木工复合加工设备
CN206400340U (zh) 带有独立a/d转换模块的木工复合加工设备
Zhang et al. Refining process logic from CNC part programmes for integrated STEP-NC compliant manufacturing of prismatic parts
CN202257130U (zh) 具逻辑控制的人机界面运动控制器
Hong et al. Research on the data hungry problem in cnc system based on the architecture of real-time multitask

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121219

CF01 Termination of patent right due to non-payment of annual fee