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

技术编号:25086362 阅读:31 留言:0更新日期:2020-07-31 23:29
本发明专利技术公开了一种集成CANopen协议的运动控制从站的实现方法、系统及介质,本发明专利技术方法包括初始化CiA301协议栈的定时器、通信外设和CiA301协议栈;如果检测到通信帧,则将通信数据帧转化进入CiA301协议栈并按需返回通讯数据,设置CiA402执行周期,在每一次通信中断若达到伺服周期执行条件则通过预设的控制算法模型生成对应的运动控制算法模块并将其集成到CiA402的执行周期中。本发明专利技术提供了集成CANopen标准协议的运动控制从站的标准化设计方法,可用于解决标准的CiA301通信协议集成、链路层与应用层协议数据转换、CiA402及运动控制算法模块的设计的标准化问题。

【技术实现步骤摘要】
一种集成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执行模块,用于通过计算同步帧发送次数本文档来自技高网
...

【技术保护点】
1.一种集成CANopen协议的运动控制从站的实现方法,其特征在于实施步骤包括:/n1)将CiA301协议栈的定时器与处理器内部的定时器进行连接,初始化通信外设和CiA301协议栈;/n2)检测系统接收到数据存储指令和是否存在错误,如果检测到数据存储指令则进行数据存储,如果检测到错误则进行报警提示;/n3)检测通信帧,如果检测到通信帧,则将总线链路层上传输的通信数据帧格式解析并转化为CANopen标准的帧格式进入CiA301协议栈,通过CiA301协议栈将数据帧进行处理并把相应结果存储;/n4)判断通信帧类型是否需要返回通信数据,如果需要返回通讯数据则将CiA301协议栈返回的CANopen标准帧解析并生成通信链路上传的数据帧格式并向总线发出;/n5)通过计算同步帧发送次数及同步周期,设置基于CANopen通信周期的CiA402执行周期,所述CiA402执行周期为伺服周期;/n6)在每一次通信中断时,判断同步帧接收次数是否达到伺服周期执行条件,若达到伺服周期执行条件则通过预设的符合CiA402功能要求的控制算法模型生成对应的运动控制算法模块并将其集成到CiA402的执行周期中,若没达到伺服周期执行条件则退出此次通信中断。/n...

【技术特征摘要】
1.一种集成CANopen协议的运动控制从站的实现方法,其特征在于实施步骤包括:
1)将CiA301协议栈的定时器与处理器内部的定时器进行连接,初始化通信外设和CiA301协议栈;
2)检测系统接收到数据存储指令和是否存在错误,如果检测到数据存储指令则进行数据存储,如果检测到错误则进行报警提示;
3)检测通信帧,如果检测到通信帧,则将总线链路层上传输的通信数据帧格式解析并转化为CANopen标准的帧格式进入CiA301协议栈,通过CiA301协议栈将数据帧进行处理并把相应结果存储;
4)判断通信帧类型是否需要返回通信数据,如果需要返回通讯数据则将CiA301协议栈返回的CANopen标准帧解析并生成通信链路上传的数据帧格式并向总线发出;
5)通过计算同步帧发送次数及同步周期,设置基于CANopen通信周期的CiA402执行周期,所述CiA402执行周期为伺服周期;
6)在每一次通信中断时,判断同步帧接收次数是否达到伺服周期执行条件,若达到伺服周期执行条件则通过预设的符合CiA402功能要求的控制算法模型生成对应的运动控制算法模块并将其集成到CiA402的执行周期中,若没达到伺服周期执行条件则退出此次通信中断。


2.根据权利要求1所述的集成CANopen协议的运动控制从站的实现方法,其特征在于,步骤1)的详细步骤包括:上电后首先将处理器内部的定时器与CiA301协议栈中的定时器TimeDispatch相关联以为CiA301协议栈提供时间基准,然后初始化处理器外设和CiA301协议栈,所述初始化处理器外设时包括获取处理器的通信外设及节点号。


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


4.根据权利要求1所述的集成CANopen协议的运动控制从站的实现方法,其特征在于,步骤3)的详细步骤包括:判断是否接收到通信数据,在确定接收到通信数据后将接收的数据进行解析得到ID、帧类型、数据,再将解析结果组合成为CANopen标准数据帧,然后将组合后和结果放入CiA301协议栈进行处理。


5.根据权利要求1所述的集成CANopen协议的运动控制从站的实现方法,其特征在于,步骤4)的详细步骤包括:判断协议栈是否需要发送数据帧,当需要发送数据帧时将要发送的数据进行解析得到ID、帧类型、数据,再将解析结果组合成为CANopen标准数据帧,然后将组合后和结果发送至链路层,以通过微处理器的通信接口发送到总线上。


6.根据权利要求1所述的集成CANopen协议的运动控制从站的实现...

【专利技术属性】
技术研发人员:陈凌宇黄征宇杜卯春范大鹏张连超朱文亮何爱华范世询
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1