一种集成CANopen协议的运动控制从站的实现方法、系统及介质与流程

文档序号:21691549发布日期:2020-07-31 22:09阅读:208来源:国知局
一种集成CANopen协议的运动控制从站的实现方法、系统及介质与流程

本发明涉及机器人的运动控制技术,具体涉及一种集成canopen协议的运动控制从站的实现方法、系统及介质,应用于符合canopen协议的plc运动控制从站底层实现。



背景技术:

canopen协议是一种广泛应用于工业现场控制的应用层协议,常在嵌入式系统中使用,包括通讯子协议和设备子协议。canopen协议可以集成于多种链路层总线上,具有对多个节点进行过程数据与服务数据的传输、设备状态监控、检错等功能;使用对象字典为现场控制主站与从站数据交换提供了标准的数据接口,是一种数据传输可靠、标准化程度极高、功能完善的现场总线应用层协议。

工业现场往往需要对工业设备的多个运动轴进行相关的运动控制,用以操作机械相关部件精确地实现位置、速度、力矩闭环控制。这使得控制过程中多个运动控制设备之间实时过程数据与非实时服务数据之间需要建立一个完善的数据传输使用通道,以满足多个设备协同控制的需要;此外由于各种运动控制器的软件结构的差异,不同设备的上位机程序、指令操作、维护存在差异,因此需要建立一种标准的运动控制程序架构,使编程方式、指令操作、维护维修方法趋于一致。在移植性上来说,运动控制器在设计时已经将程序固化,使用过程中无法改动,更难以实现跨平台移植;从应用领域的角度出发,适用于某一应用的运动控制器可能不能适应其他应用,也就是说一种运动控制器只能应用于单一应用场景;因此,针对运动控制器标准化、可重构、总线式控制等要求,通过结合canopen的cia301通信协议集成、cia402设备子协议集成,基于模型的运动控制算法设计等方法,并形成一种标准化程度高的总线式运动控制从站的设计方法,已经成为一项亟待解决的关键技术问题。



技术实现要素:

本发明要解决的技术问题:针对现有技术的上述问题,提供一种集成canopen协议的运动控制从站的实现方法、系统及介质,本发明提供了集成canopen标准协议的运动控制从站的标准化设计方法,可用于解决标准的cia301通信协议集成、链路层与应用层协议数据转换、cia402及运动控制算法模块的设计的标准化问题。

为了解决上述技术问题,本发明采用的技术方案为:

一种集成canopen协议的运动控制从站的实现方法,实施步骤包括:

1)将cia301协议栈的定时器与处理器内部的定时器进行连接,初始化通信外设和cia301协议栈;

2)检测系统接收到数据存储指令和是否存在错误,如果检测到数据存储指令则进行数据存储,如果检测到错误则进行报警;

3)检测通信帧,如果检测到通信帧,则将总线链路层上传输的通信数据帧格式解析并转化为canopen标准的帧格式进入cia301协议栈,通过cia301协议栈将数据帧进行处理并把相应结果存储;

4)判断数据存储指令是否需要返回通信数据,如果需要返回通讯数据则将cia301协议栈返回的canopen标准帧解析并生成通信链路上传的数据帧格式并向总线发出;

5)通过计算同步帧发送次数及同步周期,设置基于canopen通信周期的cia402执行周期,所述cia402执行周期为伺服周期;

6)在每一次通信中断时,判断同步帧接收次数是否达到伺服周期执行条件,若达到伺服周期执行条件则通过预设的符合cia402功能要求的控制算法模型生成对应的运动控制算法模块并将其集成到cia402的执行周期中,若没达到伺服周期执行条件则退出此次通信中断。

可选地,步骤1)的详细步骤包括:上电后首先将处理器内部的定时器与cia301协议栈中的定时器timedispatch相关联以为cia301协议栈提供时间基准,然后初始化处理器外设和cia301协议栈,所述初始化处理器外设时包括获取处理器的通信外设及节点号。

