CN114995536A - 一种用于伺服电机的运动控制器 - Google Patents
一种用于伺服电机的运动控制器 Download PDFInfo
- Publication number
- CN114995536A CN114995536A CN202210942368.4A CN202210942368A CN114995536A CN 114995536 A CN114995536 A CN 114995536A CN 202210942368 A CN202210942368 A CN 202210942368A CN 114995536 A CN114995536 A CN 114995536A
- Authority
- CN
- China
- Prior art keywords
- motion
- servo motor
- module
- servo
- state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D13/00—Control of linear speed; Control of angular speed; Control of acceleration or deceleration, e.g. of a prime mover
- G05D13/62—Control of linear speed; Control of angular speed; Control of acceleration or deceleration, e.g. of a prime mover characterised by the use of electric means, e.g. use of a tachometric dynamo, use of a transducer converting an electric value into a displacement
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P23/00—Arrangements or methods for the control of AC motors characterised by a control method other than vector control
- H02P23/0077—Characterised by the use of a particular software algorithm
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P23/00—Arrangements or methods for the control of AC motors characterised by a control method other than vector control
- H02P23/14—Estimation or adaptation of motor parameters, e.g. rotor time constant, flux, speed, current or voltage
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P5/00—Arrangements specially adapted for regulating or controlling the speed or torque of two or more electric motors
- H02P5/74—Arrangements specially adapted for regulating or controlling the speed or torque of two or more electric motors controlling two or more ac dynamo-electric motors
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Position Or Direction (AREA)
Abstract
本发明提供了一种用于伺服电机的运动控制器,包括:依次通信连接的参数配置模块、运动功能模块、运动规划模块、状态切换模块、控制命令模块及适用于各种总线的通用通信模块;参数配置模块根据伺服电机参数配置伺服电机;运动功能模块被伺服电机调用时实现相应的运动功能并返回反馈信息;运动规划模块用于当运动功能模块被调用时规划伺服电机的位置和/或速度和/或扭力;状态切换模块根据反馈信息切换伺服电机的状态;控制命令模块根据位置和/或速度和/或扭力生成伺服控制命令并下发给伺服驱动器;通用通信模块用于伺服驱动器与运动控制器进行通信。本发明运动控制器加载了符合PLCopen标准的运动控制库,可靠性、兼容性出众。
Description
技术领域
本发明涉及运动控制技术领域,尤其是涉及一种用于伺服电机的运动控制器。
背景技术
运动控制器是实现现代装备智能化、网络化、集成化的核心部件,对提升装备的功能与性能都具有重要的作用。目前全球的自动化领域,几乎所有的中高端运动控制器开发软件均采用PLCopen组织的Motion库;但各个厂商基于竞争关系,为了保护各自利益,都会对MC库进行不同程序改动或者对硬件绑定进行限制,另外很多厂商采用的通信方式也不同,不具备兼容性和可移植性,造成用户迁移程序困难。
近年来,国内做运动控制器的厂家越来越多,用户对国产控制器的接受程度也越来越高。但目前国内的运动控制器还是采用PLCopen组织的Motion库,从安全性、可靠性、兼容性和必要性出发,国内亟需一套完全自主可控且适用国内环境的运动控制库。
发明内容
本发明的目的是提供一种用于伺服电机的运动控制器,以解决现有技术中运动控制器可靠性性、兼容性不够的技术问题。
本发明的目的,可以通过如下技术方案实现:
一种用于伺服电机的运动控制器,加载了符合PLCopen标准的运动控制库,所述运动控制器包括:
依次通信连接的参数配置模块、运动功能模块、运动规划模块、状态切换模块、控制命令模块及适用于各种总线的通用通信模块,所述通用通信模块与所述运动功能模块、所述控制命令模块通信连接;
其中,所述参数配置模块根据获取的伺服电机参数配置所述伺服电机;
所述运动功能模块被所述伺服电机调用时实现相应的运动功能并返回反馈信息;
所述运动规划模块用于当所述运动功能模块被调用时规划所述伺服电机的位置和/或速度和/或扭力;
所述状态切换模块根据所述反馈信息切换所述伺服电机的状态;
所述控制命令模块根据所述位置和/或速度和/或扭力生成伺服控制命令并下发给伺服驱动器;
所述通用通信模块用于所述伺服驱动器与所述运动控制器进行通信。
可选地,所述通用通信模块包括第一通信层和第二通信层;
其中,所述第一通信层用于所述运动控制器将所述控制命令发送给所述伺服驱动器,所述第二通信层用于所述伺服驱动器将所述反馈信息发送给所述运动控制器。
可选地,所述反馈信息至少包括所述伺服电机的实时位置,所述伺服电机通过所述实时位置与所述运动控制器进行动态加密绑定。
可选地,所述反馈信息还包括所述伺服电机的运行模式,所述伺服电机的运行模式包括:
位置模式、速度模式和扭力模式;
其中,所述位置模式控制所述伺服电机的运动位置,所述速度模式控制所述伺服电机的运动速度,所述扭力模式控制所述伺服电机的运动扭力。
可选地,所述伺服电机的状态至少包括离散运动状态、连续运动状态、同步运动状态、未使能状态、回零中状态,所述状态切换模块根据所述反馈信息切换所述伺服电机的状态至少包括:
在所述伺服电机处于未使能状态时,所述状态切换模块对所述伺服电机进行绝对值回零。
可选地,所述运动功能模块还包括运动模式切换指令,用于切换所述伺服电机的运行模式。
可选地,所述运动功能模块还包括轴回零指令,用于在所述伺服电机的状态为离散运动状态、连续运动状态、同步运动状态时,对所述伺服电机进行回零。
可选地,所述运动功能模块还包括位置预测过渡指令,用于将所述伺服电机的运行模式从所述速度模式切换到所述位置模式或从所述扭力模式切换到所述位置模式时,规划一个过渡曲线以保证运行模式切换过程的平滑过渡。
可选地,所述运动规划模块还规划所述伺服电机的加速度。
可选地,所述控制命令模块根据所述位置和/或速度和/或扭力生成伺服控制命令包括:
所述控制命令模块将所述位置和/或速度和/或扭力转换成脉冲单位生成伺服控制命令。
本发明提供了一种用于伺服电机的运动控制器,加载了符合PLCopen标准的运动控制库,所述运动控制器包括:依次通信连接的参数配置模块、运动功能模块、运动规划模块、状态切换模块、控制命令模块及适用于各种总线的通用通信模块,所述通用通信模块与所述运动功能模块、所述控制命令模块通信连接;其中,所述参数配置模块根据获取的伺服电机参数配置所述伺服电机;所述运动功能模块被所述伺服电机调用时实现相应的运动功能并返回反馈信息;所述运动规划模块用于当所述运动功能模块被调用时规划所述伺服电机的位置和/或速度和/或扭力;所述状态切换模块根据所述反馈信息切换所述伺服电机的状态;所述控制命令模块根据所述位置和/或速度和/或扭力生成伺服控制命令并下发给伺服驱动器;所述通用通信模块用于所述伺服驱动器与所述运动控制器进行通信。
基于上述技术方案,本发明带来的有益效果为:
本发明提供的用于伺服电机的运动控制器,加载了符合PLCopen标准的运动控制库,运动控制库的底层架构完全遵循IEC6113-3 及Cia 402等相关标准,可靠性、兼容性出众,能加载在不同的开发平台上,具备一致性和可移植性;状态切换模块采用统一的状态机以及语法规则,可以做到不同平台下互相移植;采用的通用通信模块不受总线标准限制,只要是实时总线均可使用。
附图说明
图1为本发明运动控制器的结构示意图;
图2为本发明伺服控制器的工作原理示意图;
图3为本发明状态切换模块的状态切换示意图;
图4为本发明通用通信模块的通信过程示意图;
图5为本发明实施例的位置规划示意图;
图6为本发明实施例的速度规划示意图;
图7为本发明实施例的加速度规划示意图。
具体实施方式
本发明实施例提供了一种用于伺服电机的运动控制器,以解决现有技术中运动控制器可靠性性、兼容性不够的技术问题。
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的首选实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
由PLCopen组织提供的Motion库(简称MC库),因为各大控制器厂商都在用,而各个厂商基于竞争关系,为了保护各自利益,都会对MC库进行了不同程序改动或者硬件绑定或者做了一些限制,另外很多厂商采用的通信方式也不同,例如:
OMRON的控制器,通信方式为EtherCat,软件平台为Sysmac Studio,通过对MC轴配置进行数量限制,如果用户要用软件自带的PLCopen的MC库来控制轴,就会有轴数的限制。
倍福以及众多国产控制器,通信方式为EtherCat,软件平台为CodeSys,SM3_Basic库,轴的变量非常混乱,很多需要呈现的信息都没有,有些控制模式支持得不好,例如扭力模式,报警信息不准确等等。
西门子,通信方式为ProfitNetRT,软件平台为博途,不遵循Cia402协议,自己的协议版本多,不同版本可实现的功能不同,用户难以适应,对第三方从站很不友好。
本发明提供的用于伺服电机的运动控制器,加载了运动控制库Kc_Motion库,Kc_Motion库的程序完全基于IEC61131-3标准来编写,通信协议方面是遵循Cia402标准。Kc_Motion库基于IEC 61131标准来编写,可以兼容市面上所有主流的控制器平台,首先是消除了不同开发平台之间的差异。由于过程数据遵循了CIA402协议,所以轴控状态机,控制功能,功能块等放到所有平台上面都具备一致性和可移植性。
本发明运动控制库的主要特点是完全通用且可灵活配置,Kc_Motion库的底层架构完全遵循IEC6113-3 及Cia 402等相关标准,可靠性、兼容性出众。
请参阅图1,本发明实施例提供了一种用于伺服电机的运动控制器,加载了符合PLCopen标准的运动控制库,所述运动控制器包括:
依次通信连接的参数配置模块11、运动功能模块22、运动规划模块33、状态切换模块44、控制命令模块55及适用于各种总线的通用通信模块66,所述通用通信模块66与所述运动功能模块22、所述控制命令模块55通信连接;
其中,所述参数配置模块11根据获取的伺服电机参数配置所述伺服电机;
所述运动功能模块22被所述伺服电机调用时实现相应的运动功能并返回反馈信息;
所述运动规划模块33用于当所述运动功能模块被调用时规划所述伺服电机的位置和/或速度和/或扭力;
所述状态切换模块44根据所述反馈信息切换所述伺服电机的状态;
所述控制命令模块55根据所述控制命令模块根据所述位置和/或速度和/或扭力生成伺服控制命令并下发给伺服驱动器;
所述通用通信模块66用于所述伺服驱动器与所述运动控制器进行通信。
请参阅图2,本发明实施例提供的伺服控制器的工作原理如下:在程序输入部分,用户输入伺服电机参数,运动控制器通过参数配置模块配置伺服电机的相关参数;用户根据伺服控制命令调用运动功能模块中相应的运动功能块FB,执行相应的运动功能并返回反馈信息,伺服驱动器通过通用通信模块将伺服电机的反馈信息反馈给伺服控制器;运动功能块在底层执行的时候,将调用运动规划模块生成伺服电机的目标位置/速度/加减速/扭力命令;在调用响应的运动功能块后,状态切换模块在运动控制库内部进行伺服状态切换并呈现给用户;控制命令模块将得到的目标位置/速度/加减速/扭力命令转换成脉冲单位生成伺服控制命令,并将伺服控制命令通过通用通信模块下发给伺服驱动器。
本实施例提供的用于伺服电机的运动控制器,加载了符合PLCopen标准的运动控制库(Kc_Motion库),运动功能模块22包含多个运动功能块FB,每个运动功能块FB实现相应的运动功能;通用通信模块66包括第一通信层Recv_Pdo和第二通信层Trans_Pdo,其中,第一通信层Recv_Pdo用于运动控制器将伺服控制命令发送给伺服驱动器,第二通信层Trans_Pdo用于伺服驱动器将伺服电机的反馈信息发送给运动控制器。
具体地,请参阅图4,伺服控制器的Kc_Motion库通过第一通信层Recv_Pdo首先将伺服控制命令发送给伺服驱动器,然后伺服驱动器根据伺服控制命令驱动伺服电机进行运动,伺服电机调用相应的运动功能块FB,完成伺服控制命令相关的所有指令、算法、状态切换等并生成反馈信息;然后,伺服电机将生成的反馈信息结果发送给伺服驱动器,伺服驱动器将伺服电机的反馈信息通过第二通信层Trans_Pdo反馈到伺服控制器的Kc_Motion库里面。
需要说明的是,伺服电机的数量可以为多个,每个伺服电机通过调用相应的运动功能块FB来执行相应的运动功能。
值得说明的是,Kc_Motion库通过库调用的方式,可以加载在不同的开发平台上。通用通信模块的第一通信层Recv_Pdo和第二通信层Trans_Pdo,用于数据交换,Trans_Pdo和Recv_Pdo可以理解为实时数据包,也叫做过程对象,数据交互过程是基于总线通信,每一个通信扫描周期交换一次数据。
本实施例中的Recv_Pdo和Trans_Pdo这两个通信层,与现有技术来说的最大差异在于,这两个通信层能适用于EtherCat、PowerLink、ProfitNet、CCLink、MECHATROLINK等总线,即本实施例运动控制器的Kc_Motion库适用于各种总线,可以加载不同的开发平台上。
第一通信层Recv_Pdo和第二通信层Trans_Pdo的通信数据交互对象,都遵循了Cia402协议,第一通信层Recv_Pdo为运动控制库Kc_Motion生成的控制结果主要包含了如下对象:
(1)0x6040 控制字--用于对伺服上使能,故障复位等;
(2)0x607A 给定位置--用于实时的对伺服目标位置进行赋值;
(3)0x60FF 给定速度--用于实时的对伺服目标位置进行赋值;
(4)0x6071 给定扭力--用于实时的对伺服目标扭力进行赋值;
(5)0x607F 最大速度限制--用于限制电机的最大速度;
(6)0x6060 操作模式--用于切换伺服的运行模式(位置模式/速度模式/扭力模式)。
第二通信层Trans_Pdo主要包含了如下对象:
(1)0x6041 状态字--伺服当前使能,故障状态等;
(2)0x6064 位置反馈--用于反馈电机编码器的实际位置;
(3)0x606C 速度反馈--用于反馈电机的实时速度;
(4)0x6077 扭力反馈--用于反馈电机的实时扭力输出;
(5)0x6061 模式反馈--用于反馈伺服的当前运行模式(位置模式/速度模式/扭力模式)。
具体的,运动控制库Kc_Motion库,包含了5个主要核心部分:
(1)运动轴参数配置部分,对应运动功能块Kc_AxisCfg:用于设定伺服电机(伺服轴)的通信节点,运动缩放比例,正负限位,最大速度限制,计数方式等。
(2)指令集部分:
包含了运动控制常用指令如下:Kc_Home--回零、Kc_MoveAbsolute--绝对定位、Kc_MoveJog--点动、Kc_Reset--复位、Kc_Stop--停止等,涵盖了伺服电机定位,电子凸轮同步等功能。
(3)状态机切换部分:
伺服轴从激活开始,在不同的状态下,会切换到不同的状态机,状态机主要包含如下状态:
Discrete Motion--离散运动状态、Continuous Motion--连续运动状态、Synchronized Motion—同步运动状态、Disable--未使能状态、StandStill--使能待机状态、Homing--回零中状态、ErrorStop—错误停止状态、Stopping--停止状态。
在不同的状态下,伺服电机会切换到不同的状态机。例如,请参阅图3,当伺服电机处于使能待机状态StandStill时,伺服电机执行轴回零指令即Kc_Home指令时,状态机会跳转到回零中状态Homing;当伺服电机处于连续运动状态Continuous Motion时,执行停止指令Kc_Stop,状态机会跳转到停止状态Stopping。
本实施例中的运动控制库Kc_Motion库,可以在伺服电机不使能的情况下,对绝对值伺服电机进行原点标定,也就是伺服轴处于未使能状态Disable状态下,可以执行Kc_Home进行绝对值回零;而标准的PLCOpen的状态机是不允许这么操作的。这样做的一个好处是,在伺服电机不需要上主电源的情况,可以对伺服电机进行原点标定,可以降低伺服电机在调试过程中的撞机风险。
本实施例中,当伺服电机处于离散运动状态DiscreteMotion、连续运动状态ContinuousMotion、同步运动状态SynchronizedMotion这三个状态下,均可以执行Kc_Home进行回零,也就是可以用Kc_Home打断相对运动指令Kc_MoveRelative、绝对运动指令Kc_MoveAbsolute、速度控制指令Kc_MoveVelocity等指令。这样做能使运动控制库Kc_Motion库更加灵活,容错率更高,用户使用该运动控制库进行程序开发时,不容易报错。
(4)位置/速度/加速度/扭力规划器:
请参阅图5至图7,例如:调用Kc_MoveAbsolute指令,从当前位置0,运行到100的位置,设定目标速度100,加减速1000,加加速度10000。
指令执行后,内部会调用规划器,计算每一个周期的目标位置、速度、加速度,直到目标位置等于100。
位置/速度/加速度规划器的基本原理是:加速度=加加速*t;速度=加速度*t;位置=速度*t;
计算每个周期的加速度增量KcIPAccLimIntAcc、速度增量KcIPAccLimIntVelChange、位置增量NewPos:
KcIPAccLimIntAcc:= RemainingTime * (VStart + Vel) / 2.0;
KcIPAccLimIntVelChange:= KcIPAccLimIntVelChange+KcIPAccLimIntAcc(0,VEnd, AnaAcc, RemainingTime, AnaVel);
NewPos:= NewPos + KcIPAccLimIntVelChange(mVLim, mVE, DynMove.acc,DynMove.dcc, mTmp, NewDyn.vel, NewDyn.acc);
(5)生成轴控制命令部分:
由于运动控制库是面向用户的,因此,运动控制库内部包含的所有指令都是用户单位,例如mm、um等单位,但实际伺服驱动器接收的命令都是脉冲单位,因此,需要把运动控制库生成的位置/速度/加速度等命令转换成伺服驱动器可识别的脉冲单位。
本实施例中,控制命令模块将运动功能模块调用运动规划模块生成的目标位置/速度/加减速/扭力命令,转换成脉冲单位生成伺服控制命令,并将伺服控制命令通过伺服驱动器下发给伺服电机。
需要说明的是,运动控制器的各部分与Kc_Motion库各部分的对应关系为:参数配置模块对应运动轴参数配置部分、运动功能模块对应指令集部分、运动规划模块对应位置/速度/加速度/扭力规划器、状态切换模块对应状态机切换部分、控制命令模块对应生成轴控制命令部分。
本实施例中,伺服电机的反馈信息至少包括伺服电机的实时位置,伺服电机通过实时位置与运动控制器进行动态加密绑定。具体地,伺服控制器与伺服电机之间的总线通信建立后,伺服运动库就与伺服电机关联起来,伺服运动库即可以获取每一个伺服电机的反馈位置,这个实时位置是一个32位有符号的值,将该值的高16位和低16位拆分出来,取出个位到万位的值,进行加减速乘除得到一个结果(加密值),伺服运动库把32位的实时位置原始值发送给伺服电机,伺服电机内部按照同样的方式计算出来一个结果,然后运动控制库对2个结果进行校核,如果一样,就代表匹配一致。
同时,由于伺服电机的运行旋转,伺服电机的反馈位置是实时变化的,因此,每一个时刻计算出来的加密值都不同,几乎不存在2个相同的加密值,即本实施例中的伺服控制器与伺服电机是动态绑定的。
因此,本实施例中的伺服控制器与伺服电机通过伺服电机反馈的实时位置进行动态加密绑定的。
本实施例中,伺服电机的反馈信息还包括所述伺服电机的运行模式,伺服电机的运行模式包括三种:位置模式、速度模式和扭力模式;其中,位置模式控制伺服电机的运动位置,速度模式控制伺服电机的运动速度,扭力模式控制伺服电机的运动扭力。具体的,位置模式即CSP模式,模式8,是用于位置控制,伺服定位用的;速度模式即CSV模式,模式9,是用于速度控制,一般收放卷用得比较多;扭力模式即CSV模式,模式10,用于扭力控制,一般用于张力控制,压力控制等。
本实施例的运动功能模块包括多个运动功能块FB,每个运动功能块FB实现相应的运动功能。运动功能模块还包括运动模式切换指令,用于切换伺服电机的运行模式,即伺服电机的三种运行模式(位置模式、速度模式、扭力模式)之间可以进行灵活切换。
在位置模式下,运动控制库产生的给定位置是超前于反馈位置的,因为先有给定位置,然后伺服电机运行,然后才会产生反馈位置,例如:给定位置10->11->12这样变化,反馈位置会滞后9->10->11这样,只有当目标位置到达后,最终反馈位置才会跟上给定位置。
在速度模式和扭力模式下,因为运动控制库产生的是速度或者扭力,伺服驱动器内部的位置环控制不生效,就会造成实际上是没有给定位置的,这个时候为了保证给定位置也会实时的更新,运动控制库内部会把反馈位置的值赋给给定位置,因为反馈位置是通过总线通信上传的,所以会有周期滞后,也就是说速度模式和扭力模式下,给定位置是滞后于反馈位置的。
所以,当伺服电机进行位置模式、速度模式、扭力模式切换的时候,会有如下的现象:
(1)位置模式-->速度模式或位置模式-->扭力模式的情况下,静态或者运行过程种切换都很顺畅。
因为伺服电机从接收位置,切换到接收速度,内部是可以自动平滑过渡速度的。
(2)速度模式-->位置模式或扭力模式-->位置模式的情况下,动态切换时伺服电机会抖动一下。
在伺服在速度模式或者扭力模式下,给定位置滞后于反馈位置,然后切换成位置模式的一瞬间,给定位置滞后反馈位置,伺服驱动器内部位置环控制,就会生成一个反向速度,这时伺服电机就会因为反向速度抖动一下。
为了抑制这个抖动,本实施例的运动功能模块还包括位置预测过渡指令,用于将伺服电机的运行模式从速度模式切换到位置模式或从扭力模式切换到位置模式时,规划一个过渡曲线以保证运行模式切换过程的平滑过渡。
具体的,本实施例运动控制器的Kc_Motion库,做了一个位置预测过渡,根据当前伺服电机的速度,计算出后两个控制周期的位置增量,以及结合切换位置模式后的第一个计算周期的位置增量,规划出一个过渡曲线,保证了模式切换过程的平滑过渡。
需要说明的是,本实施例中的运动功能块FB是面向对象的,用户可以在程序里面直接调用,可以在运动功能块FB中输入加减速、加加速度、给定位置等参数;但运动功能块在底层执行的时候,需要调用运动控制库内部的位置规划、速度规划、加速度规划、扭力规划的功能部件。
可以理解的是,在调用运动功能块FB时,会根据参数配置模块配置的伺服电机参数、伺服控制命令调用相应的运动规划模块得到伺服电机的位置/速度/加速度/扭力等,控制命令模块根据得到的位置/速度/加速度/扭力生成伺服控制命令,并将伺服控制命令通过伺服驱动器下发给伺服电机,以控制伺服电机的运动。
本实施例的运动功能模块还包括轴回零指令,用于在伺服电机的状态为离散运动状态、连续运动状态、同步运动状态时,对伺服电机进行回零。
本实施例中运动控制器的状态切换模块对应运动控制库Kc_Motion的状态机切换部分,根据反馈信息切换伺服电机的状态至少包括:在伺服电机处于未使能状态Disable时,状态切换模块对伺服电机进行绝对值回零。
需要说明的是,本实施例的状态切换模块是在用户调用运动功能块响应相应的的运动功能后,运动控制库内部进行状态切换,然后呈现给用户,告知用户当前伺服电机属于何种状态。
本发明实施例提供的用于伺服电机的运动控制器,加载了符合PLCopen标准的运动控制库,运动控制库的底层架构完全遵循IEC6113-3及Cia 402等相关标准,可靠性、兼容性出众,能加载在不同的开发平台上,具备一致性和可移植性;状态切换模块采用统一的状态机以及语法规则,可以做到不同平台下互相移植;采用的通用通信模块不受总线标准限制,只要是实时总线均可使用。
本实施例提供的用于伺服电机的运动控制器,不受总线标准限制,不管是EtherCat、PowerLink、ProfitNetRT,只要是实时总线,均可使用;由于是基于IEC封装的运动控制库,所以不受限于IDE的开发平台,不管是OMRON的西门子还是贝加莱均可使用;统一的状态机以及语法规则,可以做到不同平台下互相移植,简化用户切换控制器品牌时重新学习语法,重新适应状态机等。
目前,本实施例虽然也有采用ptp的方式来封装库,但由于位置规划,速度规划在伺服控制器内部做,不是所有伺服控制器都支持,不可以做同步、凸轮等,因此,暂时没有替代方案可以完成同样的功能。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种用于伺服电机的运动控制器,其特征在于,加载了符合PLCopen标准的运动控制库,所述运动控制器包括:
依次通信连接的参数配置模块、运动功能模块、运动规划模块、状态切换模块、控制命令模块及适用于各种总线的通用通信模块,所述通用通信模块与所述运动功能模块、所述控制命令模块通信连接;
其中,所述参数配置模块根据获取的伺服电机参数配置所述伺服电机;
所述运动功能模块被所述伺服电机调用时实现相应的运动功能并返回反馈信息;
所述运动规划模块用于当所述运动功能模块被调用时规划所述伺服电机的位置和/或速度和/或扭力;
所述状态切换模块根据所述反馈信息切换所述伺服电机的状态;
所述控制命令模块根据所述位置和/或速度和/或扭力生成伺服控制命令并下发给伺服驱动器;
所述通用通信模块用于所述伺服驱动器与所述运动控制器进行通信。
2.根据权利要求1所述的用于伺服电机的运动控制器,其特征在于,所述通用通信模块包括第一通信层和第二通信层;
其中,所述第一通信层用于所述运动控制器将所述控制命令发送给所述伺服驱动器,所述第二通信层用于所述伺服驱动器将所述反馈信息发送给所述运动控制器。
3.根据权利要求1所述的用于伺服电机的运动控制器,其特征在于,所述反馈信息至少包括所述伺服电机的实时位置,所述伺服电机通过所述实时位置与所述运动控制器进行动态加密绑定。
4.根据权利要求1所述的用于伺服电机的运动控制器,其特征在于,所述反馈信息还包括所述伺服电机的运行模式,所述伺服电机的运行模式包括:
位置模式、速度模式和扭力模式;
其中,所述位置模式控制所述伺服电机的运动位置,所述速度模式控制所述伺服电机的运动速度,所述扭力模式控制所述伺服电机的运动扭力。
5.根据权利要求1所述的用于伺服电机的运动控制器,其特征在于,所述伺服电机的状态至少包括离散运动状态、连续运动状态、同步运动状态、未使能状态、回零中状态,所述状态切换模块根据所述反馈信息切换所述伺服电机的状态至少包括:
在所述伺服电机处于未使能状态时,所述状态切换模块对所述伺服电机进行绝对值回零。
6.根据权利要求4所述的用于伺服电机的运动控制器,其特征在于,所述运动功能模块还包括运动模式切换指令,用于切换所述伺服电机的运行模式。
7.根据权利要求6所述的用于伺服电机的运动控制器,其特征在于,所述运动功能模块还包括轴回零指令,用于在所述伺服电机的状态为离散运动状态、连续运动状态、同步运动状态时,对所述伺服电机进行回零。
8.根据权利要求7所述的用于伺服电机的运动控制器,其特征在于,所述运动功能模块还包括位置预测过渡指令,用于将所述伺服电机的运行模式从所述速度模式切换到所述位置模式或从所述扭力模式切换到所述位置模式时,规划一个过渡曲线以保证运行模式切换过程的平滑过渡。
9.根据权利要求1所述的用于伺服电机的运动控制器,其特征在于,所述运动规划模块还规划所述伺服电机的加速度。
10.根据权利要求1所述的用于伺服电机的运动控制器,其特征在于,所述控制命令模块根据所述位置和/或速度和/或扭力生成伺服控制命令包括:
所述控制命令模块将所述位置和/或速度和/或扭力转换成脉冲单位生成伺服控制命令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210942368.4A CN114995536B (zh) | 2022-08-08 | 2022-08-08 | 一种用于伺服电机的运动控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210942368.4A CN114995536B (zh) | 2022-08-08 | 2022-08-08 | 一种用于伺服电机的运动控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114995536A true CN114995536A (zh) | 2022-09-02 |
CN114995536B CN114995536B (zh) | 2022-11-08 |
Family
ID=83023106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210942368.4A Active CN114995536B (zh) | 2022-08-08 | 2022-08-08 | 一种用于伺服电机的运动控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114995536B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115987176A (zh) * | 2023-02-01 | 2023-04-18 | 北京东土科技股份有限公司 | 对电机位置进行回零控制的方法、装置和边缘控制器 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104615087A (zh) * | 2015-02-05 | 2015-05-13 | 珠海格力电器股份有限公司 | 总线型运动控制器 |
CN107505882A (zh) * | 2017-10-25 | 2017-12-22 | 卢俊 | 一种多轴运动控制器及控制方法 |
CN111541402A (zh) * | 2020-06-08 | 2020-08-14 | 佛山市南海思必拓塑机有限公司 | 一种多控伺服控制系统 |
CN113114086A (zh) * | 2021-04-02 | 2021-07-13 | 上海相石智能科技有限公司 | 一种高度集成的伺服控制器 |
CN114509985A (zh) * | 2020-11-17 | 2022-05-17 | 沈阳新松机器人自动化股份有限公司 | 一种基于运动控制的虚轴控制系统 |
-
2022
- 2022-08-08 CN CN202210942368.4A patent/CN114995536B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104615087A (zh) * | 2015-02-05 | 2015-05-13 | 珠海格力电器股份有限公司 | 总线型运动控制器 |
CN107505882A (zh) * | 2017-10-25 | 2017-12-22 | 卢俊 | 一种多轴运动控制器及控制方法 |
CN111541402A (zh) * | 2020-06-08 | 2020-08-14 | 佛山市南海思必拓塑机有限公司 | 一种多控伺服控制系统 |
CN114509985A (zh) * | 2020-11-17 | 2022-05-17 | 沈阳新松机器人自动化股份有限公司 | 一种基于运动控制的虚轴控制系统 |
CN113114086A (zh) * | 2021-04-02 | 2021-07-13 | 上海相石智能科技有限公司 | 一种高度集成的伺服控制器 |
Non-Patent Citations (1)
Title |
---|
王舒润: "基于 PLCopen 的开放式运动控制器功能块的设计与实现", 《中国优秀硕士学位论文全文数据库(电子期刊)》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115987176A (zh) * | 2023-02-01 | 2023-04-18 | 北京东土科技股份有限公司 | 对电机位置进行回零控制的方法、装置和边缘控制器 |
CN115987176B (zh) * | 2023-02-01 | 2023-09-12 | 北京东土科技股份有限公司 | 对电机位置进行回零控制的方法、装置和边缘控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN114995536B (zh) | 2022-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103025491B (zh) | 控制自动化工作单元的方法 | |
EP3770706A1 (en) | Industrial control system with distributed motion planning | |
CN103403630B (zh) | 运算单元、输出控制方法和程序 | |
CN102985233B (zh) | 控制自动化工作单元的方法 | |
CN114995536B (zh) | 一种用于伺服电机的运动控制器 | |
US20200099762A1 (en) | Transmission Method | |
CN104290096B (zh) | 一种基于CANopen的机械臂关节电机控制方法及系统 | |
CN109981027A (zh) | 一种基于三芯片架构的伺服驱动器 | |
EP3684558A1 (en) | Technique for providing reliable control in a cloud robotics system | |
CN111176225B (zh) | 利用工业控制器进行代理执行和计算的方法和装置 | |
CN106647571B (zh) | 一种支持认知的运动控制系统及方法 | |
JP7327225B2 (ja) | ロボット制御システムおよび制御方法 | |
CN112272808B (zh) | 控制装置以及控制方法 | |
CN110832410B (zh) | 运动控制器及运动控制的方法 | |
CN110308697A (zh) | 基于Codesys的运动控制系统及控制方法 | |
CN116909678A (zh) | 一种容器化plc的实现方法及系统、管理服务器 | |
Gang et al. | Development of OPC UA based centralized server Fieldbus data high efficiency transmit architecture | |
Catalán et al. | Communication types for manufacturing systems. A proposal to distributed control system based on IEC 61499 | |
WO2020071373A1 (ja) | 制御システム、サポート装置およびプログラム | |
Wilkening et al. | Modular System Architecture for Large Multi-Axis Motion Control Systems in Automation | |
CN116819943B (zh) | 一种可实现任务迁移柔性功能重构的控制系统及方法 | |
WO2023138536A1 (zh) | 电机控制系统、电机控制方法和电机驱动和转发装置 | |
WO2023195178A1 (ja) | モータ駆動装置およびサーボドライブシステム | |
Riedel et al. | Control Architecture for Automation | |
Blesa et al. | Function blocks for the design of control applications based on EtherCAT fieldbus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |