一种电机控制方法、装置、设备及存储介质

申请号 CN202410124341.3 申请日 2024-01-30 公开(公告)号 CN117997221A 公开(公告)日 2024-05-07
申请人 杭州安脉盛智能技术有限公司; 发明人 应灵洁; 贾阔; 毛立锋; 倪军;
摘要 本 申请 公开了一种 电机 控制方法、装置、设备及存储介质,涉及自动化控制技术领域,应用于基于工控机的EtherCAT主站,包括:通过实时 操作系统 获取目标控制指令;将目标控制指令发送至与目标 伺服电机 连接的基于伺服 驱动器 的EtherCAT从站,以便EtherCAT从站利用目标控制指令控制目标伺服电机的工作状态,并采集工作参数;接收EtherCAT从站返回的工作参数,并根据工作参数,同时通过实时操作系统对目标伺服电机进行实时的闭环控制。这样一来,本申请通过EhterCAT进行主从站之间实时通信可以驱动控制电机,并且根据电机的工作参数对电机进行闭环控制;这样提高了实时电机控制的可靠性,且降低了成本。
权利要求

1.一种电机控制方法,其特征在于,应用于基于工控机的EtherCAT主站,包括:
通过实时操作系统获取针对目标伺服电机的目标控制指令;
将所述目标控制指令发送至与所述目标伺服电机连接的基于伺服驱动器的EtherCAT从站,以便所述EtherCAT从站利用所述目标控制指令控制所述目标伺服电机的工作状态,并采集所述目标伺服电机的工作参数;
接收所述EtherCAT从站返回的所述工作参数,并根据所述工作参数,同时通过所述实时操作系统对所述目标伺服电机进行实时的闭环控制。
2.根据权利要求1所述的电机控制方法,其特征在于,所述通过实时操作系统获取针对目标伺服电机的目标控制指令,包括:
在所述工控机上搭建实时操作系统;
通过所述实时操作系统的预设人机交互界面获取针对目标伺服电机的目标控制指令;
所述目标控制指令表征所述目标伺服电机的目标工作状态。
3.根据权利要求1或2所述的电机控制方法,其特征在于,所述根据所述工作参数,同时通过所述实时操作系统对所述目标伺服电机进行实时的闭环控制,包括:
利用预设闭环算法对所述工作参数进行闭环运算,并根据相应的运算结果生成针对所述目标伺服电机的新控制指令;
利用所述新控制指令,并通过所述实时操作系统对所述目标伺服电机进行实时控制。
4.一种电机控制方法,其特征在于,应用于基于伺服驱动器的EtherCAT从站,所述EtherCAT从站与目标伺服电机连接,包括:
接收基于工控机的EtherCAT主站发送的目标控制指令;所述目标控制指令为所述EtherCAT主站通过实时操作系统获取到的针对所述目标伺服电机的指令;
利用所述目标控制指令控制所述目标伺服电机的工作状态,并采集所述目标伺服电机的工作参数;
将所述工作参数发送至所述EtherCAT主站,以便所述EtherCAT主站根据所述工作参数,同时通过所述实时操作系统对所述目标伺服电机进行实时的闭环控制。
5.根据权利要求4所述的电机控制方法,其特征在于,所述采集所述目标伺服电机的工作参数,包括
通过本地的霍尔元件采集所述目标伺服电机的电流参数;
通过编码器采集所述目标伺服电机的位置参数、速度参数和扭矩参数。
6.根据权利要求5所述的电机控制方法,其特征在于,所述将所述工作参数发送至所述EtherCAT主站,包括:
将所述电流参数、所述位置参数、所述速度参数和所述扭矩参数发送至所述EtherCAT主站。
7.一种电机控制装置,其特征在于,应用于基于工控机的EtherCAT主站,包括:
指令获取模,用于通过实时操作系统获取针对目标伺服电机的目标控制指令;
指令发送模块,用于将所述目标控制指令发送至与所述目标伺服电机连接的基于伺服驱动器的EtherCAT从站,以便所述EtherCAT从站利用所述目标控制指令控制所述目标伺服电机的工作状态,并采集所述目标伺服电机的工作参数;
第一电机控制模块,用于接收所述EtherCAT从站返回的所述工作参数,并根据所述工作参数,同时通过所述实时操作系统对所述目标伺服电机进行实时的闭环控制。
8.一种电机控制装置,其特征在于,应用于基于伺服驱动器的EtherCAT从站,所述EtherCAT从站与目标伺服电机连接,包括:
指令接收模块,用于接收基于工控机的EtherCAT主站发送的目标控制指令;所述目标控制指令为所述EtherCAT主站通过实时操作系统获取到的针对所述目标伺服电机的指令;
第二电机控制模块,用于利用所述目标控制指令控制所述目标伺服电机的工作状态,并采集所述目标伺服电机的工作参数;
参数发送模块,用于将所述工作参数发送至所述EtherCAT主站,以便所述EtherCAT主站根据所述工作参数,同时通过所述实时操作系统对所述目标伺服电机进行实时的闭环控制。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序
处理器,用于执行所述计算机程序以实现如权利要求1至6任一项所述的电机控制方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的电机控制方法。