可选地,步骤2)的详细步骤包括:检测是否出现系统异常或者收到数据存储指令,如果出现系统异常或者收到数据存储指令则将对象字典中关键信息存到闪存flash中;检测从站是否出现错误状态,当检测到错误状态时进行报警提示,所述对象字典是一组具有16位地址长度的数据链表,分区间定义了从站的在运行过程中需要使用的数据、配置参数,所述配置参数包括:通信模式相关参数、从站通信的通道类型和数量配置参数、通道中传输的对象类型和索引号的配置等参数、运动控制指令和反馈及控制参数等由于运动控制过程需要使用的参数、便于功能扩充与升级的预定义参数。

可选地,步骤3)的详细步骤包括:判断是否接收到通信数据,在确定接收到通信数据后将接收的数据进行解析得到id、帧类型、数据,再将解析结果组合成为canopen标准数据帧,然后将组合后和结果放入cia301协议栈进行处理。

可选地,步骤4)的详细步骤包括:判断协议栈是否需要发送数据帧,当需要发送数据帧时将要发送的数据进行解析得到id、帧类型、数据,再将解析结果组合成为canopen标准数据帧,然后将组合后和结果发送至链路层,以通过微处理器的通信接口发送到总线上。

可选地,步骤6)中通过预设的符合cia402功能要求的控制算法模型生成对应的运动控制算法模块并将其集成到cia402的执行周期中的详细步骤包括:根据系统使能要求判断从站处于位置、速度、转矩、插补、回零中的何种运动模式;根据每一种模式的实际控制方式对指令进行解析并转换成为三环控制器中的位置指令或速度指令或电流指令;根据模式和指令,执行三环控制器中的电流环或速度环或位置环;所述三环控制器分别包括位置环、速度环和电流环,电机的反馈位置和规划位置一起作为位置环的位置环控制器的输入,位置环控制器的输出和速度指令一起作为第一模式选择器的输入,第一模式选择器的输出作为加减速规划模块的输入以生成规划速度;电机的速度通过反馈滤波器后与规划速度一起作为速度换的速度环控制器的输入,速度环控制器的输出和电流指令作为第二模式选择器的输入,第二模式选择器的输出则作为规划电流;电机的电流和规划电流一起作为电流环的电流环控制器的输入,电流环控制器的输出则通过输出陷波器输出给电机。

此外,本发明还提供一种集成canopen协议的运动控制从站的实现系统,包括:

初始化模块,用于将cia301协议栈的定时器与处理器内部的定时器进行连接,初始化通信外设和cia301协议栈;

主程序循环模块,用于检测检测是否出现系统异常或者收到数据存储指令,如果收到数据存储指令则将对象字典中关键信息存到闪存flash中;检测从站是否出现错误状态,当检测到错误状态则进行报警提示;

通信数据接收模块,用于将总线链路层上传输的通信数据帧格式解析并转化为canopen标准的帧格式进入cia301协议栈,通过cia301协议栈将数据帧进行处理并把相应结果存储;

对象字典模块,用于存储cia301协议栈处理后的数据帧;

通信数据发送模块,用于判断数据存储指令是否需要返回通信数据,如果需要返回通讯数据则将cia301协议栈返回的canopen标准帧解析并生成通信链路上传的数据帧格式并向总线发出;

cia402执行模块,用于通过计算同步帧发送次数及同步周期,设置基于canopen通信周期的cia402执行周期,所述cia402执行周期为伺服周期;

运动控制算法模块,用于在每一次通信中断时,判断同步帧接收次数是否达到伺服周期执行条件,若达到伺服周期执行条件则通过预设的符合cia402功能要求的控制算法模型生成对应的运动控制算法模块并将其集成到cia402的执行周期中,若没达到伺服周期执行条件则退出此次通信中断。

此外,本发明还提供一种集成canopen协议的运动控制从站的实现系统,包括计算机设备,该计算机设备被编程或配置以执行所述集成canopen协议的运动控制从站的实现方法的步骤。

此外,本发明还提供一种集成canopen协议的运动控制从站的实现系统,包括计算机设备,该计算机设备的存储器上存储有被编程或配置以执行所述集成canopen协议的运动控制从站的实现方法的计算机程序。

此外,本发明还提供一种计算机可读存储介质,该计算机可读存储介质上存储有被编程或配置以执行所述集成canopen协议的运动控制从站的实现方法的计算机程序。

