子线程数据接收方法、数据监控方法、上位机和机器人与流程
未命名
08-03
阅读:83
评论:0

1.本发明属于数字信息传输领域,特别涉及一种子线程数据接收方法、数据监控方法、上位机和机器人。
背景技术:
2.机器人伺服驱动器上位机在执行子线程时需要接收机器人伺服驱动器发送的数据,在现有技术的上位机的数据接收过程中,需要缓存头部数据符合预设帧头格式的数据,确认该数据的尾部数据符合预设帧尾格式后再对该数据做其他校验。但当上位机接收到的数据为数据段而并非完整的数据帧时,上位机需要对接收到的每个数据段进行单独校验,再将校验通过的互相匹配的数据段拼接成一个完成的数据帧。由于校验和拼接为相互独立进行的两个过程且可能出现将不匹配的数据段拼接到一起的情况,上位机在进行子线程数据接收时效率和准确率低。因此,现有技术有待改进和发展。
技术实现要素:
3.本技术的目的在于提供一种子线程数据接收方法、数据监控方法、上位机和机器人,能解决机器人伺服驱动器的上位机在接收机器人伺服驱动器发送的信息时接收不够快速和不够准确的问题,从而能达到提高上位机接收数据的效率和准确率的效果。
4.第一方面,本技术提供一种子线程数据接收方法,应用于机器人伺服驱动器的上位机,所述子线程数据接收方法包括:a1.持续接收所述机器人伺服驱动器发送的数据;a2.当所述数据为头部数据符合预设帧头格式的数据时缓存该数据及其后数据,并拼接为拼帧数据,直至所述拼帧数据的帧长度大于或等于目标帧长度;a3.对所述拼帧数据进行帧尾校验和crc校验;其中,在步骤a2的执行过程中,在所述拼帧数据大于或等于目标帧长度前,若接收到头部数据符合预设帧头格式的数据,则清空已缓存的所述拼帧数据。
5.本技术的子线程数据接收方法,通过对接收到的数据进行帧头校验并对拼帧数据进行帧长度校验,可以避免拼接过程出现错误;并且本技术的子线程数据接收方法通过对拼帧数据进行帧尾校验和crc校验,能够避免出现数据错误,提高上位机接收数据的效率和准确率。
6.进一步地,步骤a2中,所述头部数据符合预设帧头格式的数据包含所述目标帧长度的标识数据,所述目标帧长度基于所述目标帧长度的标识数据获取。
7.进一步地,步骤a3中,若对所述拼帧数据进行的帧尾校验或crc校验不通过,则清空所述拼帧数据。
8.在该实施方式中,本技术的子线程数据接收方法通过清空帧尾校验或crc校验不通过的拼帧数据,能够节省缓存空间。
9.进一步地,步骤a3中,所述拼帧数据的帧尾的前两个字节包含所述crc校验的标识
数据,所述crc校验基于所述crc校验的标识数据进行。
10.第二方面,本技术提供一种数据监控方法,应用于机器人伺服驱动器的上位机,所述数据监控方法包括:b1.初始化配置信息并连接所述机器人伺服驱动器;b2.实时监控所述机器人伺服驱动器反馈的数据,在触发子线程任务入口时,中止监控,基于上述任一所述的子线程数据接收方法获取校验成功的拼帧数据,基于所述拼帧数据执行子线程任务,并在所述子线程任务执行结束后恢复监控。
11.本技术的数据监控方法可以实时监控机器人伺服驱动器反馈的数据,并且该数据监控方法通过获取到的校验成功的拼帧数据的报文类型判断子线程任务类型并执行子线程任务,能够提高子线程任务的执行效率和准确率。
12.进一步地,在步骤b2的实时监控过程中,实时监控所述机器人伺服驱动器反馈的基于数据类型编码的数据。
13.进一步地,在步骤b2的执行子线程任务过程中,若所述拼帧数据的报文类型为数据采集,则向所述机器人伺服驱动器发送基于执行事项编码的执行指令,并持续接收所述机器人伺服驱动器反馈的基于数据类型编码的数据。
14.在该实施方式中,本技术的数据监控方法能使机器人伺服驱动器基于编码判断上位机发送的执行指令的类型并基于该执行指令类型执行对应的任务,并且本技术的数据监控方法能使上位机基于编码判断接收到的数据的类型并基于数据类型对接收到的数据进行处理,从而能节省机器人伺服驱动器对执行指令进行分类的时间和上位机对数据进行分类的时间,提高机器人伺服驱动器的任务执行效率和上位机的数据处理效率。
15.第三方面,本技术提供一种上位机,应用于机器人伺服驱动器,所述上位机包括:接收模块,用于持续接收所述机器人伺服驱动器发送的数据;缓存拼接模块,用于当所述数据为头部数据符合预设帧头格式的数据时缓存该数据及其后数据,并拼接为拼帧数据,直至所述拼帧数据的帧长度大于或等于目标帧长度,其中,在缓存拼接模块运行时,在所述拼帧数据大于或等于目标帧长度前,若接收模块接收到头部数据符合预设帧头格式的数据,则缓存拼接模块清空已缓存的所述拼帧数据;第一校验模块,用于对所述拼帧数据进行帧尾校验;第二校验模块,用于对所述拼帧数据进行crc校验。
16.第四方面,本技术提供一种机器人,所述机器人包括机器人伺服驱动器和上位机,所述上位机基于上述任一所述的子线程数据接收方法执行子线程任务,或所述上位机基于上述任一所述的数据监控方法实时监控所述机器人伺服驱动器反馈的数据。
17.由上可知,本技术提供了一种子线程数据接收方法、数据监控方法、上位机和机器人,其中本技术提供的子线程数据接收方法将接收到的数据拼接,得到完整的数据帧并对该完整的数据帧进行校验,能解决机器人伺服驱动器的上位机在接收机器人伺服驱动器发送的信息时接收不够快速和不够准确的问题,从而能提高上位机接收数据的效率和准确率。
18.本技术的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术实施例了解。本技术的目的和其他优点可通过在所写的说明书、以及附图中所特别指出的结构来实现和获得。
附图说明
19.图1为本技术实施例提供的一种子线程数据接收方法的流程图。
20.图2为本技术实施例提供的一种数据监控方法的流程图。
21.图3为本技术实施例提供的一种上位机的结构示意图。
22.标号说明:100、接收模块;200、缓存拼接模块;300、第一校验模块;400、第二校验模块。
具体实施方式
23.下面将结合本技术实施例中附图 ,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
24.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
25.如图1所示,本技术提供一种子线程数据接收方法,应用于机器人伺服驱动器的上位机,子线程数据接收方法包括:a1.持续接收机器人伺服驱动器发送的数据;a2.当数据为头部数据符合预设帧头格式的数据时缓存该数据及其后数据,并拼接为拼帧数据,直至拼帧数据的帧长度大于或等于目标帧长度;a3.对拼帧数据进行帧尾校验和crc校验。
26.具体应用中,主线程为上位机对机器人伺服驱动器进行实时监控的过程,子线程为实时监控过程中可能出现的需要上位机执行的任务过程,如参数读取、参数写入、数据采集、故障报警和固件升级等,上位机在主线程中若确认子线程任务需要执行,则中止主线程并进入子线程,在子线程任务执行结束后再退出子线程并进入主线程。
27.更具体地,上位机在执行子线程任务时需要确定任务的报文类型,因此需要接收机器人伺服驱动器发送的数据,而在上位机接收到的数据为数据段时,每次接收一个数据段,现有技术的上位机需要对接收到的每个数据段进行单独校验,再将校验通过的互相匹配的数据段拼接成一个完整的数据帧。由于现有技术的上位机无法使校验过程和拼接过程同时进行,且可能出现将不匹配的数据段拼接到一起的情况,因此现有技术的上位机在接收机器人伺服驱动器发送的数据时效率和准确率低。
28.更具体地,一个完整数据帧的帧长度不包括帧头和帧尾,因此在本技术的子线程数据接收方法中,拼帧数据的帧长度为n-2,n为该拼帧数据的字节数量。一个数据的头部数据为该数据的第一个字节。此外,crc校验为基于数据中包含的循环冗余校验码对该数据进行的检错过程。对接收到的数据进行帧头校验,即判断接收到的数据的头部数据是否符合预设帧头格式。在接收到头部数据符合预设帧头格式的数据时缓存该数据,获取该数据的目标帧长度,并对该数据进行帧长度校验,即判断该数据的帧长度是否大于或等于目标帧长度。其中,目标帧长度可以是预设的数据,也可以包含在头部数据符合预设帧头格式的数
据中,故可以基于该数据分析获取。若该数据的帧长度大于或等于目标帧长度则认为该数据包含对应于一个子线程任务的一个完整的数据帧,继续对该数据进行帧尾校验和crc校验;若该数据的帧长度小于目标帧长度则继续接收并缓存机器人伺服驱动器发送的下一个数据,并将先缓存的数据与后缓存的数据拼接为拼帧数据,再基于先前获取的目标帧长度对拼接后的拼帧数据进行帧长度校验,重复获取、拼接与帧长度校验过程直至拼帧数据的帧长度大于或等于目标帧长度,认为该拼帧数据包含对应于一个子线程任务的一个完整的数据帧,对该拼帧数据进行帧尾校验和crc校验。
29.更具体地,一个完整数据帧的帧尾位置可以基于该数据帧的帧长度分析获取,当拼帧数据的帧长度大于或等于目标帧长度时,该拼帧数据包含的完整数据帧的帧尾为该数据帧的第m+2个字节,m为该拼帧数据的目标帧长度。在对拼帧数据进行帧尾校验前,去除该拼帧数据帧尾后的字节,则余下的部分为对应于一个子线程任务的一个完整的数据帧,对该数据帧进行帧尾校验,即判断该数据帧的帧尾是否符合预设帧尾格式。若该数据帧的帧尾符合预设帧尾格式,则认为该数据帧通过帧尾校验,继续对该数据帧进行crc校验;若该数据帧的帧尾不符合预设帧尾格式,则认为该数据帧是错误的,不再对该数据帧进行crc校验并返回步骤a1。
30.更具体地,在对数据帧进行crc校验时,若该数据帧通过crc校验,则认为该数据帧是正确的,对该数据帧进行解析以获取对应的子线程任务并执行该子线程任务;若该数据帧未通过crc校验,则认为该数据帧是错误的,返回步骤a1。
31.在另一些实施方式中,在拼帧数据通过帧尾校验和crc校验后再去除该拼帧数据帧尾后的字节以得到对应于一个子线程任务的完整的数据帧,对该数据帧进行解析以获取对应的子线程任务并执行该子线程任务;若拼帧数据未通过帧尾校验或crc校验,则不进行去除过程直接返回步骤a1。
32.更具体地,返回步骤a1后继续执行接收过程、拼接过程和校验过程以获得下一个完整的数据帧。
33.更具体地,在使用本技术的子线程数据接收方法进行的数据接收过程中,帧长度校验、帧尾校验和crc校验都在缓存区进行,不影响上位机的数据分析过程和子线程任务执行过程。
34.更具体地,在使用本技术的子线程数据接收方法进行的数据接收过程中,对接收到的数据段进行了拼接,从拼帧数据中获取了对应于子线程任务的完整的数据帧,验证了该数据帧的帧头、帧尾和帧长度,并基于crc验证对该数据帧进行了检错。其中,帧头校验过程用于触发数据缓存及校验,拼接过程和帧长度校验过程用于获取该数据帧的帧尾位置,帧尾校验过程和crc校验过程用于对该完整的数据帧进行检错。
35.本技术的子线程数据接收方法,通过对接收到的数据进行帧头校验并对拼帧数据进行帧长度校验,可以避免拼接过程出现错误;并且本技术的子线程数据接收方法通过对拼帧数据进行帧尾校验和crc校验,能够避免出现数据错误,提高上位机接收数据的效率和准确率。
36.在一些优选的实施方式中,在步骤a2的执行过程中,在拼帧数据大于或等于目标帧长度前,若接收到头部数据符合预设帧头格式的数据,则清空已缓存的拼帧数据,缓存该数据及其后数据,并拼接为拼帧数据,直至拼帧数据的帧长度大于或等于目标帧长度。
37.具体应用中,在一个拼帧数据中将首次缓存的数据认定为该拼帧数据的数据段首。在数据接收过程中,可能出现丢包情况导致部分数据缺失,在与已缓存的头部数据符合预设帧头格式的数据相匹配的其他数据缺失后,由该已缓存的数据参与组成的完整数据帧已经无法被获取,并且由于缺失部分数据,在拼帧数据通过帧长度校验之前就会接收到下一个包含一个完整的数据帧的拼帧数据的数据段首,若将该数据段首和已缓存的数据拼接为拼帧数据,则无法获得由该数据段首参与组成的另一个完整的数据帧。因此需要清空已缓存的拼帧数据并将该头部数据符合预设帧头格式的数据作为新的拼帧数据的数据段首,若目标帧长度为预设的数据,则缓存该数据及其后数据并拼接为新的拼帧数据,直至新的拼帧数据的帧长度大于或等于目标帧长度;若目标帧长度包含在头部数据符合预设帧头格式的数据中,则基于该数据分析获取目标帧长度,缓存该数据及其后数据并拼接为新的拼帧数据,直至新的拼帧数据的帧长度大于或等于目标帧长度。
38.在该实施方式中,本技术的子线程数据接收方法通过将拼帧过程中通过帧头校验的数据作为新的拼帧数据的数据段首并重新进行拼接,可以避免将包含一个正确且完整的数据帧的拼帧数据的数据段首与其他错误数据进行错误拼接,从而能提高上位机接收数据的准确率。
39.在一些优选的实施方式中,步骤a2中,头部数据符合预设帧头格式的数据包含目标帧长度的标识数据,目标帧长度基于目标帧长度的标识数据获取。
40.具体应用中,步骤a2中,对头部数据符合预设帧头格式的数据进行缓存时对该数据进行分析,基于该数据中包含的目标帧长度的标识数据获取该数据的目标帧长度。
41.在更优选的实施方式中,头部数据符合预设帧头格式的数据的第二个字节包含目标帧长度的标识数据。
42.在该实施方式中,本技术的子线程数据接收方法中拼帧数据的目标帧长度可以基于该拼帧数据的头部数据包含的目标帧长度的标识数据获取,因此在头部数据符合预设帧头格式的数据可能包含一个完整数据帧的情况下,在接收到该数据后即可基于该数据含有的目标帧长度的标识数据获取该数据的目标帧长度,进而对该数据进行帧长度校验。
43.在一些优选的实施方式中,步骤a3中,若对完整数据帧进行的帧尾校验或crc校验不通过,则清空拼帧数据。
44.具体应用中,在基于包含完整的数据帧的拼帧数据获得一个完整的数据帧后,若对该数据帧的帧尾校验或crc校验不通过,则认为该数据帧是错误的,上位机不再需要对该拼帧数据做后续处理,因此可以清空该拼帧数据以节省缓存空间。在该实施方式中,本技术的子线程数据接收方法通过清空帧尾校验或crc校验不通过的拼帧数据,能够节省缓存空间。
45.在一些优选的实施方式中,步骤a3中,拼帧数据的帧尾的前两个字节包含crc校验的标识数据,crc校验基于crc校验的标识数据进行。
46.在该实施方式中,本技术的子线程数据接收方法中crc校验基于拼帧数据帧尾的前两个字节包含的crc校验的标识数据进行,因此在获得完整的数据帧后可以基于该数据帧帧尾的前两个字节对该数据帧的从站地址和功能码等进行校验。
47.下面通过实施例具体解释说明。
48.实施例1
表1 在上一次获得完整的数据帧后接收到的四次数据数据接收次数数据第一次0x03、0xc2、0x15、0x55第二次0xaa、0x14、0x00、0x10、0x0e、0x02、0x00第三次0x10、0x01、0x00、0x20、0xff、0xff第四次0x10、0x03、0x00、0x20、0x00、0xff、0xc9、0xaf、0x55如表1所示,表1为实施例1中在上一次获得完整的数据帧后接收到的四次数据,在该实施例中预设帧头格式为0xaa;预设帧尾格式为0x55;目标帧长度基于头部数据符合预设帧头格式的数据的第二个字节包含的目标帧长度的标识数据获取,具体获取方法为将该第二个字节转换为十进制;crc校验基于拼帧数据帧尾的前两个字节包含的crc校验的标识数据进行。
49.在上一次获得完整的数据帧并对该数据帧进行帧尾校验和crc校验后,继续接收机器人伺服驱动器发送的数据,第一次接收到的数据为0x03、0xc2、0x15、0x55,由于该数据的头部数据0x03不符合预设帧头格式,不缓存该数据并继续接收下一个数据;第二次接收到的数据为0xaa、0x14、0x00、0x10、0x0e、0x02、0x00,由于该数据的头部数据0xaa符合预设帧头格式,缓存该数据,将该数据的第二个字节转换为十进制,即20,因此拼帧数据的目标帧长度为20,而包含7个字节的该数据的帧长度为5,小于目标帧长度20,继续接收下一个数据;第三次接收到的数据为0x10、0x01、0x00、0x20、0xff、0xff,由于该数据的头部数据0x10不符合预设帧头格式,缓存该数据并将已缓存的数据与该数据拼接为拼帧数据,包含13个字节的该拼帧数据的帧长度为11,小于目标帧长度20,继续接收下一个数据;第四次接收到的数据为0x10、0x03、0x00、0x20、0x00、0xff、0xc9、0xaf、0x55,由于该数据的头部数据0x10不符合预设帧头格式,缓存该数据并将已缓存的数据与该数据拼接为拼帧数据,包含22个字节的该拼帧数据的帧长度为20,等于目标帧长度20,去除该拼帧数据帧尾后的字节并进行帧尾校验;目标帧长度为20的该拼帧数据的帧尾为第22个字节,即0x55,因此该拼帧数据即为一个完整的数据帧,且该拼帧数据的帧尾符合预设帧尾格式,对该拼帧数据进行crc校验;若该拼帧数据通过crc校验,则认为该数据帧是正确的,对该数据帧进行解析以获取对应的子线程任务并执行该子线程任务;若该拼帧数据未通过crc校验,则认为该数据帧是错误的,返回步骤a1,继续接收机器人伺服驱动器发送的数据。
50.如图2所示,第二方面,本技术提供一种数据监控方法,应用于机器人伺服驱动器的上位机,数据监控方法包括:b1.初始化配置信息并连接机器人伺服驱动器;b2.实时监控机器人伺服驱动器反馈的数据,在触发子线程任务入口时,中止监控,基于上述任一子线程数据接收方法获取校验成功的拼帧数据,基于拼帧数据执行子线程任务,并在子线程任务执行结束后恢复监控。
51.具体应用中,步骤b1中,在需要对机器人伺服驱动器进行实时数据监控时启动上位机,上位机初始化配置文件并设置参数信息,打开串口并向机器人伺服驱动器发送连接指令,收到机器人伺服驱动器的回复指令即代表连接成功。
52.更具体地,步骤b2中,上位机定时向机器人伺服驱动器发送数据监控指令并实时接收机器人伺服驱动器回传的需要实时监控的参数信息,以实现对机器人伺服驱动器反馈
数据的实时监控。
53.更具体地,步骤b2中,可以根据在子线程中接收并获取到的完整数据帧的报文类型判断需要执行的子线程任务。在触发子线程任务入口时中止监控,并基于上述任一所述的子线程数据接收方法中的接收过程、拼接过程和校验过程以获取校验成功的拼帧数据,将该拼帧数据作为一个正确的完整数据帧,基于完整数据帧的报文类型判断子线程任务类型并执行子线程任务,并在子线程任务执行结束后恢复监控。其中子线程任务类型包括但不限于参数读取、参数写入、数据采集、故障报警和固件升级。
54.本技术的数据监控方法可以实时监控机器人伺服驱动器反馈的数据,并且该数据监控方法通过获取到的校验成功的拼帧数据的报文类型判断子线程任务类型并执行子线程任务,能够提高子线程任务的执行效率和准确率。
55.在一些优选的实施方式中,在步骤b2的实时监控过程中,实时监控机器人伺服驱动器反馈的基于数据类型编码的数据。
56.具体应用中,步骤b2中,机器人伺服驱动器可以基于数据类型对需要反馈给上位机的数据进行编码,在编码完成后再发送给上位机,上位机接收到编码过的数据后可以基于编码判断接收到的数据的类型,并基于数据类型对接收到的数据进行处理。其中,上位机接收到的数据类型包括但不限于伺服状态数据、速度数据、电流数据、转速数据、状态字数据、控制字数据、伺服故障数据和报警数据。
57.在该实施方式中,本技术的数据监控方法能使上位机基于编码判断接收到的数据的类型并基于数据类型对接收到的数据进行处理,从而能节省上位机对数据进行分类的时间,提高上位机的数据处理效率。
58.在一些优选的实施方式中,在步骤b2的执行子线程任务过程中,若拼帧数据的报文类型为数据采集,则向机器人伺服驱动器发送基于执行事项编码的执行指令,并持续接收机器人伺服驱动器反馈的基于数据类型编码的数据。
59.具体应用中,步骤b2中,在确认作为一个正确的完整数据帧的拼帧数据的报文类型为数据采集后,上位机需要向机器人伺服驱动器发送数据采集相关的执行指令,此时上位机可以基于执行事项对执行指令进行编码,在编码完成后再发送给机器人伺服驱动器,机器人伺服驱动器接收到编码过的执行指令后可以基于编码判断接收到的执行指令类型,再基于执行指令执行任务。其中,上位机发送的执行指令类型包括但不限于采集、问询、上传和停止。
60.更具体地,步骤b2中,可以事先设定上传指令次数与数据类型的对应表。在需要机器人伺服驱动器执行上传任务时,上位机对机器人伺服驱动器发送若干次上传指令,在每次接收到上传指令后伺服驱动器基于对应表根据接收到的上传指令次数发送对应类型的数据。在更优选的实施方式中,机器人伺服驱动器基于数据类型对采集到的数据进行编码,在接收到上传指令后机器人伺服驱动器发送编码过的数据,上位机接收该编码过的数据后基于编码判断接收到的数据的类型,并基于数据类型对接收到的数据进行处理。
61.在该实施方式中,本技术的数据监控方法能使机器人伺服驱动器基于编码判断上位机发送的执行指令的类型并基于该执行指令类型执行对应的任务,并且本技术的数据监控方法能使上位机基于编码判断接收到的数据的类型并基于数据类型对接收到的数据进行处理,从而能节省机器人伺服驱动器对执行指令进行分类的时间和上位机对数据进行分
类的时间,提高机器人伺服驱动器的任务执行效率和上位机的数据处理效率。
62.如图3所示,第三方面,本技术提供一种上位机,应用于机器人伺服驱动器,上位机包括:接收模块100,用于持续接收机器人伺服驱动器发送的数据;缓存拼接模块200,用于当数据为头部数据符合预设帧头格式的数据时缓存该数据及其后数据,并拼接为拼帧数据,直至拼帧数据的帧长度大于或等于目标帧长度,其中,在缓存拼接模块200运行时,在拼帧数据大于或等于目标帧长度前,若接收模块100接收到头部数据符合预设帧头格式的数据,则缓存拼接模块200清空已缓存的拼帧数据;第一校验模块300,用于对拼帧数据进行帧尾校验;第二校验模块400,用于对拼帧数据进行crc校验。
63.本技术的上位机通过对接收到的数据进行帧头校验并对拼帧数据进行帧长度校验,可以避免拼接过程出现错误;并且本技术的上位机通过对拼帧数据进行帧尾校验和crc校验,能够避免出现数据错误,提高上位机接收数据的效率和准确率。
64.在一些优选的实施方式中,本技术实施例的上位机用于执行上述第一方面提供的子线程数据接收方法。
65.第四方面,本技术提供一种机器人,机器人包括机器人伺服驱动器和上位机,上位机基于上述任一子线程数据接收方法执行子线程任务,或上位机基于上述任一数据监控方法实时监控机器人伺服驱动器反馈的数据。
66.综上,本技术提供了一种子线程数据接收方法、数据监控方法、上位机和机器人,其中,子线程数据接收方法将接收到的数据拼接,得到完整的数据帧并对该完整的数据帧进行校验,能解决机器人伺服驱动器的上位机在接收机器人伺服驱动器发送的信息时接收不够快速和不够准确的问题,从而能提高上位机接收数据的效率和准确率。
67.在本技术所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
68.另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
69.再者,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
70.在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
71.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的
任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
技术特征:
1.一种子线程数据接收方法,应用于机器人伺服驱动器的上位机,其特征在于,所述子线程数据接收方法包括:a1.持续接收所述机器人伺服驱动器发送的数据;a2.当所述数据为头部数据符合预设帧头格式的数据时缓存该数据及其后数据,并拼接为拼帧数据,直至所述拼帧数据的帧长度大于或等于目标帧长度;a3.对所述拼帧数据进行帧尾校验和crc校验;其中,在步骤a2的执行过程中,在所述拼帧数据大于或等于目标帧长度前,若接收到头部数据符合预设帧头格式的数据,则清空已缓存的所述拼帧数据。2.根据权利要求1所述的一种子线程数据接收方法,其特征在于,步骤a2中,所述头部数据符合预设帧头格式的数据包含所述目标帧长度的标识数据,所述目标帧长度基于所述目标帧长度的标识数据获取。3.根据权利要求1所述的一种子线程数据接收方法,其特征在于,步骤a3中,若对所述拼帧数据进行的帧尾校验或crc校验不通过,则清空所述拼帧数据。4.根据权利要求1所述的一种子线程数据接收方法,其特征在于,步骤a3中,所述拼帧数据的帧尾的前两个字节包含所述crc校验的标识数据,所述crc校验基于所述crc校验的标识数据进行。5.一种数据监控方法,应用于机器人伺服驱动器的上位机,其特征在于,所述数据监控方法包括:b1.初始化配置信息并连接所述机器人伺服驱动器;b2.实时监控所述机器人伺服驱动器反馈的数据,在触发子线程任务入口时,中止监控,基于权利要求1-4任一项所述的子线程数据接收方法获取校验成功的拼帧数据,基于所述拼帧数据执行子线程任务,并在所述子线程任务执行结束后恢复监控。6.根据权利要求5所述的一种数据监控方法,其特征在于,在步骤b2的实时监控过程中,实时监控所述机器人伺服驱动器反馈的基于数据类型编码的数据。7.根据权利要求5所述的一种数据监控方法,其特征在于,在步骤b2的执行子线程任务过程中,若所述拼帧数据的报文类型为数据采集,则向所述机器人伺服驱动器发送基于执行事项编码的执行指令,并持续接收所述机器人伺服驱动器反馈的基于数据类型编码的数据。8.一种上位机,应用于机器人伺服驱动器,其特征在于,所述上位机包括:接收模块(100),用于持续接收所述机器人伺服驱动器发送的数据;缓存拼接模块(200),用于当所述数据为头部数据符合预设帧头格式的数据时缓存该数据及其后数据,并拼接为拼帧数据,直至所述拼帧数据的帧长度大于或等于目标帧长度,其中,在缓存拼接模块(200)运行时,在所述拼帧数据大于或等于目标帧长度前,若接收模块(100)接收到头部数据符合预设帧头格式的数据,则缓存拼接模块(200)清空已缓存的所述拼帧数据;第一校验模块(300),用于对所述拼帧数据进行帧尾校验;第二校验模块(400),用于对所述拼帧数据进行crc校验。9.一种机器人,所述机器人包括机器人伺服驱动器和上位机,其特征在于,所述上位机基于权利要求1-4任一项所述的子线程数据接收方法执行子线程任务,或所述上位机基于
权利要求5-7任一项所述的数据监控方法实时监控所述机器人伺服驱动器反馈的数据。
技术总结
本发明公开了一种子线程数据接收方法、数据监控方法、上位机和机器人,涉及数字信息传输领域,其中所述子线程数据接收方法包括:持续接收所述机器人伺服驱动器发送的数据;当所述数据为头部数据符合预设帧头格式的数据时缓存该数据及其后数据,并拼接为拼帧数据,直至所述拼帧数据的帧长度大于或等于目标帧长度;对所述拼帧数据进行帧尾校验和CRC校验。本申请的子线程数据接收方法能解决机器人伺服驱动器的上位机在接收机器人伺服驱动器发送的信息时接收不够快速和不够准确的问题,从而能达到提高上位机接收数据的效率和准确率的效果。效果。效果。
技术研发人员:刘星锦 詹弋 邓锦祥 矫日华
受保护的技术使用者:季华实验室
技术研发日:2023.06.21
技术公布日:2023/8/1
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/