说明书全文

一种电机控制方法、装置、设备及存储介质

技术领域

[0001] 本发明涉及自动化控制技术领域,特别涉及一种电机控制方法、装置、设备及存储介质。

背景技术

[0002] 随着工业自动化不断发展,目前常用的现场总线技术已经逐渐无法满足电机控制对实时性和准确性的要求。因此,如何在电机控制的过程中对其进行实时的、精准的控制是本领域要解决的问题。

发明内容

[0003] 有鉴于此,本发明的目的在于提供一种电机控制方法、装置、设备及存储介质,通过EhterCAT进行主从站之间实时通信可以驱动控制电机,并且根据电机的工作参数对电机进行闭环控制;提高了实时电机控制的可靠性,且降低了成本。其具体方案如下:
[0004] 第一方面,本申请提供了一种电机控制方法,应用于基于工控机的EtherCAT主站,包括:
[0005] 通过实时操作系统获取针对目标伺服电机的目标控制指令;
[0006] 将所述目标控制指令发送至与所述目标伺服电机连接的基于伺服驱动器的EtherCAT从站,以便所述EtherCAT从站利用所述目标控制指令控制所述目标伺服电机的工作状态,并采集所述目标伺服电机的工作参数;
[0007] 接收所述EtherCAT从站返回的所述工作参数,并根据所述工作参数,同时通过所述实时操作系统对所述目标伺服电机进行实时的闭环控制。
[0008] 可选的,所述通过实时操作系统获取针对目标伺服电机的目标控制指令,包括:
[0009] 在所述工控机上搭建实时操作系统;
[0010] 通过所述实时操作系统的预设人机交互界面获取针对目标伺服电机的目标控制指令;所述目标控制指令表征所述目标伺服电机的目标工作状态。
[0011] 可选的,所述根据所述工作参数,同时通过所述实时操作系统对所述目标伺服电机进行实时的闭环控制,包括:
[0012] 利用预设闭环算法对所述工作参数进行闭环运算,并根据相应的运算结果生成针对所述目标伺服电机的新控制指令;
[0013] 利用所述新控制指令,并通过所述实时操作系统对所述目标伺服电机进行实时控制。
[0014] 第二方面,本申请提供了一种电机控制方法,应用于基于伺服驱动器的EtherCAT从站,所述EtherCAT从站与目标伺服电机连接,包括:
[0015] 接收基于工控机的EtherCAT主站发送的目标控制指令;所述目标控制指令为所述EtherCAT主站通过实时操作系统获取到的针对所述目标伺服电机的指令;
[0016] 利用所述目标控制指令控制所述目标伺服电机的工作状态,并采集所述目标伺服电机的工作参数;
[0017] 将所述工作参数发送至所述EtherCAT主站,以便所述EtherCAT主站根据所述工作参数,同时通过所述实时操作系统对所述目标伺服电机进行实时的闭环控制。
[0018] 可选的,所述采集所述目标伺服电机的工作参数,包括
[0019] 通过本地的霍尔元件采集所述目标伺服电机的电流参数;
[0020] 通过编码器采集所述目标伺服电机的位置参数、速度参数和扭矩参数。
[0021] 可选的,所述将所述工作参数发送至所述EtherCAT主站,包括:
[0022] 将所述电流参数、所述位置参数、所述速度参数和所述扭矩参数发送至所述EtherCAT主站。
[0023] 第三方面,本申请提供了一种电机控制装置,应用于基于工控机的EtherCAT主站,包括:
[0024] 指令获取模,用于通过实时操作系统获取针对目标伺服电机的目标控制指令;
[0025] 指令发送模块,用于将所述目标控制指令发送至与所述目标伺服电机连接的基于伺服驱动器的EtherCAT从站,以便所述EtherCAT从站利用所述目标控制指令控制所述目标伺服电机的工作状态,并采集所述目标伺服电机的工作参数;
[0026] 第一电机控制模块,用于接收所述EtherCAT从站返回的所述工作参数,并根据所述工作参数,同时通过所述实时操作系统对所述目标伺服电机进行实时的闭环控制。
[0027] 第四方面,本申请提供了一种电机控制装置,应用于基于伺服驱动器的EtherCAT从站,所述EtherCAT从站与目标伺服电机连接,包括:
[0028] 指令接收模块,用于接收基于工控机的EtherCAT主站发送的目标控制指令;所述目标控制指令为所述EtherCAT主站通过实时操作系统获取到的针对所述目标伺服电机的指令;
[0029] 第二电机控制模块,用于利用所述目标控制指令控制所述目标伺服电机的工作状态,并采集所述目标伺服电机的工作参数;
[0030] 参数发送模块,用于将所述工作参数发送至所述EtherCAT主站,以便所述EtherCAT主站根据所述工作参数,同时通过所述实时操作系统对所述目标伺服电机进行实时的闭环控制。
[0031] 第五方面,本申请提供了一种电子设备,包括:
[0032] 存储器,用于保存计算机程序
[0033] 处理器,用于执行所述计算机程序以实现如上述的电机控制方法。
[0034] 第六方面,本申请提供了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现如上述的电机控制方法。
[0035] 由此可见,本申请首先通过实时操作系统获取针对目标伺服电机的目标控制指令;然后将所述目标控制指令发送至与所述目标伺服电机连接的基于伺服驱动器的EtherCAT从站,以便所述EtherCAT从站利用所述目标控制指令控制所述目标伺服电机的工作状态,并采集所述目标伺服电机的工作参数;之后接收所述EtherCAT从站返回的所述工作参数,并根据所述工作参数,同时通过所述实时操作系统对所述目标伺服电机进行实时的闭环控制。这样一来,本申请可以通过实时控制系统以及作为EtherCAT主站的工控机和作为EtherCAT从站的伺服驱动器实现对目标伺服电机的实时控制,可以采集目标伺服电机的工作参数,以对该目标伺服电机进行闭环控制;这样以较低的成本实现了伺服电机的实时控制,且提高了电机控制的可靠性。附图说明
[0036] 为了更清楚地说明本发明实施例现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0037] 图1为本申请公开的一种电机控制方法流程图
[0038] 图2为本申请公开的一种具体的电机控制方法流程图;
[0039] 图3为本申请公开的另一种具体的电机控制方法流程图;
[0040] 图4为本申请公开的一种具体的通信过程传递的数据示意图;
[0041] 图5为本申请公开的又一种具体的电机控制方法流程图;
[0042] 图6为本申请公开的一种电机控制装置结构示意图;
[0043] 图7为本申请公开的另一种电机控制装置结构示意图;
[0044] 图8为本申请公开的一种电子设备结构图。