和现有技术相比,本发明具有下述优点:本发明通过在通用mcu芯片中集成canopen通信协议和运动控制设备子协议的方式,形成了高度标准的运动控制从站,为工业控制领域中运动控制从站的设计与研发提供了可靠的方法。使用该方法不仅能够实现多节点分布式控制,还能方便的增加同步功能,使整个控制系统的过程数据与服务数据有序的传输。本发明提出的方法不局限于can通信链路层网络,通过cia301协议栈与通信数据接口集成方法,可以方便的将can链路层替换成ethercat等其他总线。通过采用cia402标准的集成及基于模型的控制算法设计方法,可以为所有运动控制设备提供一个标准的软件架构和控制算法架构,使运动控制相关设备开发周期大大减小。使用本专利所述的软件架构标准化程度高、便于在各硬件平台移植、可替换性好,能够广泛应用于精密加工、机器人、工业控制等领域。

附图说明

图1为本发明实施例方法的基本实现原理示意图。

图2为本发明实施例的系统结构框图。

图3是本发明实施例中主程序模块流程图。

图4是本发明实施例中通信数据接收模块流程图。

图5是本发明实施例中通信数据发送模块流程图。

图6是本发明实施例中运动控制算法整体框图。

具体实施方式

如图1所示,本实施例集成canopen协议的运动控制从站的实现方法的实施步骤包括:

1)将cia301协议栈的定时器与处理器内部的定时器进行连接,初始化通信外设和cia301协议栈;

2)检测系统接收到数据存储指令和是否存在错误,如果检测到数据存储指令则进行数据存储,如果检测到错误则进行报警;

3)检测通信帧,如果检测到通信帧则进行,将总线链路层上传输的通信数据帧格式解析并转化为canopen标准的帧格式进入cia301协议栈,通过cia301协议栈将数据帧进行处理并把相应结果存储;

4)判断通信帧类型是否需要返回通信数据,如果需要返回通讯数据则将cia301协议栈返回的canopen标准帧解析并生成通信链路上传的数据帧格式并向总线发出;

5)通过计算同步帧发送次数及同步周期,设置基于canopen通信周期的cia402执行周期,所述cia402执行周期为伺服周期;

6)在每一次通信中断时,判断同步帧接收次数是否达到伺服周期执行条件,若达到伺服周期执行条件则通过预设的符合cia402功能要求的控制算法模型生成对应的运动控制算法模块并将其集成到cia402的执行周期中,若没达到伺服周期执行条件则退出此次通信中断。

本实施例中,步骤1)的详细步骤包括:上电后首先将处理器内部的定时器与cia301协议栈中的定时器timedispatch相关联以为cia301协议栈提供时间基准,然后初始化处理器外设和cia301协议栈,所述初始化处理器外设时包括获取处理器的通信外设及节点号。

本实施例中,步骤2)的详细步骤包括:检测是否出现系统异常或者收到数据存储指令,如果出现系统异常或者收到数据存储指令则将对象字典中关键信息存到闪存flash中;检测从站是否出现错误状态,当检测到错误状态时进行报警提示,所述对象字典是一组具有16位地址长度的数据链表,分区间定义了从站的在运行过程中需要使用的数据、配置参数,所述配置参数包括:通信模式相关参数、从站通信的通道类型和数量配置参数、通道中传输的对象类型和索引号的配置等参数、运动控制指令和反馈及控制参数等由于运动控制过程需要使用的参数、便于功能扩充与升级的预定义参数。

本实施例中,步骤3)的详细步骤包括:判断是否接收到通信帧,在确定接收到通信帧后将接收的数据进行解析得到id、帧类型、数据,再将解析结果组合成为canopen标准数据帧,然后将组合后和结果放入cia301协议栈进行处理。

本实施例中,步骤4)的详细步骤包括:判断协议栈是否需要发送数据帧,当需要发送数据帧时将要发送的数据进行解析得到id、帧类型、数据,再将解析结果组合成为canopen标准数据帧,然后将组合后和结果发送至链路层,以通过微处理器的通信接口发送到总线上。

