一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于工业PC的多通道多轴联动的数控系统及方法与流程

2021-09-25 05:04:00 来源:中国专利 TAG:联动 通道 数控系统 方法 工业

基于工业pc的多通道多轴联动的数控系统及方法
技术领域
1.本发明涉及数控技术领域,具体涉及基于工业pc的多通道多轴联动的数控系统及方法。


背景技术:

2.传统单通道数控系统只能进行一个工序的加工,而具有多通道控制功能的数控系统则能同时完成多个工序的加工,相当于在一台机床上就可完成多台机床的加工工序。支持多通道功能的数控系统相当于一个数控系统中有多个控制程序,可以在同一台机床控制不同运动部件的运动,也可以同时控制几台不同机床或装备进行运动。
3.目前,国内的通用型数控系统硬件平台主控单元一般是arm架构嵌入式平台。由于arm架构主频是500mhz

1ghz,较低的主频意味着处理能力受限,所以基于嵌入式平台的数控系统主要是单通道控制,总共控制轴数不多于10轴,无法满足更多通道更多轴数对cpu高速运算的开销需求。主控单元也有采用“pc nc”形式,pc主要负责人机界面交互,nc即为arm或dsp嵌入式cpu负责实时控制。实际上,“pc nc”形式的数控系统对cpu开销需求大的核心控制算法仍是放在nc嵌入式平台里运算,故也无法满足本发明的多通道多轴数控制对cpu高速运算的开销需求。而且还会引入另外一个问题,就是pc和nc之间数据通信的瓶颈、数据传输错误的问题。
4.此外,嵌入式数控系统软件有的运行在没有操作系统的裸机状态,任务调度通过中断或者采用时间片的方式,开发者自己实现任务调度;有的数控系统运行简单的实时操作系统内核(如μc/os

ii),调度plc、插补等任务;但这种数控系统对文件系统、网络等应用程序需要开发者从底层自行搭建,设计相对复杂麻烦。
5.再者,通用型嵌入式数控系统有的采用电平脉冲串信号,通过电缆发给交流伺服驱动器,交流伺服电机带动机床工作台到达指定位置,这种传输方法容易受到干扰丢失脉冲信号,传输距离近,而且每个电机都有一根电缆从数控系统到交流伺服驱动器连接,电缆数量多,不易于拓展。


技术实现要素:

