CN116506326B - 子线程数据接收方法、数据监控方法、上位机和机器人 - Google Patents
子线程数据接收方法、数据监控方法、上位机和机器人 Download PDFInfo
- Publication number
- CN116506326B CN116506326B CN202310741282.XA CN202310741282A CN116506326B CN 116506326 B CN116506326 B CN 116506326B CN 202310741282 A CN202310741282 A CN 202310741282A CN 116506326 B CN116506326 B CN 116506326B
- Authority
- CN
- China
- Prior art keywords
- data
- frame
- splicing
- sub
- robot
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 104
- 238000012544 monitoring process Methods 0.000 title claims abstract description 41
- 230000008569 process Effects 0.000 claims description 40
- 230000003139 buffering effect Effects 0.000 claims description 3
- 230000001960 triggered effect Effects 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 abstract description 2
- 230000000694 effects Effects 0.000 abstract description 2
- 238000012795 verification Methods 0.000 description 19
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000011010 flushing procedure Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0847—Transmission error
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
本发明公开了一种子线程数据接收方法、数据监控方法、上位机和机器人,涉及数字信息传输领域,其中所述子线程数据接收方法包括:持续接收所述机器人伺服驱动器发送的数据;当所述数据为头部数据符合预设帧头格式的数据时缓存该数据及其后数据,并拼接为拼帧数据,直至所述拼帧数据的帧长度大于或等于目标帧长度;对所述拼帧数据进行帧尾校验和CRC校验。本申请的子线程数据接收方法能解决机器人伺服驱动器的上位机在接收机器人伺服驱动器发送的信息时接收不够快速和不够准确的问题,从而能达到提高上位机接收数据的效率和准确率的效果。
Description
技术领域
本发明属于数字信息传输领域,特别涉及一种子线程数据接收方法、数据监控方法、上位机和机器人。
背景技术
机器人伺服驱动器上位机在执行子线程时需要接收机器人伺服驱动器发送的数据,在现有技术的上位机的数据接收过程中,需要缓存头部数据符合预设帧头格式的数据,确认该数据的尾部数据符合预设帧尾格式后再对该数据做其他校验。但当上位机接收到的数据为数据段而并非完整的数据帧时,上位机需要对接收到的每个数据段进行单独校验,再将校验通过的互相匹配的数据段拼接成一个完成的数据帧。由于校验和拼接为相互独立进行的两个过程且可能出现将不匹配的数据段拼接到一起的情况,上位机在进行子线程数据接收时效率和准确率低。因此,现有技术有待改进和发展。
发明内容
本申请的目的在于提供一种子线程数据接收方法、数据监控方法、上位机和机器人,能解决机器人伺服驱动器的上位机在接收机器人伺服驱动器发送的信息时接收不够快速和不够准确的问题,从而能达到提高上位机接收数据的效率和准确率的效果。
第一方面,本申请提供一种子线程数据接收方法,应用于机器人伺服驱动器的上位机,所述子线程数据接收方法包括:
A1.持续接收所述机器人伺服驱动器发送的数据;
A2.当所述数据为头部数据符合预设帧头格式的数据时缓存该数据及其后数据,并拼接为拼帧数据,直至所述拼帧数据的帧长度大于或等于目标帧长度;
A3.对所述拼帧数据进行帧尾校验和CRC校验;
其中,在步骤A2的执行过程中,在所述拼帧数据大于或等于目标帧长度前,若接收到头部数据符合预设帧头格式的数据,则清空已缓存的所述拼帧数据。
本申请的子线程数据接收方法,通过对接收到的数据进行帧头校验并对拼帧数据进行帧长度校验,可以避免拼接过程出现错误;并且本申请的子线程数据接收方法通过对拼帧数据进行帧尾校验和CRC校验,能够避免出现数据错误,提高上位机接收数据的效率和准确率。
进一步地,步骤A2中,所述头部数据符合预设帧头格式的数据包含所述目标帧长度的标识数据,所述目标帧长度基于所述目标帧长度的标识数据获取。
进一步地,步骤A3中,若对所述拼帧数据进行的帧尾校验或CRC校验不通过,则清空所述拼帧数据。
在该实施方式中,本申请的子线程数据接收方法通过清空帧尾校验或CRC校验不通过的拼帧数据,能够节省缓存空间。
进一步地,步骤A3中,所述拼帧数据的帧尾的前两个字节包含所述CRC校验的标识数据,所述CRC校验基于所述CRC校验的标识数据进行。
第二方面,本申请提供一种数据监控方法,应用于机器人伺服驱动器的上位机,所述数据监控方法包括:
B1.初始化配置信息并连接所述机器人伺服驱动器;
B2.实时监控所述机器人伺服驱动器反馈的数据,在触发子线程任务入口时,中止监控,基于上述任一所述的子线程数据接收方法获取校验成功的拼帧数据,基于所述拼帧数据执行子线程任务,并在所述子线程任务执行结束后恢复监控。
本申请的数据监控方法可以实时监控机器人伺服驱动器反馈的数据,并且该数据监控方法通过获取到的校验成功的拼帧数据的报文类型判断子线程任务类型并执行子线程任务,能够提高子线程任务的执行效率和准确率。
进一步地,在步骤B2的实时监控过程中,实时监控所述机器人伺服驱动器反馈的基于数据类型编码的数据。
进一步地,在步骤B2的执行子线程任务过程中,若所述拼帧数据的报文类型为数据采集,则向所述机器人伺服驱动器发送基于执行事项编码的执行指令,并持续接收所述机器人伺服驱动器反馈的基于数据类型编码的数据。
在该实施方式中,本申请的数据监控方法能使机器人伺服驱动器基于编码判断上位机发送的执行指令的类型并基于该执行指令类型执行对应的任务,并且本申请的数据监控方法能使上位机基于编码判断接收到的数据的类型并基于数据类型对接收到的数据进行处理,从而能节省机器人伺服驱动器对执行指令进行分类的时间和上位机对数据进行分类的时间,提高机器人伺服驱动器的任务执行效率和上位机的数据处理效率。
第三方面,本申请提供一种上位机,应用于机器人伺服驱动器,所述上位机包括:
接收模块,用于持续接收所述机器人伺服驱动器发送的数据;
缓存拼接模块,用于当所述数据为头部数据符合预设帧头格式的数据时缓存该数据及其后数据,并拼接为拼帧数据,直至所述拼帧数据的帧长度大于或等于目标帧长度,其中,在缓存拼接模块运行时,在所述拼帧数据大于或等于目标帧长度前,若接收模块接收到头部数据符合预设帧头格式的数据,则缓存拼接模块清空已缓存的所述拼帧数据;
第一校验模块,用于对所述拼帧数据进行帧尾校验;
第二校验模块,用于对所述拼帧数据进行CRC校验。
第四方面,本申请提供一种机器人,所述机器人包括机器人伺服驱动器和上位机,所述上位机基于上述任一所述的子线程数据接收方法执行子线程任务,或所述上位机基于上述任一所述的数据监控方法实时监控所述机器人伺服驱动器反馈的数据。
由上可知,本申请提供了一种子线程数据接收方法、数据监控方法、上位机和机器人,其中本申请提供的子线程数据接收方法将接收到的数据拼接,得到完整的数据帧并对该完整的数据帧进行校验,能解决机器人伺服驱动器的上位机在接收机器人伺服驱动器发送的信息时接收不够快速和不够准确的问题,从而能提高上位机接收数据的效率和准确率。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、以及附图中所特别指出的结构来实现和获得。
附图说明
图1为本申请实施例提供的一种子线程数据接收方法的流程图。
图2为本申请实施例提供的一种数据监控方法的流程图。
图3为本申请实施例提供的一种上位机的结构示意图。
标号说明:100、接收模块;200、缓存拼接模块;300、第一校验模块;400、第二校验模块。
具体实施方式
下面将结合本申请实施例中附图 ,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
如图1所示,本申请提供一种子线程数据接收方法,应用于机器人伺服驱动器的上位机,子线程数据接收方法包括:
A1.持续接收机器人伺服驱动器发送的数据;
A2.当数据为头部数据符合预设帧头格式的数据时缓存该数据及其后数据,并拼接为拼帧数据,直至拼帧数据的帧长度大于或等于目标帧长度;
A3.对拼帧数据进行帧尾校验和CRC校验。
具体应用中,主线程为上位机对机器人伺服驱动器进行实时监控的过程,子线程为实时监控过程中可能出现的需要上位机执行的任务过程,如参数读取、参数写入、数据采集、故障报警和固件升级等,上位机在主线程中若确认子线程任务需要执行,则中止主线程并进入子线程,在子线程任务执行结束后再退出子线程并进入主线程。
更具体地,上位机在执行子线程任务时需要确定任务的报文类型,因此需要接收机器人伺服驱动器发送的数据,而在上位机接收到的数据为数据段时,每次接收一个数据段,现有技术的上位机需要对接收到的每个数据段进行单独校验,再将校验通过的互相匹配的数据段拼接成一个完整的数据帧。由于现有技术的上位机无法使校验过程和拼接过程同时进行,且可能出现将不匹配的数据段拼接到一起的情况,因此现有技术的上位机在接收机器人伺服驱动器发送的数据时效率和准确率低。
更具体地,一个完整数据帧的帧长度不包括帧头和帧尾,因此在本申请的子线程数据接收方法中,拼帧数据的帧长度为N-2,N为该拼帧数据的字节数量。一个数据的头部数据为该数据的第一个字节。此外,CRC校验为基于数据中包含的循环冗余校验码对该数据进行的检错过程。对接收到的数据进行帧头校验,即判断接收到的数据的头部数据是否符合预设帧头格式。在接收到头部数据符合预设帧头格式的数据时缓存该数据,获取该数据的目标帧长度,并对该数据进行帧长度校验,即判断该数据的帧长度是否大于或等于目标帧长度。其中,目标帧长度可以是预设的数据,也可以包含在头部数据符合预设帧头格式的数据中,故可以基于该数据分析获取。若该数据的帧长度大于或等于目标帧长度则认为该数据包含对应于一个子线程任务的一个完整的数据帧,继续对该数据进行帧尾校验和CRC校验;若该数据的帧长度小于目标帧长度则继续接收并缓存机器人伺服驱动器发送的下一个数据,并将先缓存的数据与后缓存的数据拼接为拼帧数据,再基于先前获取的目标帧长度对拼接后的拼帧数据进行帧长度校验,重复获取、拼接与帧长度校验过程直至拼帧数据的帧长度大于或等于目标帧长度,认为该拼帧数据包含对应于一个子线程任务的一个完整的数据帧,对该拼帧数据进行帧尾校验和CRC校验。
更具体地,一个完整数据帧的帧尾位置可以基于该数据帧的帧长度分析获取,当拼帧数据的帧长度大于或等于目标帧长度时,该拼帧数据包含的完整数据帧的帧尾为该数据帧的第M+2个字节,M为该拼帧数据的目标帧长度。在对拼帧数据进行帧尾校验前,去除该拼帧数据帧尾后的字节,则余下的部分为对应于一个子线程任务的一个完整的数据帧,对该数据帧进行帧尾校验,即判断该数据帧的帧尾是否符合预设帧尾格式。若该数据帧的帧尾符合预设帧尾格式,则认为该数据帧通过帧尾校验,继续对该数据帧进行CRC校验;若该数据帧的帧尾不符合预设帧尾格式,则认为该数据帧是错误的,不再对该数据帧进行CRC校验并返回步骤A1。
更具体地,在对数据帧进行CRC校验时,若该数据帧通过CRC校验,则认为该数据帧是正确的,对该数据帧进行解析以获取对应的子线程任务并执行该子线程任务;若该数据帧未通过CRC校验,则认为该数据帧是错误的,返回步骤A1。
在另一些实施方式中,在拼帧数据通过帧尾校验和CRC校验后再去除该拼帧数据帧尾后的字节以得到对应于一个子线程任务的完整的数据帧,对该数据帧进行解析以获取对应的子线程任务并执行该子线程任务;若拼帧数据未通过帧尾校验或CRC校验,则不进行去除过程直接返回步骤A1。
更具体地,返回步骤A1后继续执行接收过程、拼接过程和校验过程以获得下一个完整的数据帧。
更具体地,在使用本申请的子线程数据接收方法进行的数据接收过程中,帧长度校验、帧尾校验和CRC校验都在缓存区进行,不影响上位机的数据分析过程和子线程任务执行过程。
更具体地,在使用本申请的子线程数据接收方法进行的数据接收过程中,对接收到的数据段进行了拼接,从拼帧数据中获取了对应于子线程任务的完整的数据帧,验证了该数据帧的帧头、帧尾和帧长度,并基于CRC验证对该数据帧进行了检错。其中,帧头校验过程用于触发数据缓存及校验,拼接过程和帧长度校验过程用于获取该数据帧的帧尾位置,帧尾校验过程和CRC校验过程用于对该完整的数据帧进行检错。
本申请的子线程数据接收方法,通过对接收到的数据进行帧头校验并对拼帧数据进行帧长度校验,可以避免拼接过程出现错误;并且本申请的子线程数据接收方法通过对拼帧数据进行帧尾校验和CRC校验,能够避免出现数据错误,提高上位机接收数据的效率和准确率。
在一些优选的实施方式中,在步骤A2的执行过程中,在拼帧数据大于或等于目标帧长度前,若接收到头部数据符合预设帧头格式的数据,则清空已缓存的拼帧数据,缓存该数据及其后数据,并拼接为拼帧数据,直至拼帧数据的帧长度大于或等于目标帧长度。
具体应用中,在一个拼帧数据中将首次缓存的数据认定为该拼帧数据的数据段首。在数据接收过程中,可能出现丢包情况导致部分数据缺失,在与已缓存的头部数据符合预设帧头格式的数据相匹配的其他数据缺失后,由该已缓存的数据参与组成的完整数据帧已经无法被获取,并且由于缺失部分数据,在拼帧数据通过帧长度校验之前就会接收到下一个包含一个完整的数据帧的拼帧数据的数据段首,若将该数据段首和已缓存的数据拼接为拼帧数据,则无法获得由该数据段首参与组成的另一个完整的数据帧。因此需要清空已缓存的拼帧数据并将该头部数据符合预设帧头格式的数据作为新的拼帧数据的数据段首,若目标帧长度为预设的数据,则缓存该数据及其后数据并拼接为新的拼帧数据,直至新的拼帧数据的帧长度大于或等于目标帧长度;若目标帧长度包含在头部数据符合预设帧头格式的数据中,则基于该数据分析获取目标帧长度,缓存该数据及其后数据并拼接为新的拼帧数据,直至新的拼帧数据的帧长度大于或等于目标帧长度。
在该实施方式中,本申请的子线程数据接收方法通过将拼帧过程中通过帧头校验的数据作为新的拼帧数据的数据段首并重新进行拼接,可以避免将包含一个正确且完整的数据帧的拼帧数据的数据段首与其他错误数据进行错误拼接,从而能提高上位机接收数据的准确率。
在一些优选的实施方式中,步骤A2中,头部数据符合预设帧头格式的数据包含目标帧长度的标识数据,目标帧长度基于目标帧长度的标识数据获取。
具体应用中,步骤A2中,对头部数据符合预设帧头格式的数据进行缓存时对该数据进行分析,基于该数据中包含的目标帧长度的标识数据获取该数据的目标帧长度。
在更优选的实施方式中,头部数据符合预设帧头格式的数据的第二个字节包含目标帧长度的标识数据。
在该实施方式中,本申请的子线程数据接收方法中拼帧数据的目标帧长度可以基于该拼帧数据的头部数据包含的目标帧长度的标识数据获取,因此在头部数据符合预设帧头格式的数据可能包含一个完整数据帧的情况下,在接收到该数据后即可基于该数据含有的目标帧长度的标识数据获取该数据的目标帧长度,进而对该数据进行帧长度校验。
在一些优选的实施方式中,步骤A3中,若对完整数据帧进行的帧尾校验或CRC校验不通过,则清空拼帧数据。
具体应用中,在基于包含完整的数据帧的拼帧数据获得一个完整的数据帧后,若对该数据帧的帧尾校验或CRC校验不通过,则认为该数据帧是错误的,上位机不再需要对该拼帧数据做后续处理,因此可以清空该拼帧数据以节省缓存空间。在该实施方式中,本申请的子线程数据接收方法通过清空帧尾校验或CRC校验不通过的拼帧数据,能够节省缓存空间。
在一些优选的实施方式中,步骤A3中,拼帧数据的帧尾的前两个字节包含CRC校验的标识数据,CRC校验基于CRC校验的标识数据进行。
在该实施方式中,本申请的子线程数据接收方法中CRC校验基于拼帧数据帧尾的前两个字节包含的CRC校验的标识数据进行,因此在获得完整的数据帧后可以基于该数据帧帧尾的前两个字节对该数据帧的从站地址和功能码等进行校验。
下面通过实施例具体解释说明。
实施例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校验的标识数据进行。
在上一次获得完整的数据帧并对该数据帧进行帧尾校验和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,继续接收机器人伺服驱动器发送的数据。
如图2所示,第二方面,本申请提供一种数据监控方法,应用于机器人伺服驱动器的上位机,数据监控方法包括:
B1.初始化配置信息并连接机器人伺服驱动器;
B2.实时监控机器人伺服驱动器反馈的数据,在触发子线程任务入口时,中止监控,基于上述任一子线程数据接收方法获取校验成功的拼帧数据,基于拼帧数据执行子线程任务,并在子线程任务执行结束后恢复监控。
具体应用中,步骤B1中,在需要对机器人伺服驱动器进行实时数据监控时启动上位机,上位机初始化配置文件并设置参数信息,打开串口并向机器人伺服驱动器发送连接指令,收到机器人伺服驱动器的回复指令即代表连接成功。
更具体地,步骤B2中,上位机定时向机器人伺服驱动器发送数据监控指令并实时接收机器人伺服驱动器回传的需要实时监控的参数信息,以实现对机器人伺服驱动器反馈数据的实时监控。
更具体地,步骤B2中,可以根据在子线程中接收并获取到的完整数据帧的报文类型判断需要执行的子线程任务。在触发子线程任务入口时中止监控,并基于上述任一所述的子线程数据接收方法中的接收过程、拼接过程和校验过程以获取校验成功的拼帧数据,将该拼帧数据作为一个正确的完整数据帧,基于完整数据帧的报文类型判断子线程任务类型并执行子线程任务,并在子线程任务执行结束后恢复监控。其中子线程任务类型包括但不限于参数读取、参数写入、数据采集、故障报警和固件升级。
本申请的数据监控方法可以实时监控机器人伺服驱动器反馈的数据,并且该数据监控方法通过获取到的校验成功的拼帧数据的报文类型判断子线程任务类型并执行子线程任务,能够提高子线程任务的执行效率和准确率。
在一些优选的实施方式中,在步骤B2的实时监控过程中,实时监控机器人伺服驱动器反馈的基于数据类型编码的数据。
具体应用中,步骤B2中,机器人伺服驱动器可以基于数据类型对需要反馈给上位机的数据进行编码,在编码完成后再发送给上位机,上位机接收到编码过的数据后可以基于编码判断接收到的数据的类型,并基于数据类型对接收到的数据进行处理。其中,上位机接收到的数据类型包括但不限于伺服状态数据、速度数据、电流数据、转速数据、状态字数据、控制字数据、伺服故障数据和报警数据。
在该实施方式中,本申请的数据监控方法能使上位机基于编码判断接收到的数据的类型并基于数据类型对接收到的数据进行处理,从而能节省上位机对数据进行分类的时间,提高上位机的数据处理效率。
在一些优选的实施方式中,在步骤B2的执行子线程任务过程中,若拼帧数据的报文类型为数据采集,则向机器人伺服驱动器发送基于执行事项编码的执行指令,并持续接收机器人伺服驱动器反馈的基于数据类型编码的数据。
具体应用中,步骤B2中,在确认作为一个正确的完整数据帧的拼帧数据的报文类型为数据采集后,上位机需要向机器人伺服驱动器发送数据采集相关的执行指令,此时上位机可以基于执行事项对执行指令进行编码,在编码完成后再发送给机器人伺服驱动器,机器人伺服驱动器接收到编码过的执行指令后可以基于编码判断接收到的执行指令类型,再基于执行指令执行任务。其中,上位机发送的执行指令类型包括但不限于采集、问询、上传和停止。
更具体地,步骤B2中,可以事先设定上传指令次数与数据类型的对应表。在需要机器人伺服驱动器执行上传任务时,上位机对机器人伺服驱动器发送若干次上传指令,在每次接收到上传指令后伺服驱动器基于对应表根据接收到的上传指令次数发送对应类型的数据。在更优选的实施方式中,机器人伺服驱动器基于数据类型对采集到的数据进行编码,在接收到上传指令后机器人伺服驱动器发送编码过的数据,上位机接收该编码过的数据后基于编码判断接收到的数据的类型,并基于数据类型对接收到的数据进行处理。
在该实施方式中,本申请的数据监控方法能使机器人伺服驱动器基于编码判断上位机发送的执行指令的类型并基于该执行指令类型执行对应的任务,并且本申请的数据监控方法能使上位机基于编码判断接收到的数据的类型并基于数据类型对接收到的数据进行处理,从而能节省机器人伺服驱动器对执行指令进行分类的时间和上位机对数据进行分类的时间,提高机器人伺服驱动器的任务执行效率和上位机的数据处理效率。
如图3所示,第三方面,本申请提供一种上位机,应用于机器人伺服驱动器,上位机包括:
接收模块100,用于持续接收机器人伺服驱动器发送的数据;
缓存拼接模块200,用于当数据为头部数据符合预设帧头格式的数据时缓存该数据及其后数据,并拼接为拼帧数据,直至拼帧数据的帧长度大于或等于目标帧长度,其中,在缓存拼接模块200运行时,在拼帧数据大于或等于目标帧长度前,若接收模块100接收到头部数据符合预设帧头格式的数据,则缓存拼接模块200清空已缓存的拼帧数据;
第一校验模块300,用于对拼帧数据进行帧尾校验;
第二校验模块400,用于对拼帧数据进行CRC校验。
本申请的上位机通过对接收到的数据进行帧头校验并对拼帧数据进行帧长度校验,可以避免拼接过程出现错误;并且本申请的上位机通过对拼帧数据进行帧尾校验和CRC校验,能够避免出现数据错误,提高上位机接收数据的效率和准确率。
在一些优选的实施方式中,本申请实施例的上位机用于执行上述第一方面提供的子线程数据接收方法。
第四方面,本申请提供一种机器人,机器人包括机器人伺服驱动器和上位机,上位机基于上述任一子线程数据接收方法执行子线程任务,或上位机基于上述任一数据监控方法实时监控机器人伺服驱动器反馈的数据。
综上,本申请提供了一种子线程数据接收方法、数据监控方法、上位机和机器人,其中,子线程数据接收方法将接收到的数据拼接,得到完整的数据帧并对该完整的数据帧进行校验,能解决机器人伺服驱动器的上位机在接收机器人伺服驱动器发送的信息时接收不够快速和不够准确的问题,从而能提高上位机接收数据的效率和准确率。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (8)
1.一种子线程数据接收方法,应用于机器人伺服驱动器的上位机,其特征在于,所述子线程数据接收方法包括:
A1 .持续接收所述机器人伺服驱动器发送的数据;
A2 .当所述数据为头部数据符合预设帧头格式的数据时缓存该数据及其后数据,并拼接为拼帧数据,直至所述拼帧数据的帧长度大于或等于目标帧长度;
A3 .对所述拼帧数据进行帧尾校验和CRC校验;
其中,在步骤A2的执行过程中,在所述拼帧数据大于或等于目标帧长度前,若接收到头部数据符合预设帧头格式的数据,则清空已缓存的所述拼帧数据,所述头部数据符合预设帧头格式的数据包含所述目标帧长度的标识数据,所述目标帧长度基于所述目标帧长度的标识数据获取。
2.根据权利要求1所述的一种子线程数据接收方法,其特征在于,步骤A3中,若对所述拼帧数据进行的帧尾校验或CRC校验不通过,则清空所述拼帧数据。
3.根据权利要求1所述的一种子线程数据接收方法,其特征在于,步骤A3中,所述拼帧数据的帧尾的前两个字节包含所述CRC校验的标识数据,所述CRC校验基于所述CRC校验的标识数据进行。
4.一种数据监控方法,应用于机器人伺服驱动器的上位机,其特征在于,所述数据监控方法包括:
B1 .初始化配置信息并连接所述机器人伺服驱动器;
B2 .实时监控所述机器人伺服驱动器反馈的数据,在触发子线程任务入口时,中止监控,基于权利要求1-3任一项所述的子线程数据接收方法获取校验成功的拼帧数据,基于所述拼帧数据执行子线程任务,并在所述子线程任务执行结束后恢复监控。
5.根据权利要求4所述的一种数据监控方法,其特征在于,在步骤B2的实时监控过程中,实时监控所述机器人伺服驱动器反馈的基于数据类型编码的数据。
6.根据权利要求4所述的一种数据监控方法,其特征在于,在步骤B2的执行子线程任务过程中,若所述拼帧数据的报文类型为数据采集,则向所述机器人伺服驱动器发送基于执行事项编码的执行指令,并持续接收所述机器人伺服驱动器反馈的基于数据类型编码的数据。
7.一种上位机,应用于机器人伺服驱动器,其特征在于,所述上位机包括:
接收模块(100),用于持续接收所述机器人伺服驱动器发送的数据;
缓存拼接模块(200),用于当所述数据为头部数据符合预设帧头格式的数据时缓存该数据及其后数据,并拼接为拼帧数据,直至所述拼帧数据的帧长度大于或等于目标帧长度,
其中,在缓存拼接模块(200)运行时,在所述拼帧数据大于或等于目标帧长度前,若接收模块(100)接收到头部数据符合预设帧头格式的数据,则缓存拼接模块(200)清空已缓存的所述拼帧数据,所述头部数据符合预设帧头格式的数据包含所述目标帧长度的标识数据,所述目标帧长度基于所述目标帧长度的标识数据获取;
第一校验模块(300),用于对所述拼帧数据进行帧尾校验;
第二校验模块(400),用于对所述拼帧数据进行CRC校验。
8.一种机器人,所述机器人包括机器人伺服驱动器和上位机,其特征在于,所述上位机基于权利要求1-3任一项所述的子线程数据接收方法执行子线程任务,或所述上位机基于权利要求4-6任一项所述的数据监控方法实时监控所述机器人伺服驱动器反馈的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310741282.XA CN116506326B (zh) | 2023-06-21 | 2023-06-21 | 子线程数据接收方法、数据监控方法、上位机和机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310741282.XA CN116506326B (zh) | 2023-06-21 | 2023-06-21 | 子线程数据接收方法、数据监控方法、上位机和机器人 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116506326A CN116506326A (zh) | 2023-07-28 |
CN116506326B true CN116506326B (zh) | 2023-11-24 |
Family
ID=87328607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310741282.XA Active CN116506326B (zh) | 2023-06-21 | 2023-06-21 | 子线程数据接收方法、数据监控方法、上位机和机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116506326B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103595504A (zh) * | 2013-11-04 | 2014-02-19 | 上海数字电视国家工程研究中心有限公司 | 数据包的封装方法及校验方法 |
CN111283680A (zh) * | 2020-02-28 | 2020-06-16 | 华南理工大学 | 一种无线远程遥控机器人的系统和方法 |
CN112152753A (zh) * | 2019-06-28 | 2020-12-29 | 北京京东尚科信息技术有限公司 | 一种与下位机传输数据的方法及装置 |
CN114509966A (zh) * | 2021-12-30 | 2022-05-17 | 北京无线电测量研究所 | 一种非同步高速串口实时连续数据采集系统 |
CN114710224A (zh) * | 2022-03-01 | 2022-07-05 | 西安领创电子科技有限公司 | 帧同步方法及装置、计算机可读介质、电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1032165A1 (en) * | 1999-02-26 | 2000-08-30 | International Business Machines Corporation | Method of assembling segmented frames of data transmitted over a backbone |
-
2023
- 2023-06-21 CN CN202310741282.XA patent/CN116506326B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103595504A (zh) * | 2013-11-04 | 2014-02-19 | 上海数字电视国家工程研究中心有限公司 | 数据包的封装方法及校验方法 |
CN112152753A (zh) * | 2019-06-28 | 2020-12-29 | 北京京东尚科信息技术有限公司 | 一种与下位机传输数据的方法及装置 |
CN111283680A (zh) * | 2020-02-28 | 2020-06-16 | 华南理工大学 | 一种无线远程遥控机器人的系统和方法 |
CN114509966A (zh) * | 2021-12-30 | 2022-05-17 | 北京无线电测量研究所 | 一种非同步高速串口实时连续数据采集系统 |
CN114710224A (zh) * | 2022-03-01 | 2022-07-05 | 西安领创电子科技有限公司 | 帧同步方法及装置、计算机可读介质、电子设备 |
Non-Patent Citations (1)
Title |
---|
一种串口数据帧拼接现象处理研究;刘超;张永龙;;计算机测量与控制(08);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116506326A (zh) | 2023-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110704356A (zh) | 一种通用的解析串口数据方法 | |
CN114710224A (zh) | 帧同步方法及装置、计算机可读介质、电子设备 | |
CN114490220A (zh) | 基于mqtt的车载娱乐系统远程调试方法及调试系统 | |
CN107370634B (zh) | 一种输电线路在线监测信息采集方法、装置和系统 | |
CN116506326B (zh) | 子线程数据接收方法、数据监控方法、上位机和机器人 | |
CN112445160B (zh) | 一种ecu配置码的自动生成方法及装置 | |
CN112614331A (zh) | 抄读电能表事件的方法与电能表抄读事件系统 | |
CN111737385A (zh) | 电子地图数据差错检测方法及装置 | |
CN101764669A (zh) | 数据接收过程中的crc码校验方法 | |
CN113112786B (zh) | 一种针对电表的多数据抄读方法、介质及电子设备 | |
CN113301147B (zh) | 一种基于数据传输的局部放电数据处理系统 | |
CN112181444B (zh) | 一种基于1553b总线的dsp多核数据烧写方法 | |
CN112527497B (zh) | 一种序列化多线程数据处理系统 | |
CN115543755B (zh) | 一种性能监管方法、装置、系统、设备和介质 | |
JP2635691B2 (ja) | 回収フレーム認識装置 | |
CN114124745A (zh) | 一种用于诊断mvb通信故障的方法与系统 | |
CN112804288A (zh) | 车端数据处理方法、装置、电子设备及计算机存储介质 | |
CN107994970B (zh) | 一种基于arinc429总线通信的通用数据解码方法 | |
CN112152753A (zh) | 一种与下位机传输数据的方法及装置 | |
CN112653663B (zh) | 一种信息交换协议方法 | |
CN111385361B (zh) | 验布机通信方法、装置、电子设备及存储介质 | |
CN116955150A (zh) | 一种数据传输软件的模糊测试方法 | |
CN113138911A (zh) | 一种轨道交通监测数据重现系统及故障修复验证方法 | |
CN113177011A (zh) | 航天器数据解析应用方法 | |
CN117687939A (zh) | 一种通用的串口数据滑窗系统 |
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 |