本实施例中,步骤6)中通过预设的符合cia402功能要求的控制算法模型生成对应的运动控制算法模块并将其集成到cia402的执行周期中的详细步骤包括:根据系统使能要求判断从站处于位置、速度、转矩、插补、回零中的何种运动模式;根据每一种模式的实际控制方式对指令进行解析并转换成为三环控制器中的位置指令或速度指令或电流指令;根据模式和指令,执行三环控制器中的电流环或速度环或位置环;所述三环控制器分别包括位置环、速度环和电流环,电机的反馈位置和规划位置一起作为位置环的位置环控制器的输入,位置环控制器的输出和速度指令一起作为第一模式选择器的输入,第一模式选择器的输出作为加减速规划模块的输入以生成规划速度;电机的速度通过反馈滤波器后与规划速度一起作为速度换的速度环控制器的输入,速度环控制器的输出和电流指令作为第二模式选择器的输入,第二模式选择器的输出则作为规划电流;电机的电流和规划电流一起作为电流环的电流环控制器的输入,电流环控制器的输出则通过输出陷波器输出给电机。

如图2所示,本实施例还提供一种集成canopen协议的运动控制从站的实现系统,包括:

初始化模块1,用于将cia301协议栈的定时器与处理器内部的定时器进行连接,初始化通信外设和cia301协议栈;

主程序循环模块2,检测系统接收到数据存储指令和是否存在错误,如果检测到数据存储指令则进行数据存储,如果检测到错误则进行报警;

通信数据接收模块3,用于判断是否接收到通信帧,在接收到通信帧后,将总线链路层上传输的通信数据帧格式解析并转化为canopen标准的帧格式进入cia301协议栈,通过cia301协议栈将数据帧进行处理并把相应结果存储;

对象字典模块4,用于存储cia301协议栈处理后的数据帧;

通信数据发送模块5,用于判断通信帧是否需要返回通信数据,如果需要返回通讯数据则将cia301协议栈返回的canopen标准帧解析并生成通信链路上传的数据帧格式并向总线发出;

cia402执行模块6,用于通过计算同步帧发送次数及同步周期,设置基于canopen通信周期的cia402执行周期,所述cia402执行周期为伺服周期;

运动控制算法模块7,用于在每一次通信中断时,判断同步帧接收次数是否达到伺服周期执行条件,若达到伺服周期执行条件则通过预设的符合cia402功能要求的控制算法模型生成对应的运动控制算法模块并将其集成到cia402的执行周期中,若没达到伺服周期执行条件则退出此次通信中断。

本实施例中,初始化模块1采用mcu的定时器作为时间基准,将cia301协议栈中与时间相关的函数与mcu定时器相关联,为协议栈相关的收发帧计时判断提供可靠的时间基准。

本实施例中,主程序循环模块2是在主程序循环中设计关键数据存储和错误状态监测、报警的功能模块。在接收到数据保存指令或其它极端情况后将od中数据保存到flash中,并且在检测到从站错误状态后产生错误报警帧和与其他外设相关的报警。

初始化模块1、主程序循环模块2都是主程序部分的构成。如图2所示,主程序部分流程图是在mcu上电后,主程序模块的整个程序流程,包括初始化和循环部分。首先上电后,将mcu定时器与cia301协议栈中timedispatch相关联,为协议栈提供时间基准。然后初始化mcu外设和cia301协议栈。在循环部分不断检测是否出现数据存储指令,若收到则将od中关键数据存入flash。同时检测canopen相关功能是否出现错误状态,若出现则启动错误报警机制。

本实施例中,通信数据接收模块3用于将接收到的链路层通信帧进行解析并按照canopen帧格式重组,并将重组后的帧放入cia301协议栈进行处理。如图3所示为通信数据接收模块3的通信终端服务函数中通信接收相关程序和cia402功能执行相关程序执行的程序流程。首先在确定接收到通信数据后将接收的数据进行解析得到id、帧类型、数据等,再将解析结果组合成为canopen标准数据帧,然后见组合后和结果放入cia301协议栈进行处理,如此则完成了通信接收相关功能。此时,cia401功能执行程序开始判断同步帧接收次数是否达到伺服周期执行条件,若达到条件则启动cia402逻辑框架并运行控制算法,若没达到条件则退出此次通信中断。