6.本发明提出一种基于工业pc的多通道多轴联动的数控系统及方法,满足多通道多轴联动控制的处理能力开销需求,且易于拓展,其通过以下技术手段实现:
7.基于工业pc的多通道多轴联动的数控系统包括具有以太网通信模块的工业计算机,其基于ethercat总线与ethercat总线伺服驱动器和/或ethercat总线io模块连接,以实现数据交互与控制;
8.该工业计算机搭载具有xenomai实时内核的linux操作系统,于该linux操作系统上运行有用于多通道加工控制的数控软件,该数控软件具有对一个通道或同时对多个通道的进行操作或参数设置的操作界面。
9.于本发明的一个或多个实施例当中,该数控软件包括人机交互模块、运动控制模
块和逻辑控制模块,这些模块由软件数据总线连接并通信;
10.该人机交互模块基于工业计算机实现输入/输出,用于供用户设定加工程序和参数;
11.该运动控制模块根据加工程序执行编译、插补运算及生成对应的动作指令;
12.该逻辑控制模块用于机床的开关量输入与输出控制,采集机床主轴编码器,控制机床电气。
13.于本发明的一个或多个实施例当中,该人机交互模块包括有文件编辑模块、文件管理模块、加工操作模块、刀具偏置设置模块、参数设置模块和诊断维护模块,其中:
14.该文件编辑模块和文件管理模块为各通道所共用,该文件编辑模块用于对加工程序的编写,该文件管理模块用于标识当前加工程序运行于哪个通道上;该加工操作模块、刀具偏置设置模块、参数设置模块分别用于独立运行各通道加工程序、设置与修改各通道刀具偏置及参数。
15.于本发明的一个或多个实施例当中,该运动控制模块包括用于对于将加工程序解释成相应的数据指令的译码解释模块,以及根据数据指令进行运算处理并产生控制指令的实时控制模块。
16.于本发明的一个或多个实施例当中,该译码解释模块执行译码、路径规划、刀具半径补偿和空间变换操作,该实时控制模块用于根据数据指令执行速度规划、粗插补运算、fifo、逆运动学变换、精插补运算、精度补偿以及pid控制操作。
17.基于工业pc的多通道多轴联动的数控方法包括硬件配置步骤和软件配置步骤;
18.该硬件设置步骤包括:
19.s11,在工业计算机上搭在linux操作系统,并使用xenomai实时系统对linux操作系统进行实性改造,以令其具有实时性;
20.s12,于该linux操作系统上运行有用于多通道加工控制的数控软件;
21.s13,将工业计算机通过ethercat总线与ethercat总线伺服驱动器和/或ethercat总线io模块连接;
22.该软件配置步骤包括:
23.s21,在数控软件中搭建立人机交互系统以供用户编写加工程序、设置参数,该人机交互界面具有对一个通道或同时对多个通道的进行加工操作或参数设置的操作界面;
24.s22,在数控软件中搭建运动控制系统以根据加工程序执行编译、插补运算及生成对应的动作指令,其具有连接并驱动伺服驱动器与plc的两路输出;
25.s23,在plc上搭建逻辑控制系统以实现机床的开关量输入与输出控制。
26.于本发明的一个或多个实施例当中,在步骤s22中,定义运动控制系统依次执行以下操作:译码、路径规划、刀具半径补偿、空间变换、速度规划、粗插补运算、逆运动学变换、精插补运算、精度补偿、pid控制。
27.s23,在plc上搭建逻辑控制系统以实现机床的开关量输入与输出控制。
28.于本发明的一个或多个实施例当中,在步骤s22中,在粗插补运算与逆运动学变换之间设置fifo模块。
29.于本发明的一个或多个实施例当中,该软件配置步骤还包括:
30.s24,在各通道的插补动作前进行多通道协同控制,根据设定的任务定时器与信号
量进行各通道任务间的等待与切换。
31.于本发明的一个或多个实施例当中,多通道协同控制包括通道间同步控制和运动轴同步控制;
32.通道间同步控制包括:
33.s31,定义用于等待识别的代码指令m,代码指令m中包括有地址符p;
34.s32,当检测到代码指令m时,将各代码指令m中的地址符p值相加获得判断值,由该判断值唯一指向需等待的通道编号集;
35.运动轴同步控制包括:
36.s41,设定有主动轴以及与该主动轴保持同步的若干个从动轴,对该主动轴设定移动通道间同步控制步骤命令,将同步将移动命令转发至从动轴,从而令该从动轴与主动轴保持同步;
37.s42,若当前处于轴同步中且主动轴与从动轴在同一程序段时,则忽略从动轴的移动命令,仅执行主动轴的移动命令并将主动轴的移动命令拷贝到从动轴中。
38.本发明的有益效果是:基于工业pc且采用通用型操作系统linux,工业pc具有远超于arm架构平台处理主频,可满足多通道多轴联动控制对cpu高速运算的开销需求,而linux操作系统的文件系统、网络不需要开发者太多关注,开发资源丰富,有利于缩短开发周期;且采用xenomai实时操作系统对linux操作系统打补丁进行实时性改造,满足多通道多轴数控系统高实时性需求。同时,在控制输出方式上采用实时工业以太网ethercat总线将数控系统与交流伺服驱动器、io单元等外围设备通讯,减少了电缆数量,由于传输的不是物理脉冲串信号,而是数字量,因此传输的速率,可靠性都很高,可以控制更多的电机数量,易于拓展。
附图说明
39.图1为基于工业pc的多通道多轴联动的数控系统的硬件架构图。
40.图2为基于工业pc的多通道多轴联动的数控系统的软件架构图。
41.图3为基于工业pc的多通道多轴联动的数控方法的总流程图。
42.图4为基于工业pc的多通道多轴联动的数控方法的运算流程图。
43.图5为通道间同步控制示意图。
44.图6为运动轴同步控制示意图。
45.图7为多通道混合控制示意图。
46.图8为多通道重叠控制示意图。
具体实施方式
47.如下结合附图1至8对本技术方案作进一步描述:
48.参见附图1至2,基于工业pc的多通道多轴联动的数控系统包括具有以太网通信模块的工业计算机,例如采用选用主频为2ghz的intel j1900四核cpu的工业pc作为其硬件平台,其基于ethercat总线与ethercat总线伺服驱动器和/或ethercat总线io模块连接,以实现数据交互与控制;该工业计算机搭载具有xenomai实时内核的linux操作系统(ubuntu12.04,linux内核版本3.14.26),于该linux操作系统上运行有用于多通道加工控
制的数控软件4,该数控软件4具有对一个通道或同时对多个通道的进行加工操作或参数设置的操作界面,该数控软件包括人机交互模块、运动控制模块和逻辑控制模块,这些模块由软件数据总线连接并通信。
49.具体的,该人机交互模块基于工业计算机实现输入/输出,用于供用户编写加工程序和设置工艺参数;包括有文件编辑模块、文件管理模块、加工操作模块、刀具偏置设置模块、参数设置模块和诊断维护模块,其中:该文件编辑模块和文件管理模块为各通道所共用,该文件编辑模块用于对加工程序的编写,该文件管理模块用于标识加工程序当前运行于哪个通道上,该加工操作模块、刀具偏置设置模块、参数设置模块分别用于独立运行各通道加工程序、设置与修改各通道刀具偏置及参数。
50.多通道控制,每个通道可以同时执行不同的用户加工程序,每个通道有自己独立刀具偏置补偿模块,可通过机床操作面板的通道选择键选择不同的通道进行切换,本发明的通道刀具偏置补偿数据显示在人机界面上,并接受按键输入的数据,保存在本通道的数据区。
51.参数设置模块分为系统参数、通道参数、轴参数、加工参数、宏参数、补偿参数。系统参数是作用于整个数控系统,与通道参数无关,可以设置本系统最基本的参数,设置可以控制最多的机械组、最大的通道数等;通道参数、加工参数、宏参数、补偿参数是配置每个通道有自己独立的参数,可通过机床操作面板的通道选择键选择不同的通道进行切换,本通道的数据显示在操作界面上,并接受按键输入的数据,保存在本通道的数据区。轴参数与通道无关,主要设置各轴的速度参数、时间参数,通过按键选择不同的轴。
52.每个通道有手自动加工操作界面,可通过机床操作面板的通道选择键选择不同的通道进行切换,本通道的手自动加工坐标位置数据、加工的用户程序、报警信息显示在操作界面上。自动加工界面时,可以单独显示一个通道的加工信息,也可以两个或以上通道的加工信息同时显示在同一界面上。而机床操作面板对所有通道都可以使用,但是在同时刻只能由一个通道独享。可通过机床操作面板的通道选择键选择不同的通道进行切换,将机床操作面板切换给不同的通道使用。
53.该运动控制模块用于根据加工程序执行编译、插补运算及生成对应的动作指令,其通过ethercat总线向伺服驱动器发作动作指令;该运动控制模块包括用于对于将加工程序解释成相应的数据指令的译码解释模块,以及根据数据指令进行运算处理并产生控制指令的实时控制模块。译码解释模块进一步包括路径优化、刀具半径补偿模块、空间变换模块;该实时控制模块进一步包括路径规划模块、速度规划模块、粗插补运算模块、fifo模块、逆运动学变换模块、精插补运算模块、精度补偿模块、pid控制模块。即,该译码解释模块执行译码、路径规划、刀具半径补偿和空间变换操作,该实时控制模块用于根据数据指令执行速度规划、粗插补运算、fifo、逆运动学变换、精插补运算、精度补偿以及pid控制操作。
54.每个通道的运动轴是在笛卡尔坐标系里进行计算,数据在精插补、精度补偿里是按单轴运动空间计算,将全部通道数据转化为运动轴数据,与通道无关。
55.每个通道可以同时执行不同的程序,译码解释模块将用户程序解析成相应的数据指令格式,传递给实时控制模块,根据数据指令进行运算处理并产生控制指令,从而控制机床完成相应的动作。多通道控制的译码是每个通道建立自己的编译缓冲区,可独立载入加工程序,分别运行。在传统译码解释器的基础上,增加多通道指令的解释器的译码。译码过
程中还可调用本通道里的刀具补偿表信息,进行刀具长度、刀具半径补偿;并且根据g代码指令进行比例缩放、坐标旋转处理。译码解析的文件包含iso格式的g代码程序,指令表格式解析等,对需要译码解释的文件,最终都归一化处理为后续模块的数据格式输出到内部软件数据总线中;而对不需要译码参与解析的文件,比如路径表功能,则按约定的格式直接传输。
56.速度规划、插补运算是多通道数控系统的核心,每个通道接收对应通道的经译码解释并规范化的用户程序的笛卡尔坐标系位置信息、进给速度、直线线或曲线类型信息。速度规划采用前加减速,对线段进行前瞻预处理,使得程序段平滑过渡。速度规划模块根据机床特性对程序段的速度、加速度进行限制。插补模块根据每个程序段的目标速度、程序段间衔接速度、加速度、插补周期、脉冲当量,将程序段进行多轴联动直线、圆弧、样条插补,生成细化的各轴脉冲数据,通过软件数据总线,输出到位置控制模块,每个通道最多支持10轴联动,每个通道可以根据自己接受本通道的译码数据进行插补,最多可支持多达18个通道同时进行插补。
57.该逻辑控制模块用于机床的开关量输入与输出控制,其通过基于ethercat总线向机床的主轴编码器发送数据或接收主轴编码器的数据。
58.参见附图3至8,基于上述数控系统,本实施例提出对应的数控方法,其包括硬件配置步骤和软件配置步骤;
59.该硬件设置步骤包括:
60.s11,在工业计算机上搭在linux操作系统,并使用xenomai实时系统对linux操作系统进行实性改造,以令其具有实时性;
61.s12,于该linux操作系统上运行有用于多通道加工控制的数控软件;
62.s13,将工业计算机通过ethercat总线与ethercat总线伺服驱动器和/或ethercat总线io模块连接;
63.该软件配置步骤包括:
64.s21,在数控软件中搭建立人机交互系统以供用户编写加工程序和设置工艺参数,该人机交互界面具有对一个通道或同时对多个通道的进行操作或参数设置的操作界面;
65.s22,在数控软件中搭建运动控制系统以根据加工程序执行编译、插补运算及生成对应的动作指令,其具有连接并驱动伺服驱动器与plc的两路输出,其中一路输出通过ethercat总线连接伺服驱动器,另一路输出则连接plc;具体的,定义运动控制系统依次执行以下操作:路径规划、速度规划、粗插补运算、fifo、逆运动学变换、精插补运算、精度补偿、pid控制;其中,执行完pid控制操作后将动作指令输出到伺服驱动器,在经路径规划、刀具半径补偿、空间变换操作后动作指令输出到plc;逆运动学变换是根据各通道运动控制模块在笛卡尔坐标系中进行规划的机床位置和姿态,反算各轴在轴坐标系中的位移或旋转角度;精度补偿是对各轴的反向间隙、丝杆螺距、机床几何误差进行补偿;pid全闭环控制模块读取通过ehtercat总线采集到的各机床工作台实际位置;各轴脉冲累计值加上精度补偿数据,与机床工作台实际位置值进行比较,将差值在每个总线周期通过ehtercat总线送到交流伺服驱动器,实现电机的精确位置控制;
66.每个通道可以同时执行不同的程序,译码解释模块将用户程序解析成相应的数据指令格式,传递给实时控制模块,根据数据指令进行运算处理并产生控制指令,从而控制机
床完成相应的动作。多通道控制的译码是每个通道建立自己的编译缓冲区,可独立载入加工程序,分别运行。在传统译码解释器的基础上,增加多通道指令的解释器的译码。译码过程中还可调用本通道里的刀具补偿表信息,进行刀具长度、刀具半径补偿;并且根据g代码指令进行比例缩放、坐标旋转处理。译码解析的文件包含iso格式的g代码程序,指令表格式解析等,对需要译码解释的文件,最终都归一化处理为后续模块的数据格式输出到内部软件数据总线中;而对不需要译码参与解析的文件,比如路径表功能,则按约定的格式直接传输。
67.速度规划、插补运算是多通道数控系统的核心,每个通道接收对应通道的经译码解释并规范化的用户程序的笛卡尔坐标系位置信息、进给速度、直线线或曲线类型信息。速度规划采用前加减速,对线段进行前瞻预处理,使得程序段平滑过渡。速度规划模块根据机床特性对程序段的速度、加速度进行限制。插补模块根据每个程序段的目标速度、程序段间衔接速度、加速度、插补周期、脉冲当量,将程序段进行多轴联动直线、圆弧、样条插补,生成细化的各轴脉冲数据,通过软件数据总线,输出到位置控制模块,例如每个通道最多支持10轴联动,每个通道可以根据自己接受本通道的译码数据进行插补,最多可支持多达18个通道同时进行插补;
68.s23,在plc上搭建逻辑控制系统以实现机床的开关量输入与输出控制;
69.s24,在各通道的插补动作前进行多通道协同控制,根据设定的任务定时器与信号量进行各通道任务间的等待与切换。该多通道协同控制包括通道间同步控制和运动轴同步控制;
70.通道间同步控制包括:
71.s31,定义用于等待识别的代码指令m,代码指令m中包括有地址符p;
72.s32,当检测到代码指令m时,将各代码指令m中的地址符p值相加获得判断值,由该判断值唯一指向需等待的通道编号集;
73.运动轴同步控制包括:
74.s41,设定有主动轴以及与该主动轴保持同步的若干个从动轴,对该主动轴设定移动通道间同步控制步骤命令,将同步将移动命令转发至从动轴,从而令该从动轴与主动轴保持同步;
75.s42,若当前处于轴同步中且主动轴与从动轴在同一程序段时,则忽略从动轴的移动命令,仅执行主动轴的移动命令并将主动轴的移动命令拷贝到从动轴中。
76.多通道数控系统虽然每个通道是独立并行运行,但也有选定的通道需要协同一致,相互等待的情况。同步控制是多通道中协同控制的关键技术,通过对提供给用户的同步控制指令接口进行解释译码,对指定通道的指定任务进行定时器、信号量等实时监测控制来进行任务间的等待、切换等同步控制。本发明在插补器中触发控制完成调度。
77.支持通道间轴交换是实现灵活进行多通道控制的必要条件,传统的译码解释器由于用户在g代码编程时是按通道轴的名字来进行的,其每个通道的轴名均按相同的地址符进行,因此不便实施通道间轴的交换。
78.对于不同通道间的不同类型的机床轴同步其实现方案有采用设定主从通道的方式,以其中一个通道为主动通道,另外的通道为跟随通道,这样通过工件的初始值绝对量与主动通道的运动,实时计算从动轴的通道轴的运动量进行控制,与前馈补偿相类似;对于不
同通道间同一类型机床轴重叠控制通过共享插补数据缓存区。
79.例如:通道间同步控制步骤是,定义用于等待识别的代码指令m,代码指令m中包括有地址符p,即其格式为:m__p__;
80.当检测到代码指令m时,将各代码指令m中的地址符p值相加获得判断值,由该判断值唯一指向需等待的通道编号集;
81.其中,当代码指令m中的地址符p为空时,即判断值等于零,则默认为通道1和2之间的等待。
82.该地址符p包括二进制值或十进制值;当地址符p为二进制值时,每个地址符p具有n个数值位,并有且只有一个数值位为“1”,其余数值位为“0”。并且由进制参数来指定地址符p是二进制值或十进制值,该进制参数设定为“0”时,p地址符的值是二进制指定等待通道号;该进制参数设定为“1”时,p地址符的值是十进制指定等待通道号。
83.例如:
84.1)本实施例中地址符p为二进制值时,可指定18个通道,见下表;
85.表1二进制地址符
[0086][0087]
当通道1、通道2、通道3同时等待时,各地址符p的值为:
[0088]
通道1的二进制值“00 0000 0000 0000 0001”,对应十进制值为1;
[0089]
通道2的二进制值“00 0000 0000 0000 0010”,对应十进制值为2;
[0090]
通道3的二进制值“00 0000 0000 0000 0100”,,对应十进制值为4;
[0091]
由此相对得到判断值为“00 0000 0000 0000 0111”,对应十进制值为7,故判断值“7”代表通道1、2、3等待同步。
[0092]
2)本实施例中地址符p为十进制值时,则最多只能指定10个通道,见下表;
[0093]
表2十进制地址符
[0094][0095][0096]
当通道1、通道2、通道3同时等待时,判断值为数字1、2和3的相加组合,对于组合的顺序没有限制,通道10用数字0表示,当指定通道10等待时,数字0不能放在开始位。
[0097]
进一步的,通道间同步等待的数据结构包括:等待代码位、通道编号位、等待标志位以及通道状态位;
[0098]
该等待代码位和通道编号位用于记录代码指令m或置空,该等待标志位用于标识当前通道是否处于待执行等状的状态,该通道状态位用于标识当前通道状态,包括未执行等待、执行等待中、本次等待结束;
[0099]
当等待代码位和通道编号位记录有代码指令m,则将具有代码指令m的通道数据的地址符p执行运算以获得判断值,根据判断值更新标识各通道数据的等待标志位以及通道状态位。
[0100]
具体的,多通道之间的同步等待的同步流程参见附图1;为方便理解,以下举例数据结构定义和同步等待部分的执行代码。
[0101]
1)数据结构定义为:
[0102][0103]
2)同步等待的执行代码
[0104][0105]
运动轴同步控制步骤用于使多个轴(最大数量由当前通道插补最大轴数控制)同步移动,其包括:设定有主动轴以及与该主动轴保持同步的若干个从动轴,对该主动轴设定移动命令,将同步将移动命令转发至从动轴,从而令该从动轴与主动轴保持同步;
[0106]
若当前处于轴同步中且主动轴与从动轴在同一程序段时,则忽略从动轴的移动命令,仅执行主动轴的移动命令并将主动轴的移动命令拷贝到从动轴中。
[0107]
该轴同步指令中包括轴同步中的主动轴编号、从动轴编号和驻留指令位;该驻留指令位中:“0”代表驻留取消;“1”代表主动轴驻留、从动轴驻留取消;“2”代表从动轴驻留、主动轴驻留取消。驻留指令是指轴向驻停,即轴绝对坐标与机床坐标都改变,但不向电机输出位置命令。
[0108]
主动轴编号为通道号*100 通道内对应的轴号;从动轴编号为通道号*100 通道内
对应的轴号;当未指定通道号时,表示当前通道。主动轴编号包括正值或负值,当指定为负值时从动轴方向与主动轴方向相反。
[0109]
具体的,运动轴同步控制的动作示意图参见附图2;为方便理解,以下举例数据结构定义和同步等待部分的执行代码。
[0110]
1)多通道轴同步控制数据结构
[0111][0112]
2)多通道轴同步执行代码
[0113][0114]
多通道数控系统的主轴控制处理,通过plc信号或p指令可使各通道的主轴及编码器反馈可共用控制或交叉控制。多通道数控系统的底层软件主要ehtercat总线主站协议栈的实现。为了保证ehtercat总线主站协议栈实时性、需要选用实时性较高的网络接口芯片的工业pc机。
[0115]
上述优选实施方式应视为本技术方案实施方式的举例说明,凡与本技术方案雷同、近似或以此为基础作出的技术推演、替换、改进等,均应视为本专利的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