技术领域
[0001] 本
发明涉及工业自动化领域中
机器人的
电机运动控制系统,尤其涉及一种基于总线的分布式运动控制系统及方法。
背景技术
[0002] 目前,在工业运动控制中,
现场总线已经是一种应用很广泛的通讯方式。目前主流的基于总线的运动控制方案,是在
控制器中进行
位置、速度或转矩运算,并通过总线周期性的将其发送给从站
驱动器。
[0003] 现有的技术文献参见:公开号为“CN106125676A”的中国发明
专利申请说明书中公开了一种
机器人控制系统,该系统基于主流的总线运动控制方案,利用高性能处理器来完成大量计算。公开号为“CN107203177A”的中国发明专利申请说明书中公开了一种基于FPGA的多轴运动控制系统,该系统使用ARM芯片作为运动控制的控制器,FPGA芯片作为运动控制的
数据处理器,利用FPGA的高性能控制8个从轴运行。请参照图1,上述方案存在以下几点问题:
[0004] 首先,控制器100需要针对每个从站101进行大量的位置计算,这种计算在每个控制周期中都要进行,随着总线上挂载的从站101设备增多,计算量会呈线性成倍增加,最终将超出控制器100的运算能
力,为了解决这个问题,只能不断升级处理器性能;
[0005] 其次,控制器100为了完成大量的位置计算,只能增大控制周期,控制器100的
精度和性能会大大降低;由于控制器100要同时维护位置计算、总线主站和PLC逻辑,总线分配的
硬件资源不够,会导致总线的出错概率增大,导致对从站101的控制出错;
[0006] 此外,虽然
半导体技术发展迅猛,嵌入式处理器的运算能力越来越强,但是在很多应用场景中,从站101的数量较多,从站101的运动控制计算,消耗了大量的处理器资源,为了解决这个问题,只能采用升级处理器性能或者增大控制周期的手段,对控制器100的成本和性能造成很大的压力。
发明内容
[0007] 本发明要解决的技术问题在于,针对
现有技术的不足,提供一种基于总线的分布式运动控制系统及方法,该系统和方法能够简化主站的运动控制
算法,降低主站的运算量,充分利用从站的控制优势和计算性能,进而提高系统的工作效率,提高控制过程的可靠性与
稳定性。
[0008] 为解决上述技术问题,本发明采用如下技术方案。
[0009] 一种基于总线的分布式运动控制系统,其包括有:一主站控制器,用于生成运动控制参数,并发送所述运动控制参数;多个从站设备,所述主站控制器通过总线方式连接于多个从站设备,所述从站设备用于接收主站控制器发送的运动控制参数,所述从站设备用于根据运动控制参数计算电机的实时位置数据、速度数据和/或转矩数据,并
驱动电机运行。
[0010] 优选地,所述主站控制器包括有ARM处理器、PLC控
制模块和主站总线通讯模块。
[0011] 优选地,所述主站控制器生成的运动控制参数包括有运动位置数据、运动模式数据、
加速时间数据和/或减速时间数据。
[0012] 优选地,所述从站设备包括有运动
控制模块、驱动模块和从站总线通讯模块。
[0013] 优选地,所述主站控制器对应多个从站设备而设有地址映射表,所述主站控制器根据所述地址映射表向
指定的从站设备发送数据包,所述从站设备获取数据包中的运动控制参数,并将所述运动控制参数传递给运动控制模块,所述运动控制模块根据所述运动控制参数计算得出电机的实时位置数据、速度数据和/或转矩数据并加载于驱动模块,以供所述驱动模块驱动电机运行。
[0014] 优选地,所述主站控制器与多个从站设备通过EtherCAT总线协议建立拓扑结构。
[0015] 一种基于总线的分布式运动控制方法,该方法基于一系统实现,所述系统包括有一主站控制器及多个从站设备,所述主站控制器通过总线方式连接于多个从站设备,所述方法包括有:步骤S1,所述主站控制器生成运动控制参数;步骤S2,所述主站控制器将所述运动控制参数发送至指定的从站设备;步骤S3,所述从站设备接收所述运动控制参数;步骤S4,所述从站设备根据所述运动控制参数计算电机的实时位置数据、速度数据和/或转矩数据;步骤S5,所述从站设备根据步骤S4中的计算结果驱动电机运行。
[0016] 优选地,所述主站控制器包括有ARM处理器、PLC控制模块和主站总线通讯模块,所述从站设备包括有运动控制模块、驱动模块和从站总线通讯模块。
[0017] 优选地,所述步骤S1中,所述主站控制器生成的运动控制参数包括有运动位置数据、运动模式数据、加速时间数据和/或减速时间数据。
[0018] 优选地,所述步骤S2中,所述主站控制器对应多个从站设备而设有地址映射表,所述主站控制器根据所述地址映射表向指定的从站设备发送数据包;所述步骤S4中,所述从站设备获取数据包中的运动控制参数,并将所述运动控制参数传递给运动控制模块,所述运动控制模块根据所述运动控制参数计算得出电机的实时位置数据、速度数据和/或转矩数据并加载于驱动模块,以供所述驱动模块驱动电机运行。
[0019] 本发明公开的基于总线的分布式运动控制系统中,所述主站控制器生成运动控制参数后,将所述运动控制参数发送至指定的从站设备,所述从站设备接收所述运动控制参数后,根据所述运动控制参数计算电机的实时位置数据、速度数据和/或转矩数据,进而驱动电机运行。相比现有技术而言,本发明将大量的运动控制算法放在从站设备中,使得从站的控制优势和计算性能得到充分利用;同时,本发明降低了主站控制器的计算压力,主站只需专注于运动逻辑控制,从站数量的增加带来的计算量增加将大大降低,控制周期亦可降低,控制器的性能得到最大的发挥;其次,基于本发明的运动控制方案,控制器分配给总线主站的资源将大大增加,主站的可靠性和稳定性能得到保证;此外,本发明降低了对控制器的硬件平台的要求,同样的性能,采用这种方案的控制器成本较低。基于上述特性可见,本发明在机器人运动控制领域取得了突出的进步,适合在本领域内推广应用,并具有较好的应用前景。
附图说明
[0020] 图1为现有技术中机器人控制系统的组成
框图。
[0021] 图2为本发明基于总线的分布式运动控制系统组成框图。
具体实施方式
[0022] 下面结合附图和
实施例对本发明作更加详细的描述。
[0023] 本发明公开了一种基于总线的分布式运动控制系统,请参照图1,其包括有一主站控制器1及多个从站设备2,其中:
[0024] 所述主站控制器1用于生成运动控制参数,并发送所述运动控制参数;
[0025] 所述主站控制器1通过总线方式连接于多个从站设备2,所述从站设备2用于接收主站控制器1发送的运动控制参数,所述从站设备2用于根据运动控制参数计算电机的实时位置数据、速度数据和/或转矩数据,并驱动电机运行。
[0026] 上述系统中,所述主站控制器1生成运动控制参数后,将所述运动控制参数发送至指定的从站设备2,所述从站设备2接收所述运动控制参数后,根据所述运动控制参数计算电机的实时位置数据、速度数据和/或转矩数据,进而驱动电机运行。相比现有技术而言,本发明将大量的运动控制算法放在从站设备中,使得从站的控制优势和计算性能得到充分利用;同时,本发明降低了主站控制器的计算压力,主站只需专注于运动逻辑控制,从站数量的增加带来的计算量增加将大大降低,控制周期亦可降低,控制器的性能得到最大的发挥;其次,基于本发明的运动控制方案,控制器分配给总线主站的资源将大大增加,主站的可靠性和稳定性能得到保证;此外,本发明降低了对控制器的硬件平台的要求,同样的性能,采用这种方案的控制器成本较低。基于上述特性可见,本发明在机器人运动控制领域取得了突出的进步,适合在本领域内推广应用,并具有较好的应用前景。
[0027] 本实施例中,所述主站控制器1包括有ARM处理器、PLC控制模块和主站总线通讯模块。进一步地,所述主站控制器1生成的运动控制参数包括有运动位置数据、运动模式数据、加速时间数据和/或减速时间数据。
[0028] 关于从站的组成,所述从站设备2包括有运动控制模块20、驱动模块21和从站总线通讯模块。
[0029] 作为一种优选方式,所述主站控制器1对应多个从站设备2而设有地址映射表,所述主站控制器1根据所述地址映射表向指定的从站设备发送数据包,所述从站设备获取数据包中的运动控制参数,并将所述运动控制参数传递给运动控制模块20,所述运动控制模块20根据所述运动控制参数计算得出电机的实时位置数据、速度数据和/或转矩数据并加载于驱动模块21,以供所述驱动模块21驱动电机运行。
[0030] 关于具体的总线方式,所述主站控制器1与多个从站设备2通过EtherCAT总线协议建立拓扑结构。
[0031] 为了更好地描述本发明的技术方案,本发明还公开了一种基于总线的分布式运动控制方法,该方法基于一系统实现,所述系统包括有一主站控制器1及多个从站设备2,所述主站控制器1通过总线方式连接于多个从站设备2,所述方法包括有:
[0032] 步骤S1,所述主站控制器1生成运动控制参数;
[0033] 步骤S2,所述主站控制器1将所述运动控制参数发送至指定的从站设备2;
[0034] 步骤S3,所述从站设备2接收所述运动控制参数;
[0035] 步骤S4,所述从站设备2根据所述运动控制参数计算电机的实时位置数据、速度数据和/或转矩数据;
[0036] 步骤S5,所述从站设备2根据步骤S4中的计算结果驱动电机运行。
[0037] 上述方法的步骤S1中,所述主站控制器1生成的运动控制参数包括有运动位置数据、运动模式数据、加速时间数据和/或减速时间数据。
[0038] 此外,在所述步骤S2中,所述主站控制器1对应多个从站设备2而设有地址映射表,所述主站控制器1根据所述地址映射表向指定的从站设备发送数据包。
[0039] 所述步骤S4中,所述从站设备获取数据包中的运动控制参数,并将所述运动控制参数传递给运动控制模块20,所述运动控制模块20根据所述运动控制参数计算得出电机的实时位置数据、速度数据和/或转矩数据并加载于驱动模块21,以供所述驱动模块21驱动电机运行。
[0040] 本发明公开的基于总线的分布式运动控制系统及方法,其实际应用过程中,可参考如下实施例:
[0041] 本发明用于工业运动控制系统中,系统中控制器将用户编写程序中的各种运动参数根据一定的规则组织起来,并通过总线主站发送到总线中,从站设备根据自己的站号,从主站中获取对应的数据,将数据解析成对应的参数之后,由从站设备的运动控制模块进行运算,从站设备的驱动模块根据计算结果给电机发送脉冲驱动电机运行。
[0042] 其中,本发明系统由一个主站控制器和多个从站设备构成,主站的硬件平台是ARM等嵌入式平台处理器,运行实时
操作系统或者裸机,其中主要包含了PLC逻辑控制模块和总线主站通讯模块,控制逻辑执行运动指令时只在启动指令时计算指令需要的参数和数据,通过总线将这些参数传递给从站设备,控制器在运动过程中通过总线实时监听运动控制状态。
[0043] 从站通讯模块收到数据后,将参数传递给从站设备,从站设备内的运动控制引擎根据参数计算实时位置并交由内部驱动模块执行;运动完成后,从站设备通过总线将结果反馈给控制器,控制器控制逻辑继续执行。
[0044] 总线模拟的是EtherCAT总线的拓扑结构,EtherCAT是一种应用广泛的高速现场总线,结构简单、性能可靠;从站设备是一种驱动控制一体的从站驱动器,包括了总线从站通讯模块、运动控制模块和驱动模块。
[0045] 请参照2,用户通过编写PLC程序组织运动控制数据,调用总线将数据下发,总线本身会根据一定的算法调整数据包的编号,对应的从站设备在总线数据到达之后,会根据编号找到对应的数据包,获取控制器下发的数据。数据中包含了从站设备所需的运动控制参数,通过参照主站控制器和从站设备事先约定好的数据地址映射表,将参数传递给运动控制模块。运动控制模块根据参数,针对不同的运动模式,计算实时位置、速度或转矩,实时数据被传递给驱动模块,驱动模块发送脉冲驱动电机运行。
[0046] 以上所述只是本发明较佳的实施例,并不用于限制本发明,凡在本发明的技术范围内所做的
修改、等同替换或者改进等,均应包含在本发明所保护的范围内。