具体实施方式

[0045] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0046] 工业以太网凭借其传输速度快、数据包容量大、传输距离长、性价比高等优点,成为当今工业现场总线技术的重要发展方向。其中由德国倍福(BECKHOFF)公司开发的实时工业以太网EtherCAT,以高性能、低成本、应用简易等优点在现代控制领域得到了广泛的应用和迅速的发展。而本申请可以通过EtherCAT主从站之间的实时数据通信实现对电机的精准闭环控制。
[0047] 参见图1所示,本发明实施例公开了一种电机控制方法,应用于基于工控机的EtherCAT主站,包括:
[0048] 步骤S11、通过实时操作系统获取针对目标伺服电机的目标控制指令。
[0049] 本申请中,首先将工控机配置为EtherCAT主站,EtherCAT主站可以通过实时操作系统获取目标控制指令;可以理解的是,在具体的实施例中,EtherCAT主站可以连接多个伺服电机,之后可以获取针对某个目标伺服电机的目标控制指令时。
[0050] 在一种具体的实施例中,所述通过实时操作系统获取针对目标伺服电机的目标控制指令,可以包括:在所述工控机上搭建实时操作系统;通过所述实时操作系统的预设人机交互界面获取针对目标伺服电机的目标控制指令;所述目标控制指令表征所述目标伺服电机的目标工作状态。具体的,本实施例中首先在工控机上搭建实时操作系统,通过该实时操作系统的预设人机交互界面可以获取由工作人员或相关人员输入的针对某个目标伺服电机的目标控制指令。需要指出的是,这个过程中获取到的目标控制指令表征相关的目标伺服电机需要达到的最终的工作状态;可以理解的是,电机的控制指令在执行时会出现些许的工作参数上的偏差,而目标控制指令表征的是相关目标伺服电机的最终的工作状态。
[0051] 步骤S12、将所述目标控制指令发送至与所述目标伺服电机连接的基于伺服驱动器的EtherCAT从站,以便所述EtherCAT从站利用所述目标控制指令控制所述目标伺服电机的工作状态,并采集所述目标伺服电机的工作参数。
[0052] 进一步的,基于工控机的EtherCAT主站可以将获取到的目标控制指令发送至与相应的目标伺服电机连接的基于伺服驱动器的EtherCAT从站;可以理解的是,EtherCAT从站可以利用该目标控制指令对目标伺服电机进行驱动控制,驱动该目标伺服电机进入工作状态,并且可以采集该目标伺服电机在工作状态下的各种参数,得到相应的工作参数。
[0053] 步骤S13、接收所述EtherCAT从站返回的所述工作参数,并根据所述工作参数,同时通过所述实时操作系统对所述目标伺服电机进行实时的闭环控制。
[0054] 本申请中,EtherCAT主站可以从EtherCAT从站获取目标伺服电机的工作参数,可以理解的是,EtherCAT主站可以根据该工作参数对该目标伺服电机进行实时的闭环控制。
[0055] 在一种具体的实施例中,所述根据所述工作参数,同时通过所述实时操作系统对所述目标伺服电机进行实时的闭环控制,可以包括:利用预设闭环算法对所述工作参数进行闭环运算,并根据相应的运算结果生成针对所述目标伺服电机的新控制指令;利用所述新控制指令,并通过所述实时操作系统对所述目标伺服电机进行实时控制。具体的,EtherCAT主站根据目标伺服电机的工作参数对其进行实时的闭环控制的过程中,首先利用预设闭环算法对从EtherCAT从站接收到的从目标伺服电机采集的工作参数进行闭环运算,然后可以根据运算结果生成针对该目标伺服电机的新控制指令;需要指出的是,该新控制指令是为了使目标伺服电机最终处于对应的目标控制指令所表征的工作状态。之后,EtherCAT主站可以利用该新控制指令,并通过实时操作系统对目标伺服电机进行实时控制。
[0056] 由此可见,本申请可以通过实时控制系统以及作为EtherCAT主站的工控机和作为EtherCAT从站的伺服驱动器实现对目标伺服电机的实时控制,通过作为EtherCAT从站的伺服驱动器可以采集目标伺服电机的工作参数,以便基于相关工作参数对该目标伺服电机进行闭环控制;这样以较低的成本实现了伺服电机的实时控制,且提高了电机控制的可靠性。
[0057] 参见图2所示,本发明实施例公开了一种电机控制方法,应用于基于伺服驱动器的EtherCAT从站,所述EtherCAT从站与目标伺服电机连接,包括:
[0058] 步骤S21、接收基于工控机的EtherCAT主站发送的目标控制指令;所述目标控制指令为所述EtherCAT主站通过实时操作系统获取到的针对所述目标伺服电机的指令。
[0059] 本申请中,基于伺服驱动器的EtherCAT从站与目标伺服电机连接,可以与基于工控机的EtherCAT主站进行交互,获取EtherCAT主站发送的针对目标伺服电机的目标控制指令;其中,该目标控制指令是EtherCAT主站通过实时操作系统获取到的针对目标伺服电机的控制指令,且该目标控制指令表征该目标伺服电机应达到的工作状态。
[0060] 步骤S22、利用所述目标控制指令控制所述目标伺服电机的工作状态,并采集所述目标伺服电机的工作参数。
[0061] 进一步的,EtherCAT从站接收到针对目标伺服电机的目标控制指令之后,可以利用该目标控制指令对相关的目标伺服电机进行驱动控制,控制该目标伺服电机的工作状态,同时可以采集该目标伺服电机的工作参数。
[0062] 在一种具体的实施例中,所述采集所述目标伺服电机的工作参数,可以包括:通过本地的霍尔元件采集所述目标伺服电机的电流参数;通过编码器采集所述目标伺服电机的位置参数、速度参数和扭矩参数。具体的,采集目标伺服电机的工作参数时,作为EtherCAT从站的伺服驱动器可以通过本地的霍尔元件采集目标伺服电机的电流参数,同时可以通过编码器采集该目标伺服电机的位置参数、速度参数以及扭矩参数。
[0063] 步骤S23、将所述工作参数发送至所述EtherCAT主站,以便所述EtherCAT主站根据所述工作参数,同时通过所述实时操作系统对所述目标伺服电机进行实时的闭环控制。
[0064] 本申请中,EtherCAT从站可以将目标伺服电机的工作参数发送至EtherCAT主站,可以理解的是,EtherCAT主站可以基于这些工作参数,并通过实时操作系统对目标伺服电机进行实时的闭环控制。
[0065] 进一步的,在一种具体的实施例中,所述将所述工作参数发送至所述EtherCAT主站,可以包括:将所述电流参数、所述位置参数、所述速度参数和所述扭矩参数发送至所述EtherCAT主站。具体的,EtherCAT从站可以将目标伺服电机在工作状态下的电流参数、位置参数、速度参数和扭矩参数一并发送至EtherCAT主站;这样一来,EtherCAT主站可以基于这些参数对目标伺服电机进行实时的闭环控制。
[0066] 由此可见,本申请可以通过实时控制系统以及作为EtherCAT主站的工控机和作为EtherCAT从站的伺服驱动器实现对目标伺服电机的实时控制,可以采集目标伺服电机的工作参数,以对该目标伺服电机进行闭环控制;这样以较低的成本实现了伺服电机的实时控制,且提高了电机控制的可靠性。
[0067] 下面实施例将具体介绍将工控机作为EtherCAT主站,并通过实时操作系统驱动并控制电机的过程,如图3所示,具体的:
[0068] 可以看出,图中包括工控机、EtherCAT总线、伺服驱动器、伺服电机和反馈编码器;其中,工控机作为EtherCAT主站,伺服驱动器作为EtherCAT从站。进一步的,工控机被配置为基于PC(Personal Computer),个人计算机)的EtherCAT主站,可以周期性地接收EtherCAT从站上传的伺服电机工作时的位置、速度、电流以及转矩等参数,并做相应的运算,然后下发新的参考电流或转矩;伺服驱动器作为EtherCAT从站,接收编码器所采集的电机参数,将相应数据由EtherCAT总线周期性地传给主站,并接收主站下发数据和控制命令,驱动伺服电机。在具体的实施例中,伺服驱动器可以只做电流闭环运算,速度、位置闭环运算在工控机上完成。
[0069] 可以理解的是,工控机与伺服驱动器构成EtherCAT主从站结构。其中伺服驱动器作为EtherCAT从站,伺服驱动器已集成相应的EtherCAT从站控制器ESC和微处理器芯片MCU,支持COE应用层协议,相关配置简单。具体的,工控机作为基于PC的主站,硬件只需普通的网口RJ45即可,主站功能完全由软件来实现。工控机实现EtherCAT主站功能主要包括以下几部分:实时操作系统(Real‑time system,RTSS),即实时控制系统,EtherCAT主站代码的二次开发,编写电机实时控制程序,人机交互界面。进一步的,首先搭建实时操作系统RTSS。由于PC上的windows为非实时操作系统,要保证本申请中EtherCAT通信的实时性,需将其转变成为实时操作系统RTSS。由于工控机内的人机交互界面已内置相应的RTSS软件,它可以修改并扩展windows的硬件抽象层HAL库,实现独立的内核驱动模式,形成与windows操作系统并列的操作子实时系统RTSS。通过在windows和RTSS线程之间增加独立的中断间隔,提供独立的RTSS调度器,从而保证EtherCAT通信的实时性。相应的,主站代码为开源的商业代码来实现,以静态和动态链接库的形式提供相关应用程序接口,包括主站参数配置、主从站数据通信等函数,易于二次编程开发,支持COE应用层协议,提供十分友好的编程环境,程序代码均可在vscode(Visual Studio Code,一种源代码编辑器)上编写。EtherCAT主站运行在RTSS下以保证EtherCAT通信的实时性。
[0070] 可以理解的是,基于EtherCAT的实时控制程序主要是利用RTSS下的高精度定时器和高速的周期性EtherCAT通信来实现相应的闭环控制运算。程序通过运行在RTSS下的EtherCAT主站代码与从站通信,实时接收处理从站反馈数据,并向从站发送相应控制命令。如图3所示,为方便控制系统参数调试,可以编写相应的人机交互界面,通过进程间通信与电机实时控制程序进行数据交互,调试设定相关参数,周期性地显示电机控制的相应状态,并保存实验数据。当然,用于管理电机驱动的上位机的主程序可运行在非实时的windows系统下,由共享内存实现与RTSS实时程序之间的数据通信。
[0071] 在具体的实施例中,EtherCAT主从站通信采用COE应用层协议,可以包括非周期性邮箱通信和周期性过程通信。其中邮箱通信为主从站间的非周期通信,用于非实时应用场合;过程通信为主从站间周期性通信,用于实时应用场合。由于从站为伺服驱动器,要实现对电机的驱动控制,可以选择驱动器的运行模式为周期性同步扭矩控制模式。主站周期性地向从站(驱动设备)发送目标扭矩指令,其中包括扭矩指令值和扭矩偏移量,驱动设备运行扭矩控制,驱动设备向主站提供电机的实际位置值、实际速度值和实际扭矩值。如图4所示为主从站在通信过程传递的相关数据。
[0072] 需要指出的是,实时任务运行在RTSS系统下,负责实现EtherCAT主站配置、主从数据实时通信、高精度实时定时器与闭环运算;非实时任务是在windows系统下设计,主要完成人机交互界面的设计,包含参数设定和状态显示。如图5所示,主程序中首先进行参数初始化,创建实时共享内存,并写共享内存标志位,以便基于EtherCAT通信技术以及该共享内存管理电机控制的过程;进一步的,可以调用RTSS程序,RTSS程序用于EtherCAT主从站通信。在主程序中可以创建windows定时器程序,以便设置电机控制的相关参数、基于共享内存周期性刷新电机的位置和速度参数等,且可以设置多线程,以管理多个电机的控制过程。相应的,在RTSS程序中,可以基于共享内存获取主程序针对电机的控制指令;在具体的电机控制过程中,首先初始化主从站以及EtherCAT通信连接,写共享内存标志位,以便向主程序传递信息。可以理解的是,针对单个电机的驱动控制过程,可以创建RTSS实时定时器程序;
具体的,主站可以循环判断共享内存标志位中表征电机工作状态的相关参数,以便对这些参数进行实时闭环运算,触发任务程序相关的事件,或者当电机的工作参数表征符合预期的工作状态时,可以关闭并退出RTSS程序;相应的,RTSS实时定时器程序中,从站可以基于实时定时器相应函数与EtherCAT主站进行通信,将电机在工作状态下的位置和速度等参数反馈至主站,便于主站进行闭环运算,并且,EtherCAT主站可以基于在共享内存实时保存的电机的相关参数周期性地下发针对该电机地控制参数,以控制使该电机的工作状态符合主程序的期望。
[0073] 由此可见,本申请可以通过实时控制系统以及作为EtherCAT主站的工控机和作为EtherCAT从站的伺服驱动器实现对目标伺服电机的实时控制,可以采集目标伺服电机的工作参数,以对该目标伺服电机进行闭环控制;这样以较低的成本实现了伺服电机的实时控制,且提高了电机控制的可靠性。本申请通过开源的商业主站软件进行二次开发,以基于EtherCAT进行主从站之间实时通信来驱动电机控制,以较低的硬件成本来满足电机控制的高可靠性,精准的实时跟踪,和相应的性能要求,并且可以在EtherCAT总线上增加多个伺服驱动器作为从站,可实现多电机的实时驱动控制。
[0074] 如图6所示,本申请实施例公开了一种电机控制装置,应用于基于工控机的EtherCAT主站,包括:
[0075] 指令获取模块11,用于通过实时操作系统获取针对目标伺服电机的目标控制指令;
[0076] 指令发送模块12,用于将所述目标控制指令发送至与所述目标伺服电机连接的基于伺服驱动器的EtherCAT从站,以便所述EtherCAT从站利用所述目标控制指令控制所述目标伺服电机的工作状态,并采集所述目标伺服电机的工作参数;
[0077] 第一电机控制模块13,用于接收所述EtherCAT从站返回的所述工作参数,并根据所述工作参数,同时通过所述实时操作系统对所述目标伺服电机进行实时的闭环控制。
[0078] 由此可见,本申请可以通过实时控制系统以及作为EtherCAT主站的工控机和作为EtherCAT从站的伺服驱动器实现对目标伺服电机的实时控制,可以采集目标伺服电机的工作参数,以对该目标伺服电机进行闭环控制;这样以较低的成本实现了伺服电机的实时控制,且提高了电机控制的可靠性。
[0079] 在一种具体的实施例中,所述指令获取模块11,可以包括:
[0080] 系统搭建单元,用于在所述工控机上搭建实时操作系统;
[0081] 指令获取单元,用于通过所述实时操作系统的预设人机交互界面获取针对目标伺服电机的目标控制指令;所述目标控制指令表征所述目标伺服电机的目标工作状态。
[0082] 在一种具体的实施例中,所述第一电机控制模块13,可以包括:
[0083] 闭环运算单元,用于利用预设闭环算法对所述工作参数进行闭环运算,并根据相应的运算结果生成针对所述目标伺服电机的新控制指令;
[0084] 第一电机控制单元,用于利用所述新控制指令,并通过所述实时操作系统对所述目标伺服电机进行实时控制。
[0085] 如图7所示,本申请实施例提供了一种电机控制装置,应用于基于伺服驱动器的EtherCAT从站,所述EtherCAT从站与目标伺服电机连接,包括:
[0086] 指令接收模块21,用于接收基于工控机的EtherCAT主站发送的目标控制指令;所述目标控制指令为所述EtherCAT主站通过实时操作系统获取到的针对所述目标伺服电机的指令;
[0087] 第二电机控制模块22,用于利用所述目标控制指令控制所述目标伺服电机的工作状态,并采集所述目标伺服电机的工作参数;
[0088] 参数发送模块23,用于将所述工作参数发送至所述EtherCAT主站,以便所述EtherCAT主站根据所述工作参数,同时通过所述实时操作系统对所述目标伺服电机进行实时的闭环控制。
[0089] 由此可见,本申请可以通过实时控制系统以及作为EtherCAT主站的工控机和作为EtherCAT从站的伺服驱动器实现对目标伺服电机的实时控制,可以采集目标伺服电机的工作参数,以对该目标伺服电机进行闭环控制;这样以较低的成本实现了伺服电机的实时控制,且提高了电机控制的可靠性。
[0090] 在一种具体的实施例中,所述第二电机控制模块22,可以包括
[0091] 第一参数采集单元,用于通过本地的霍尔元件采集所述目标伺服电机的电流参数;
[0092] 第二参数采集单元,用于通过编码器采集所述目标伺服电机的位置参数、速度参数和扭矩参数。
[0093] 在一种具体的实施例中,所述参数发送模块23,可以包括:
[0094] 参数发送单元,用于将所述电流参数、所述位置参数、所述速度参数和所述扭矩参数发送至所述EtherCAT主站。
[0095] 进一步的,本申请实施例还公开了一种电子设备,图8是根据一示例性实施例示出的电子设备30结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
[0096] 图8为本申请实施例提供的一种电子设备30的结构示意图。该电子设备30,具体可以包括:至少一个处理器31、至少一个存储器32、电源33、通信接口34、输入输出接口35和通信总线36。其中,所述存储器32用于存储计算机程序,所述计算机程序由所述处理器31加载并执行,以实现前述任一实施例公开的电机控制方法中的相关步骤。另外,本实施例中的电子设备30具体可以为电子计算机。
[0097] 本实施例中,电源33用于为电子设备30上的各硬件设备提供工作电压;通信接口34能够为电子设备30创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口35,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
[0098] 另外,存储器32作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统321、计算机程序322等,存储方式可以是短暂存储或者永久存储。
[0099] 其中,操作系统321用于管理与控制电子设备30上的各硬件设备以及计算机程序322,其可以是Windows Server、Netware、Unix、Linux等。计算机程序322除了包括能够用于完成前述任一实施例公开的由电子设备30执行的电机控制方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
[0100] 进一步的,本申请还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的电机控制方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
[0101] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0102] 专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0103] 结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD‑ROM、或技术领域内所公知的任意其它形式的存储介质中。
[0104] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0105] 以上对本申请所提供的技术方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
QQ群二维码
意见反馈