一种基于cmc的分布式运动控制系统的制作方法
【专利摘要】本发明公开了一种基于CMC的分布式运动控制系统,包括上位机、交换机以及CMC控制节点,上位机运行有控制程序并监控整个系统的状态,上位机与交换机通过网络连接,各个交换机之间通过网络连接,每个交换机与若干个CMC控制节点相连,每个CMC控制节点中包含一个CMC芯片,每个CMC芯片都包含用于轨迹插补算法的运动控制器和用于数据处理的逻辑控制器两个高速并行控制的协处理模,每个CMC控制节点都支持四轴运动控制和三轴联合运动控制。本发明功耗低、可拓展性强、低成本、控制精度高,每个交换机下可搭载48路CMC控制节点,CMC内部的运动控制单元以及逻辑控制单元并行处理使运算速度更快,插补算法的精度也更高。
【专利说明】
一种基于CMC的分布式运动控制系统
技术领域
[0001]本发明涉及一种数控技术领域的运动控制系统,具体是一种基于CMC(片上控制模块,Control Module on Chip)的分布式运动控制系统。
【背景技术】
[0002]在数控技术领域中,运动控制器作为数字化控制的核心部件,近年来许多产品推出。运动控制器通常采用的是“运动控制卡+PC”的结构,PC主要起到人机交互的功能,而运动控制器则实现了将上位机控制指令转变为期望的机械运动,实现精确的位置、速度或者转矩控制。
[0003]对比现有的运动控制卡(例如台达的PCI总线高速运动控制轴卡)可以发现,当前的产品具有价格昂贵、拓展性差、功耗高等缺陷。而简易的ARM+FPGA组合的分布式运动控制同步精度低,运行以及通讯速度慢,可拓展的数量有限,多轴联合运动插补精度较低。
【发明内容】
[0004]本发明主要是解决现有技术所存在的价格昂贵、拓展性差、功耗高,ARM+FPGA组合同步精度低,轨迹插补算法需要占用相应的CHJ周期,插补速度慢、精度较低,且不具备48路控制节点的拓展能力等的技术问题,提供了一种基于CMC的分布式运动控制系统,以CMC控制节点为核心,能够实现对运动指令的硬件译码,加快了运行速度以及精度,单个交换机下可搭载48路CMC控制节点,通过交换机与上位机进行通讯。
[0005]本发明针对上述技术问题主要是通过下述技术方案得以解决的:一种基于CMC的分布式运动控制系统,包括上位机、交换机以及CMC控制节点,其特征在于,上位机运行有控制程序并监控整个系统的状态,上位机与交换机通过网络连接,各个交换机之间通过网络连接,每个交换机与若干个CMC控制节点相连,每个CMC控制节点中包含一个CMC芯片,每个CMC芯片都包含用于轨迹插补算法的运动控制器和用于数据处理的逻辑控制器两个高速并行控制的协处理模,每个CMC控制节点都支持四轴运动控制和三轴联合运动控制。
[0006]作为优选,所述的上位机将通过上位机组态软件编写的运动/逻辑控制程序通过交换机网络传输给CMC控制节点用以控制及监测各轴运动状态,运动/逻辑控制程序包括梯形图、G代码和/或运动控制命令。
[0007]作为优选,上位机与一台交换机直接连接,所有的交换机串联,每个交换机分配同一网段内的ip地址至各个CMC控制节点,每个交换机最多支持48路CMC控制节点,每个交换机所连接的所有CMC控制节点中的一个为主节点,其余为从节点。
[0008]作为优选,每个CMC控制节点有两个网口,每个网口都与对应的交换机连接,实现链路冗余。
[0009]作为优选,CMC控制节点包括CMC芯片以及ADC、PWM输出电路、通信接口 ;CMC芯片内部集成了CPU模块、RAM模块和FALSH模块;CMC芯片由内部总线和功能模块组成,内部总线包括片内高速总线(AHB,the Advanced High-performance Bus)和片内低速总线(APB,theAdvanced Peripheral Bus),片内高速总线带宽为32位,片内低速总线带宽为16位,片内高速总线和片内低速总线通过总线桥联接,内部功能模块挂载在片内高速总线或片内低速总线上,运动控制器和逻辑控制器都挂载在片内高速总线上;CMC控制节点多数据接口支持EPA、Modbus 和 CANOp en 通信协议。
[0010]CMC芯片集成了组态处理、程序存储、信号输入输出、控制算法、通讯接口等功能,可实现片内逻辑控制和运动控制,程序处理及调度管理,数字量信号处理,多种数据接口通信,其中逻辑控制包括对上位机编写的逻辑控制程序如梯形图、IL、ST等进行执行处理,运动控制主要包括对上位机编写的运动控制程序如G代码进行执行处理,数字量处理包括开关信号、频率信号处理、脉冲信号输入输出,PWM输出,正交编码器输入等,芯片集成了?1&811、31^1、通用定时器、?1^、实时钟,以及以太网1^(:、1^1?1'、0413?1、12(:等多种通信接
□ O
[0011]功能模块包括公共资源、控制运算、通信接口和数字量处理几大部分,其中公共资源包括中断控制、外部中断、定时器、实时钟、看门狗、DAM控制器等,控制运算包括系统管理、逻辑控制和运动控制,数字量处理包括脉冲输入输出和通用1等,通信接口包括SP1、I2C、CAN、UART、以太网 MAC 等。
[0012]作为优选,CMC控制节点内部还具有控制核心CMU,控制核心CMU都挂载在片内高速总线上,控制指令由上位机经网络传输至每个CMC控制节点,并根据控制指令的类型分配至相应的内部功能模块;其中运动控制器读取G指令实现轨迹插补算法以及运动控制信号的输出,逻辑控制器实现数据处理以及传输功能,运动控制器、逻辑控制器和控制核心CMU通过总线仲裁器选择控制指令的输出,实现并行高速控制。
[0013]作为优选,CMC控制节点支持JB/T3208-1999标准G代码程序,32位定长指令集格式,每个CMC控制节点能对独立的四个电机驱动轴进行插补控制器和速度控制,并且支持最大三轴联动控制,支持寄存器指令控制以及自动读取G指令执行两种工作方式;CMC控制节点以提供寄存器访问的方式,直接执行运动指令,或通过自动读取并执行G代码指令集,获取指令参数并以脉冲串形式输出特定频率的脉冲实现对伺服/步进电机的插补驱动控制、速度控制和单轴位置控制。CMC控制节点可以针对不定长的指令进行自动判断,通过识别指令标识符,自动的判断读取指令的条数,通过执行标准或者非标准的G代码指令,完成相应的运动控制功能。
[0014]CMC控制节点支持反馈输入,数字量处理的GP1 口能采集手摇脉冲输入信号与随动运动,支持随动控制编程。
[00? 5 ]作为优选,CMC控制节点之间通过CAN总线实现同步,主节点使用组态程序,在特定时刻以广播报文的形式向各个从节点发送启动命令,从节点在接收到同步报文后执行相应节点间同步操作,同步精度为Ius。
[0016]作为优选,系统支持用户程序的在线下载以及在线调试,并且提供CMC控制节点的报警输出以及上位机诊断软件的报警输出;CMC控制节点的控制程序经过第一次串口下载完成后,后续的更新由上位机发送至网络中对应ip的控制节点来实现。
[0017]作为优选,CMC控制节点具有四种可选的工作模式,分别为运行模式、等待模式、休眠模式和停止模式:
运行模式,CMC控制节点启动后进入的默认模式,可正常执行芯片的全部功能; 等待模式,芯片的小部分外设停止工作;
休眠模式,芯片的大部分外设停止工作;
停止模式,几乎所有模块进入睡眠状态,只有用于唤醒的模块处于工作状态,此模式下功耗最低,系统可以通过复位、外部中断或者内部唤醒计数器的方式解除停止模式。
[0018]开启所有外设时系统的功耗达到最高,可通过软件关闭空闲状态外设的时钟信号从而节省一部分功耗。
[0019]本发明带来的实质性效果是,功耗低、可拓展性强、低成本、控制精度高,每个交换机下可搭载48路CMC控制节点,单个CMC控制节点即可支持最多四轴运动控制以及三轴联合运动,CMC内部的运动控制单元以及逻辑控制单元并行处理使运算速度更快,插补算法的精度也更高。
[0020]CMC控制节点主要由CMC芯片构成,CMC芯片具有体积小、功耗低、成本小、运算速度快等优点,硬件实现的插补算法满足高精度运动控制的要求,芯片集成的CPU、RAM、FLASH、ADC等模块大大减小了外围的元器件数目,提高了系统的稳定性,同时,支持多种标准接口以及通讯协议,使其可以应用于各种嵌入式场合。CMC芯片中MCP和LCP模块的独立并行高速运行,确保了插补的精度以及速度。
[0021]基于CAN总线的节点间同步可以实现满足较高的时钟同步精度要求,初次串口下载程序后可通过网口进行更新也大大减轻了操作负担。
【附图说明】
[0022]图1是本发明一种结构示意图;
图2是本发明中CMC控制节点的CMC芯片系统结构图;
图中:1、上位机,2、交换机,3、CMC控制节点,4、CAN总线。
【具体实施方式】
[0023]下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
[0024]实施例:本实施例的一种基于CMC的分布式运动控制系统,如图1所示,包括上位机1、交换机2以及CMC控制节点3,上位机运行有控制程序并监控整个系统的状态,上位机与交换机通过网络连接,各个交换机之间通过网络连接,每个交换机与若干个CMC控制节点相连,每个CMC控制节点中包含一个CMC芯片,每个CMC芯片都包含用于轨迹插补算法的运动控制器和用于数据处理的逻辑控制器两个高速并行控制的协处理模,每个CMC控制节点都支持四轴运动控制和三轴联合运动控制。
[0025]上位机将通过上位机组态软件编写的运动/逻辑控制程序通过交换机网络传输给CMC控制节点用以控制及监测各轴运动状态,运动/逻辑控制程序包括梯形图、G代码和/或运动控制命令。
[0026]上位机与一台交换机直接连接,所有的交换机串联,每个交换机分配同一网段内的ip地址至各个CMC控制节点,每个交换机最多支持48路CMC控制节点,每个交换机所连接的所有CMC控制节点中的一个为主节点,其余为从节点。
[0027]每个CMC控制节点有两个网口,每个网口都与对应的交换机连接,实现链路冗余,大大增加了网络的健壮性、稳定性。
[0028]CMC控制节点包括CMC芯片以及ADC、PTOl输出电路、通信接口。如图2所示,CMC芯片内部集成了CPU模块、RAM模块和FALSH模块;CMC芯片由内部总线和功能模块组成,内部总线包括片内高速总线(AHB,the Advanced High-performance Bus)和片内低速总线(APB,theAdvanced Peripheral Bus),片内高速总线带宽为32位,片内低速总线带宽为16位,片内高速总线和片内低速总线通过总线桥联接,内部功能模块挂载在片内高速总线或片内低速总线上,运动控制器和逻辑控制器都挂载在片内高速总线上;CMC控制节点多数据接口支持EPA、Modbus 和 CANOp en 通信协议。
[0029]CMC芯片集成了组态处理、程序存储、信号输入输出、控制算法、通讯接口等功能,可实现片内逻辑控制和运动控制,程序处理及调度管理,数字量信号处理,多种数据接口通信,其中逻辑控制包括对上位机编写的逻辑控制程序如梯形图、IL、ST等进行执行处理,运动控制主要包括对上位机编写的运动控制程序如G代码进行执行处理,数字量处理包括开关信号、频率信号处理、脉冲信号输入输出,PWM输出,正交编码器输入等,芯片集成了?1&811、31^1、通用定时器、?1^、实时钟,以及以太网1^(:、1^1?1'、0413?1、12(:等多种通信接
□ O
[0030]功能模块包括公共资源、控制运算、通信接口和数字量处理几大部分,其中公共资源包括中断控制、外部中断、定时器、实时钟、看门狗、DAM控制器等,控制运算包括系统管理、逻辑控制和运动控制,数字量处理包括脉冲输入输出和通用1等,通信接口包括SP1、I2C、CAN、UART、以太网 MAC 等。
[0031]CMC控制节点内部还具有控制核心CMU,控制核心CMU都挂载在片内高速总线上,控制指令由上位机经网络传输至每个CMC控制节点,并根据控制指令的类型分配至相应的内部功能模块;其中运动控制器读取G指令实现轨迹插补算法以及运动控制信号的输出,逻辑控制器实现数据处理以及传输功能,运动控制器、逻辑控制器和控制核心CMU通过总线仲裁器选择控制指令的输出,实现并行高速控制。
[0032]CMC控制节点支持JB/T 3208-1999标准G代码程序,32位定长指令集格式,每个CMC控制节点能对独立的四个电机驱动轴进行插补控制器和速度控制,并且支持最大三轴联动控制,支持寄存器指令控制以及自动读取G指令执行两种工作方式;CMC控制节点以提供寄存器访问的方式,直接执行运动指令,或通过自动读取并执行G代码指令集,获取指令参数并以脉冲串形式输出特定频率的脉冲实现对伺服/步进电机的插补驱动控制、速度控制和单轴位置控制。CMC控制节点可以针对不定长的指令进行自动判断,通过识别指令标识符,自动的判断读取指令的条数,通过执行标准或者非标准的G代码指令,完成相应的运动控制功能。
[0033]CMC控制节点支持反馈输入,数字量处理的GP1 口能采集手摇脉冲输入信号与随动运动,支持随动控制编程。
[0034]CMC控制节点之间通过CAN总线4实现同步,主节点使用组态程序,在特定时刻以广播报文的形式向各个从节点发送启动命令,从节点在接收到同步报文后执行相应节点间同步操作,同步精度为Ius。
[0035]每一个交换机下以CMC控制节点I作为主节点发起节点间同步信号,在特定时刻通过CAN总线以广播报文的形式发送同步指令,从节点收到报文后实现节点间同步。
[0036]系统支持用户程序的在线下载以及在线调试,并且提供CMC控制节点的报警输出以及上位机诊断软件的报警输出;CMC控制节点的控制程序经过第一次串口下载完成后,后续的更新由上位机发送至网络中对应ip的控制节点来实现。
[0037]CMC控制节点具有四种可选的工作模式,分别为运行模式、等待模式、休眠模式和停止模式:
运行模式,CMC控制节点启动后进入的默认模式,可正常执行芯片的全部功能;
等待模式,芯片的小部分外设停止工作;
休眠模式,芯片的大部分外设停止工作;
停止模式,几乎所有模块进入睡眠状态,只有用于唤醒的模块处于工作状态,此模式下功耗最低,系统可以通过复位、外部中断或者内部唤醒计数器的方式解除停止模式。
[0038]开启所有外设时系统的功耗达到最高,可通过软件关闭空闲状态外设的时钟信号从而节省一部分功耗。
[0039]本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
[0040]尽管本文较多地使用了上位机、交换机、运动控制器、逻辑控制器等术语,但并不排除使用其它术语的可能性。使用这些术语仅仅是为了更方便地描述和解释本发明的本质;把它们解释成任何一种附加的限制都是与本发明精神相违背的。
【主权项】
1.一种基于CMC的分布式运动控制系统,包括上位机、交换机以及CMC控制节点,其特征在于,上位机运行有控制程序并监控整个系统的状态,上位机与交换机通过网络连接,各个交换机之间通过网络连接,每个交换机与若干个CMC控制节点相连,每个CMC控制节点中包含一个CMC芯片,每个CMC芯片都包含用于轨迹插补算法的运动控制器和用于数据处理的逻辑控制器两个高速并行控制的协处理模块,每个CMC控制节点都支持四轴运动控制和三轴联合运动控制。2.如权利要求1所述的一种基于CMC的分布式运动控制系统,其特征在于,所述的上位机将通过上位机组态软件编写的运动/逻辑控制程序通过交换机网络传输给CMC控制节点用以控制及监测各轴运动状态,运动/逻辑控制程序包括梯形图、G代码和/或运动控制命令。3.如权利要求1或2所述的一种基于CMC的分布式运动控制系统,其特征在于,上位机与一台交换机直接连接,所有的交换机串联,每个交换机分配同一网段内的ip地址至各个CMC控制节点,每个交换机最多支持48路CMC控制节点,每个交换机所连接的所有CMC控制节点中的一个为主节点,其余为从节点。4.如权利要求3所述的一种基于CMC的分布式运动控制系统,其特征在于,每个CMC控制节点有两个网口,每个网口都与对应的交换机连接,实现链路冗余。5.如权利要求1所述的一种基于CMC的分布式运动控制系统,其特征在于,CMC控制节点包括CMC芯片以及ADC、P丽输出电路、通信接口 ; CMC芯片内部集成了CPU模块、RAM模块和FALSH模块;CMC芯片由内部总线和功能模块组成,内部总线包括片内高速总线和片内低速总线,片内高速总线带宽为32位,片内低速总线带宽为16位,片内高速总线和片内低速总线通过总线桥联接,内部功能模块挂载在片内高速总线或片内低速总线上,运动控制器和逻辑控制器都挂载在片内高速总线上;CMC控制节点多数据接口支持EPA、Modbus和CANOpen通信协议。6.如权利要求5所述的一种基于CMC的分布式运动控制系统,其特征在于,CMC控制节点内部还具有控制核心CMU,控制核心CMU都挂载在片内高速总线上,控制指令由上位机经网络传输至每个CMC控制节点,并根据控制指令的类型分配至相应的内部功能模块;其中运动控制器读取G指令实现轨迹插补算法以及运动控制信号的输出,逻辑控制器实现数据处理以及传输功能,运动控制器、逻辑控制器和控制核心CMU通过总线仲裁器选择控制指令的输出,实现并行高速控制。7.如权利要求6所述的一种基于CMC的分布式运动控制系统,其特征在于,CMC控制节点支持JB/T 3208-1999标准G代码程序,32位定长指令集格式,每个CMC控制节点能对独立的四个电机驱动轴进行插补控制器和速度控制,并且支持最大三轴联动控制,支持寄存器指令控制以及自动读取G指令执行两种工作方式;CMC控制节点以提供寄存器访问的方式,直接执行运动指令,或通过自动读取并执行G代码指令集,获取指令参数并以脉冲串形式输出特定频率的脉冲实现对伺服/步进电机的插补驱动控制、速度控制和单轴位置控制。8.如权利要求3所述的一种基于CMC的分布式运动控制系统,其特征在于,CMC控制节点之间通过以太网发送功能块实现同步,主节点使用组态程序,在特定时刻以广播报文的形式向各个从节点发送启动命令,从节点在接收到同步报文后执行相应节点间同步操作,同步精度为Ius。9.如权利要求1所述的一种基于CMC的分布式运动控制系统,其特征在于,系统支持用户程序的在线下载以及在线调试,并且提供CMC控制节点的报警输出以及上位机诊断软件的报警输出;CMC控制节点的控制程序经过第一次串口下载完成后,后续的更新由上位机发送至网络中对应ip的控制节点来实现。10.如权利要求1所述的一种基于CMC的分布式运动控制系统,其特征在于,CMC控制节点具有四种可选的工作模式,分别为运行模式、等待模式、休眠模式和停止模式: 运行模式,CMC控制节点启动后进入的默认模式,可正常执行芯片的全部功能; 等待模式,芯片的小部分外设停止工作; 休眠模式,芯片的大部分外设停止工作; 停止模式,几乎所有模块进入睡眠状态,只有用于唤醒的模块处于工作状态,此模式下功耗最低,系统可以通过复位、外部中断或者内部唤醒计数器的方式解除停止模式。
【文档编号】G05B19/418GK106094741SQ201610314722
【公开日】2016年11月9日
【申请日】2016年5月13日
【发明人】张建明, 邓鸿超, 王酉
【申请人】浙江大学