本实施例中,对象字典模块4用于存储cia301协议栈处理后的数据帧以及其他数据(例如指令和错误信息等),具体为采用对象字典进行存储。对象字典是一组具有16位地址长度的数据链表,分区间定义了从站的在运行过程中需要使用的数据、配置的参数。主要包括:通信模式相关参数、从站通信的通道类型和数量配置参数、通道中传输的对象类型和索引号的配置等参数、运动控制指令和反馈及控制参数等由于运动控制过程需要使用的参数、便于功能扩充与升级的预定义参数。主站可通过总线对对象字典中参数进行修改操作,而从站在执行功能时,直接从对象字典中取出指令、配置等参数实现相应功能。

通信数据发送模块5是实现在canopen协议栈输出模块中,将输出的canopen帧转换成为通信链路层中传输的帧格式并发送到链路层的功能模块。如图4所示为通信数据发送模块5将协议栈返回的数据发送到总线上的过程,在协议栈发送出口位置判断协议栈是否需要发送数据,若有则将要发送的数据帧进行解析,然后将解析结果按照链路层数据帧格式进行重组,然后再通过mcu相关外设将重组帧发送到总线上。

本实施例中,cia402执行模块6主要目的就是确定cia402设备子协议执行的周期。为尽可能避免中断嵌套带来的通信中断与定时中断的竞争,利用canopen协议周期性发送的过程数据和同步数据的传输特点,以此作为时间基准成为cia402执行时间的相关参数。

本实施例中,运动控制算法模块7采用matlab基于模型的设计方法,在simulink中建立用于转矩控制的电流环控制器作为内环。内环之上设计具有指令刻度转换、反馈低通滤波、加减速规划等功能的速度环。外环是具有指令刻度转换模块、输出陷波器、轨迹规划模块的位置环。将三环控制器所有配置参数、指令参数等都对照对象字典中相关对象进行命名,通过代码生成控制算法中的配置、指令等参数就能够与对象字典进行对应、即可集成在cia402执行模块中。运动控制算法模块7采通过建立符合cia402标准的运动控制执行逻辑,该逻辑通过分析cia402规定的位置模式、速度模式、转矩模式、插补模式、回零模式的实现原理,通过建立指令解析机制,将5种模式统一于三环运动控制体系中进行处理。

如图5所示,在运动控制算法模块7运行之初,首先根据系统使能要求判断从站处于位置、速度、转矩、插补、回零中的何种运动模式。然后根据每一种模式的实际控制方式对指令进行解析并转换成为三环控制体系中的位置指令或速度指令或电流指令。

插补模式是将插补指令转换成为每个控制周期被控对象的位置增量;回零模式先使用速度闭环控制搜索零点,在找到零点后记录下零点位置并使用位置闭环使控制运行至零点处。位置、速度、转矩三种模式下,则根据模式的指令,执行三环控制(电流环、速度环、位置环)中的某一环,或是某几环。其中三环控制器中设有速度环反馈滤波器,可对反馈速度信号进行低通滤波,滤除高频噪声;输出通道具有输出陷波器,能够通过设置陷波参数,使输出值避开被控对象机械系统的共振频率区间,使其平稳运行;速度指令通道上设计有加减速规划模块,能够通过设置加减速度使被控对象在运行过程中以设置的加减速运行,减少启停时产生的冲击;位置指令通道上设计有轨迹规划模块,预设有多种运行轨迹曲线,通过选择可使被控对象能够按照设置的轨迹运行。

此外,本实施例还提供一种集成canopen协议的运动控制从站的实现系统,包括计算机设备,该计算机设备被编程或配置以执行前述集成canopen协议的运动控制从站的实现方法的步骤。

此外,本实施例还提供一种集成canopen协议的运动控制从站的实现系统,包括计算机设备,该计算机设备的存储器上存储有被编程或配置以执行前述集成canopen协议的运动控制从站的实现方法的计算机程序。

此外,本实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有被编程或配置以执行前述集成canopen协议的运动控制从站的实现方法的计算机程序。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1