CN115664599B - 一种数据传输方法、装置、电子设备及存储介质 - Google Patents

一种数据传输方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN115664599B
CN115664599B CN202211568338.8A CN202211568338A CN115664599B CN 115664599 B CN115664599 B CN 115664599B CN 202211568338 A CN202211568338 A CN 202211568338A CN 115664599 B CN115664599 B CN 115664599B
Authority
CN
China
Prior art keywords
target
data
zone bit
communication zone
target data
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
Application number
CN202211568338.8A
Other languages
English (en)
Other versions
CN115664599A (zh
Inventor
张翔
涂杭飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Yunku Intelligent Technology Co ltd
Original Assignee
Hangzhou Yunku Intelligent Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Yunku Intelligent Technology Co ltd filed Critical Hangzhou Yunku Intelligent Technology Co ltd
Priority to CN202211568338.8A priority Critical patent/CN115664599B/zh
Publication of CN115664599A publication Critical patent/CN115664599A/zh
Application granted granted Critical
Publication of CN115664599B publication Critical patent/CN115664599B/zh
Priority to US18/197,790 priority patent/US11876629B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/24Testing correct operation
    • H04L1/245Testing correct operation by using the properties of transmission codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0745Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in an input/output transactions management context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0094Bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Abstract

本申请提供了一种数据传输方法、装置、电子设备及存储介质,向多个目标设备发送数据采集指令,并开启定时器;针对多个所述目标设备中的任一第一目标设备,在预设定时时间之内检测总线上是否存在所述第一目标设备传输的第一目标数据;若是,则对所述第一目标数据进行数据检验,并根据校验结果确定出所述第一目标设备的通讯标志位;基于所述第一目标设备的通讯标志位,确定是否接收所述第一目标设备发送的所述第一目标数据。对于多个设备的数据传输通过检测总线上的数据流进行判断,降低了整体的通讯时间,实现了不会因为一个设备出现问题而影响其他设备数据的正常传输,从而提高了数据传输的效率。

Description

一种数据传输方法、装置、电子设备及存储介质
技术领域
本申请涉及通讯技术领域,尤其是涉及一种数据传输方法、装置、电子设备及存储介质。
背景技术
通讯网络是一种采用差分平衡式传输的数字多点系统,其一般采用的是主从的通讯方式,即一个主机带多个从机,同时,主机和多个从机之间采用半双工的通讯模式,因此,通讯网络以其低成本、设计简单的优势得到广泛应用。目前,通讯网络中半双工通讯技术只能采用主机询问从机应答的方式,即主机逐一轮询总线的从机,从机按照轮询机制回应主机,从而避免通讯网络中多个主体同时处于发送状态而造成总线上信号的冲突。但是,当单个主机挂接的从机较多时,采用轮询机制会导致轮询时间长,通讯速度慢,无法满足数据的快速交换,进而使得通讯效率低。
发明内容
有鉴于此,本申请的目的在于提供一种数据传输方法、装置、电子设备及存储介质,对于多个设备的数据传输通过检测总线上的数据流进行判断,降低了整体的通讯时间,实现了不会因为一个设备出现问题而影响其他设备数据的正常传输,从而提高了数据传输的效率。
本申请实施例提供了一种数据传输方法,所述数据传输方法包括:
向多个目标设备发送数据采集指令,并开启定时器;
针对多个所述目标设备中的任一第一目标设备,在预设定时时间之内检测总线上是否存在所述第一目标设备传输的第一目标数据;
若是,则对所述第一目标数据进行数据检验,并根据校验结果确定出所述第一目标设备的通讯标志位;
基于所述第一目标设备的通讯标志位,确定是否接收所述第一目标设备发送的所述第一目标数据。
在一种可能的实施方式中,通过以下步骤确定出所述预设定时时间:
基于波特率计算出每帧目标数据的传输时间;
基于预设时间间隔与所述传输时间,确定出每帧目标数据的定时时间。
在一种可能的实施方式中,所述数据检验包括传输长度校验和循环冗余校验;所述对所述第一目标数据进行数据检验,并根据校验结果确定出所述第一目标设备的通讯标志位,包括:
检测所述第一目标数据的传输长度是否与预设的目标传输长度相一致;
若相一致,则对所述第一目标数据进行循环冗余校验,若通过所述循环冗余校验,则确定出所述第一目标设备的通讯标志位为第一通讯标志位;若未通过所述循环冗余校验,则确定出所述第一目标设备的通讯标志位为第二通讯标志位;
若不相一致,则确定出所述第一目标设备的通讯标志位为第三通讯标志位,继续等待所述第一目标数据的传输。
在一种可能的实施方式中,在所述针对多个所述目标设备中的任一第一目标设备,在预设定时时间之内检测总线上是否存在所述第一目标设备传输的第一目标数据之后,所述数据传输方式还包括:
若否,则确定出所述第一目标设备的通讯标志位为第二通讯标志位。
在一种可能的实施方式中,所述基于所述第一目标设备的通讯标志位,确定是否接收所述目标设备发送的所述第一目标数据,包括:
检测所述第一目标设备的通讯标志位的类型;
若所述通讯标志位为第一通讯标志位,则对所述第一目标数据进行相对应的数据处理,当处理完成后接收该第一目标设备的下一个目标数据;
若所述通讯标志位为第二通讯标志位,则发送数据错误标识,接收第二目标设备的第二目标数据;
若所述通讯标志位为第三通讯标志位,则跳过对所述第一目标数据的处理接收多个所述目标设备中的第二目标设备的第二目标数据。
在一种可能的实施方式中,在所述若所述通讯标志位为第三通讯标志位,则发送数据错误标识,接收第二目标设备的第二目标数据之后,所述数据传输方法还包括:
每隔所述预设定时时间向所述第三通讯标志位对应的所述第一目标设备发送数据采集指令;
基于采集到的所述第三通讯标志位对应的所述第一目标设备发送的第二目标数据,确定所述第三通讯标志位对应的所述第一目标设备的状态是否正常;
若是,则将该第一目标设备的所述第三通讯标志位更改为所述第一通讯标志位。
本申请实施例还提供了一种数据传输装置,所述数据传输装置包括:
发送指令模块,用于向多个目标设备发送数据采集指令,并开启定时器;
检测模块,用于针对多个所述目标设备中的任一第一目标设备,在预设定时时间之内检测到总线上存在所述第一目标设备传输的第一目标数据;
校验模块,用于若是,则对所述第一目标数据进行数据检验,并根据校验结果确定出所述第一目标设备的通讯标志位;
第一确定模块,用于基于所述第一目标设备的通讯标志位,确定是否接收所述第一目标设备发送的所述第一目标数据。
在一种可能的实施方式中,所述检测模块通过以下步骤确定出所述预设定时时间:
基于波特率计算出每帧目标数据的传输时间;
基于预设时间间隔与所述传输时间,确定出每帧目标数据的定时时间。
本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通讯,所述机器可读指令被所述处理器执行时执行如上述的数据传输方法的步骤。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述的数据传输方法的步骤。
本申请实施例提供的一种数据传输方法、装置、电子设备及存储介质,向多个目标设备发送数据采集指令,并开启定时器;针对多个所述目标设备中的任一第一目标设备,在预设定时时间之内检测总线上是否存在所述第一目标设备传输的第一目标数据;若是,则对所述第一目标数据进行数据检验,并根据校验结果确定出所述第一目标设备的通讯标志位;基于所述第一目标设备的通讯标志位,确定是否接收所述第一目标设备发送的所述第一目标数据。对于多个设备的数据传输通过检测总线上的数据流进行判断,降低了整体的通讯时间,实现了不会因为一个设备出现问题而影响其他设备数据的正常传输,从而提高了数据传输的效率。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例所提供的一种数据传输方法的流程图;
图2为本申请实施例所提供的一种数据传输方法的流程示意图;
图3为本申请实施例所提供的一种数据传输装置的结构示意图之一;
图4为本申请实施例所提供的一种数据传输装置的结构示意图之二;
图5为本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中的附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应当理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的全部其他实施例,都属于本申请保护的范围。
为了使得本领域技术人员能够使用本申请内容,结合特定应用场景“对数据进行传输”,给出以下实施方式,对于本领域技术人员来说,在不脱离本申请的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用场景。
本申请实施例下述方法、装置、电子设备或计算机可读存储介质可以应用于任何需要对数据进行传输的场景,本申请实施例并不对具体的应用场景作限制,任何使用本申请实施例提供了一种数据传输方法、装置、电子设备及存储介质的方案均在本申请保护范围内。
首先,对本申请可适用的应用场景进行介绍。本申请可应用于通讯技术领域。
经研究发现,通讯网络是一种采用差分平衡式传输的数字多点系统,其一般采用的是主从的通讯方式,即一个主机带多个从机,同时,主机和多个从机之间采用半双工的通讯模式,因此,通讯网络以其低成本、设计简单的优势得到广泛应用。目前,通讯网络中采用半双工通讯技术只能采用主机询问从机应答的方式,即主机逐一轮询总线的从机,从机按照轮询机制回应主机,从而避免通讯网络中多个主体同时处于发送状态而造成总线上信号的冲突。但是,当单个主机挂接的从机较多时,采用轮询机制会导致轮询时间长,通讯速度慢,无法满足数据的快速交换,进而使得通讯效率低。
基于此,本申请实施例提供了一种数据传输方法,对于多个设备的数据传输通过检测总线上的数据流进行判断,降低了整体的通讯时间,实现了不会因为一个设备出现问题而影响其他设备数据的正常传输,从而提高了数据传输的效率。
请参阅图1,图1为本申请实施例所提供的一种数据传输方法的流程图。如图1中所示,本申请实施例提供的数据传输方法,包括:
S101:向多个目标设备发送数据采集指令,并开启定时器。
该步骤中,向多个目标设备发送数据采集指令并开启定时器。
这里,控制器向多个目标设备发送数据采集指令和开启定时器。
其中,目标设备可为通讯设备、传输设备等,这里任何可以进行数据传输、通讯的设备均可为目标设备,不限制目标设备的类型。
这里,除了进行发送数据采集指令,并开启定时器之外,控制器还可以发送协议的起始地址以及结束地址等。
S102:针对多个所述目标设备中的任一第一目标设备,在预设定时时间之内检测总线上是否存在所述第一目标设备传输的第一目标数据。
该步骤中,针对目标设备中的任一个第一目标设备,在预设定时时间之内检测总线上是否存在第一目标设备传输的第一目标数据。
这里,总线可为利用485通讯接口与控制器和第一目标设备通信的连接线,第一目标数据需通过总线在第一目标设备上传输到控制器之中。
其中,第一目标数据为根据数据采集指令向控制器传输的目标数据。
其中,定时器用于对传输第一目标数据的时间进行计时。
在一种可能的实施方式中,通过以下步骤确定出所述预设定时时间:
A:基于波特率计算出每帧目标数据的传输时间。
这里,利用波特率计算出每帧目标数据的传输时间。
其中,波特率可为9600等。
B:基于预设时间间隔与所述传输时间,确定出每帧目标数据的预设定时时间。
这里,根据预设时间间隔与传输时间计算出每帧目标数据的预设定时时间。
其中,预设时间间隔可为0.5ms,若传输时间为3.5ms,则定时时间为4ms。
在具体实施例中,485Modbus协议数据可认为是定长数据,在控制器发送控制或读取命令后,可计算出返回数据的长度,在发送命令后打开定时器,根据波特率算出每帧目标数据的传输时间,从而设置定时器的触发时间,定时时间比每帧目标数据传输时间需大0.5ms。
S103:若是,则对所述第一目标数据进行数据检验,并根据校验结果确定出所述第一目标设备的通讯标志位。
该步骤中,若在预设定时时间之内检测总线上存在第一目标设备传输的第一目标数据,则对第一目标数据进行数据检验,并根据校验结果确定出每个第一目标设备的通讯标志位。
其中,数据校验包括数据长度校验以及循环冗余校验。
其中,通讯标志位包括第一通讯标志位、第二通讯标志位以及第三通讯标志位,第一通讯标志位可用0表示,第二通讯标志位可用2表示,以及第三通讯标志位可用1表示。
在一种可能的实施方式中,所述数据检验包括传输长度校验和循环冗余校验;所述对所述第一目标数据进行数据检验,并根据校验结果确定出所述第一目标设备的通讯标志位,包括:
a:检测所述第一目标数据的传输长度是否与预设的目标传输长度相一致。
这里,检测第一目标数据的传输长度是否与预设的目标传输长度相一致。
其中,预设的目标传输长度为控制器预先设定好的需要第一目标设备发送的第一目标数据的长度,如4位int。
举例来讲,第一目标数据的传输长度为3位int,而预设的目标传输长度为4位int,则说明该第一目标设备的第一目标数据传输还没完全完成。
b:若相一致,则对所述第一目标数据进行循环冗余校验,若通过所述循环冗余校验,则确定出所述第一目标设备的通讯标志位为第一通讯标志位;若未通过所述循环冗余校验,则确定出所述第一目标设备的通讯标志位为第二通讯标志位。
这里,若第一目标数据的传输长度与预设的目标传输长度相一致,则对第一目标数据进行循环冗余校验,若通过循环冗余校验,则确定出第一目标设备的通讯标志位为第一通讯标志位;若未通过循环冗余校验,则确定出第一目标设备的通讯标志位为第二通讯标志位。
其中,循环冗余校验 (CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。若CRC校验不通过,系统重复向硬盘复制数据,陷入死循环,导致复制过程无法完成。出现循环冗余检查错误的可能原因非常多,硬件软件的故障都有可能。
c:若不相一致,则确定出所述第一目标设备的通讯标志位为第三通讯标志位,继续等待所述第一目标数据的传输。
这里,若第一目标数据的传输长度与预设的目标传输长度不相一致,则说明第一目标设备的数据传输还没完全完成,继续等待第一目标数据的传输。
在具体实施例中,检测第一目标数据的传输长度是否与预设的目标传输长度相一致,若第一目标数据的传输长度与预设的目标传输长度相一致,则对第一目标数据进行循环冗余校验,若通过循环冗余校验,则确定出第一目标设备的通讯标志位为第一通讯标志位;若未通过循环冗余校验,则确定出第一目标设备的通讯标志位为第二通讯标志位,若第一目标数据的传输长度与预设的目标传输长度不相一致,则说明第一目标设备的数据传输还没完全完成,继续等待第一目标数据的传输。利用两次数据校验可以传到控制器的数据的准确性,避免数据传输错误,提高了数据传输的准确率。
在另一具体实施例之中,检测第一目标数据是否通过循环冗余校验,若通过循环冗余校验,则检测第一目标数据的传输长度是否与预设的目标传输长度相一致,若第一目标数据的传输长度与预设的目标传输长度相一致,则确定出第一目标设备的通讯标志位为第一通讯标志位。若第一目标数据的传输长度与预设的目标传输长度不相一致,则确定出第一目标设备的通讯标志位为第三通讯标志位。说明第一目标设备的数据传输还没完全完成,继续等待第一目标数据的传输,若未通过循环冗余校验,则确定出第一目标设备的通讯标志位为第二通讯标志位,用两次数据校验可以传到控制器的数据的准确性,避免数据传输错误,提高了数据传输的准确率。
S104:基于所述第一目标设备的通讯标志位,确定是否接收所述第一目标设备发送的所述第一目标数据。
该步骤中,根据每个第一目标设备的通讯标志位,确定是否接收第一目标设备发送的第一目标数据。
在一种可能的实施方式中,所述基于所述第一目标设备的通讯标志位,确定是否接收所述目标设备发送的所述第一目标数据,包括:
(1):检测所述第一目标设备的通讯标志位的类型。
这里,检测第一目标设备的通讯标志位的类型。
其中,通讯标志位的类型包括第一通讯标志位、第二通讯标志位以及第三通讯标志位。
(2):若所述通讯标志位为第一通讯标志位,则对所述第一目标数据进行相对应的数据处理,当处理完成后接收该第一目标设备的下一个目标数据。
这里,若通讯标志位为第一通讯标志位,则对第一目标数据进行相对应的数据处理,当处理完成后接收该第一目标设备的下一个目标数据。
其中,下一个目标数据为对第一目标数据处理完成后的下一个目标数据。
这里,数据处理为在控制器之中对第一目标数据进行处理,然后关闭定时器,当处理完成后接收该第一目标设备的下一个目标数据,其中,接收该第一目标设备的下一个目标数据的处理过程与上述步骤相一致,此部分不再进行赘述。
(3):若所述通讯标志位为第二通讯标志位,则发送数据错误标识,接收第二目标设备的第二目标数据。
这里,若通讯标志位为第二通讯标志位,发送数据错误标识,接收第二目标设备的第二目标数据。
这里,在错误标识相对应的错误标志位加1。
这里,第二目标设备为其他的设备。
(4):若所述通讯标志位为第三通讯标志位,跳过对所述第一目标数据的处理接收多个所述目标设备中的第二目标设备的第二目标数据。
这里,若通讯标志位为第三通讯标志位,则跳过对所述第一目标数据的数据处理,接收第二目标设备的第二目标数据。
这里,若通讯标志位为第三通讯标志位,控制器则跳过对第一目标数据的数据处理,处理其他已经传输到控制器的数据的处理任务,处理完成后接收第二目标设备的第二目标数据。
在具体实施例中,检测第一目标设备的通讯标志位的类型,若通讯标志位的类型为0,则第一目标数据进行相对应的数据处理,当处理完成后接收该第一目标设备的下一个目标数据,若通讯标志位为1,控制器则跳过对第一目标数据的数据处理,处理其他已经传输到控制器的数据的处理任务。若通讯标志位为2,则发送数据错误标识,接收第二目标设备的第二目标数据。
在一种可能的实施方式中,在所述针对多个所述目标设备中的任一第一目标设备,在预设定时时间之内检测总线上是否存在所述第一目标设备传输的第一目标数据之后,所述数据传输方法还包括:
若否,则确定出所述第一目标设备的通讯标志位为第三通讯标志位。
这里,在预设定时时间之内检测总线上不存在所述第一目标设备传输的第一目标数据,则确定出第一目标设备的通讯标志位为第三通讯标志位。
在一种可能的实施方式中,在所述若所述通讯标志位为第三通讯标志位,则发送数据错误标识,接收第二目标设备的第二目标数据之后,所述数据传输方法还包括:
S1041:每隔所述预设定时时间向所述第三通讯标志位对应的所述第一目标设备发送数据采集指令。
这里,若第一目标设备对应的错误标识小于2,则向第三通讯标志位对应的第一目标设备重新发送数据采集指令。
S1042:基于采集到的所述第三通讯标志位对应的第二目标数据,确定所述第三通讯标志位对应的所述第一目标设备的状态是否正常。
这里,若在预设定时时间内检测到总线上有第三通讯标志位对应的第二目标数据,并且第三通讯标志位对应的第一目标数据通过了数据校验,则说明第三通讯标志位对应的第一目标设备已经发送第二目标数据正常了,若在定时时间内没检测到总线上有第三通讯标志位对应的第一目标数据或者是第三通讯标志位对应的第二目标数据没通过数据校验,则说明第三通讯标志位对应的第一目标设备依旧发送第二目标数据不正常。
S1043:若是,则将该第一目标设备的所述第三通讯标志位更改为所述第一通讯标志位。
这里,若正常,则将第三通讯标志位更改为第一通讯标志位,完成对第三通讯标志位对应的第一目标设备的数据传输。
在具体实施例中,若第一目标设备对应的错误标识小于2,控制器则向第三通讯标志位对应的第一目标设备重新发送数据采集指令,根据第三通讯标志位对应的第一目标数据检测第三通讯标志位对应的第一目标设备是否发送第一目标数据正常,若正常,则将第三通讯标志位更改为第一通讯标志位,完成对第三通讯标志位对应的第一目标设备的数据传输,若不正常,则不再对该第一目标设备的数据进行传输。
在另一具体实施例中,485Modbus协议传输数据可认为是定长数据,在控制器向多个第一目标设备发送数据采集指令后,可计算出每个第一目标设备的返回第一目标数据的长度,在发送指令后打开定时器,根据波特率算出每帧第一目标数据的传输时间,从而设置定时器的定时时间, 如果接收数据正常,那么在触发前清除定时间计数,重新计时。在此期间校验接收数据的功能码、地址、长度、crc校验,如果第一目标数据传输正确,则通讯标志位为0,如果未接收到规定数据长度,则通讯标志位为1,当数据长度不够,定时器出发超时,或者crc校验错误时认为数据接收错误,则通讯标志位为2。在主轮询里进行通讯标志位监测,若所述通讯标志位为第一通讯标志位,则对所述第一目标数据进行相对应的数据处理,当处理完成后接收该第一目标设备的下一个目标数据;若所述通讯标志位为第二通讯标志位,则跳过对所述第一目标数据的处理接收第二目标设备的第二目标数据;若所述通讯标志位为第三通讯标志位,则发送数据错误标识,接收第二目标设备的第二目标数据。
进一步的,请参阅图2,图2为本申请实施例所提供的一种数据传输方法的流程示意图。如图2所示,在控制器向多个第一目标设备发送数据采集指令后,开启定时器,在定时时间内串口中断等待接收第一目标数据,检测检测总线上是否存第一目标数据,若是,则进行数据长度校验,若通过数据长度校验,则进行循环冗余校验,若通过循环冗余校验则将通讯标志位确定为0,这里STA为通讯标志位。若总线上没有第一目标数据,则将通讯标志位确定为2,若没通过数据长度校验,则将通讯标志位确定为1,继续等待串口接收第一目标数据。若未通过循环冗余校验则将通讯标志位确定为2。检测通讯标志位的类型,若STA=1,控制器则跳过对第一目标数据的处理,处理其他任务,若STA=0,控制器则对第一目标数据进行相对应的数据处理,当处理完成后接收该第一目标设备的下一个目标数据,若STA=2,则发送数据错误标识,控制器处理其他任务,接收第二目标设备的第二目标数据。
本申请实施例提供的一种数据传输方法,所述数据传输方法包括:向多个目标设备发送数据采集指令,并开启定时器;针对多个所述目标设备中的任一第一目标设备,在预设定时时间之内检测总线上是否存在所述第一目标设备传输的第一目标数据;若是,则对所述第一目标数据进行数据检验,并根据校验结果确定出所述第一目标设备的通讯标志位;基于所述第一目标设备的通讯标志位,确定是否接收所述第一目标设备发送的所述第一目标数据。对于多个设备的数据传输通过检测总线上的数据流进行判断,降低了整体的通讯时间,实现了不会因为一个设备出现问题而影响其他设备数据的正常传输,从而提高了数据传输的效率。
请参阅图3、图4,图3为本申请实施例所提供的一种数据传输装置的结构示意图之一;图4为本申请实施例所提供的一种数据传输装置的结构示意图之二。如图3中所示,所述数据传输装置300包括:
发送指令模块310,用于向多个目标设备发送数据采集指令,并开启定时器;
检测模块320,用于针对每个目标设备中的任一第一目标设备,在预设定时时间之内检测总线上是否存在所述第一目标设备传输的第一目标数据;
校验模块330,用于若是,则对所述第一目标数据进行数据检验,并根据校验结果确定出所述第一目标设备的通讯标志位;
第一确定模块340,用于基于所述第一目标设备的通讯标志位,确定是否接收所述第一目标设备发送的所述第一目标数据。
在一种可能的实施例中,所述检测模块320通过以下步骤确定出所述预设定时时间:
基于波特率计算出每帧所述数据的传输时间;
基于预设时间间隔与所述传输时间,确定出每帧目标数据的定时时间。
在一种可能的实施例中,所述校验模块330在用于所述对所述第一目标数据进行数据检验,并根据校验结果确定出所述第一目标设备的通讯标志位时,所述校验模块330具体用于:
检测所述第一目标数据的传输长度是否与预设的目标传输长度相一致;
若相一致,则对所述第一目标数据进行循环冗余校验,若通过所述循环冗余校验,则确定出所述第一目标设备的通讯标志位为第一通讯标志位;若未通过所述循环冗余校验,则确定出所述第一目标设备的通讯标志位为第二通讯标志位;
若不相一致,则确定出所述第一目标设备的通讯标志位为第三通讯标志位,继续等待所述第一目标数据的传输。
在一种可能的实施例中,如图4所示,所述数据传输装置还包括第二确定模块350,所述第二确定模块350用于:
若否,则确定出所述第一目标设备的通讯标志位为第三通讯标志位。
在一种可能的实施例中,所述第一确定模块340在用于所述基于所述第一目标设备的通讯标志位,确定是否接收所述目标设备发送的所述第一目标数据时,所述第一确定模块340具体用于:
检测所述第一目标设备的通讯标志位的类型;
若所述通讯标志位为第一通讯标志位,则对所述第一目标数据进行相对应的数据处理,当处理完成后接收该第一目标设备的下一个目标数据;
若所述通讯标志位为第二通讯标志位,则发送数据错误标识,接收第二目标设备的第二目标数据;
若所述通讯标志位为第三通讯标志位,则跳过对所述第一目标数据的处理接收多个所述目标设备中的第二目标设备的第二目标数据。
在一种可能的实施例中,如图4所示,数据传输装置300还包括重新采集模块360,重新采集模块360用于:
每隔所述预设定时时间向所述第三通讯标志位对应的所述第一目标设备发送数据采集指令;
基于采集到的所述第三通讯标志位对应的所述第一目标设备发送的第二目标数据,确定所述第三通讯标志位对应的所述第一目标设备的状态是否正常;
若是,则将该第一目标设备的所述第三通讯标志位更改为所述第一通讯标志位。
本申请实施例提供的一种数据传输装置,所述数据传输装置包括:发送指令模块,用于向多个目标设备发送数据采集指令,并开启定时器;检测模块,用于针对多个所述目标设备中的任一第一目标设备,在预设定时时间之内检测总线上是否存在所述第一目标设备传输的第一目标数据;校验模块,用于若是,则对所述第一目标数据进行数据检验,并根据校验结果确定出所述第一目标设备的通讯标志位;第一确定模块,用于基于所述第一目标设备的通讯标志位,确定是否接收所述第一目标设备发送的所述第一目标数据。对于多个设备的数据传输通过检测总线上的数据流进行判断,降低了整体的通讯时间,实现了不会因为一个设备出现问题而影响其他设备数据的正常传输,从而提高了数据传输的效率。
请参阅图5,图5为本申请实施例所提供的一种电子设备的结构示意图。如图5中所示,所述电子设备500包括处理器510、存储器520和总线530。
所述存储器520存储有所述处理器510可执行的机器可读指令,当电子设备500运行时,所述处理器510与所述存储器520之间通过总线530通信,所述机器可读指令被所述处理器510执行时,可以执行如上述图1所示方法实施例中的数据传输方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时可以执行如上述图1所示方法实施例中的数据传输方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (8)

1.一种数据传输方法,其特征在于,所述数据传输方法包括:
向多个目标设备发送数据采集指令,并开启定时器;
针对多个所述目标设备中的任一第一目标设备,在预设定时时间之内检测总线上是否存在所述第一目标设备传输的第一目标数据;
若是,则对所述第一目标数据进行数据检验,并根据校验结果确定出所述第一目标设备的通讯标志位;
基于所述第一目标设备的通讯标志位,确定是否接收所述第一目标设备发送的所述第一目标数据;
所述数据检验包括传输长度校验和循环冗余校验;所述对所述第一目标数据进行数据检验,并根据校验结果确定出所述第一目标设备的通讯标志位,包括:
检测所述第一目标数据的传输长度是否与预设的目标传输长度相一致;
若相一致,则对所述第一目标数据进行循环冗余校验,若通过所述循环冗余校验,则确定出所述第一目标设备的通讯标志位为第一通讯标志位;若未通过所述循环冗余校验,则确定出所述第一目标设备的通讯标志位为第二通讯标志位;
若不相一致,则确定出所述第一目标设备的通讯标志位为第三通讯标志位,继续等待所述第一目标数据的传输;
所述基于所述第一目标设备的通讯标志位,确定是否接收所述目标设备发送的所述第一目标数据,包括:
检测所述第一目标设备的通讯标志位的类型;
若所述通讯标志位为第一通讯标志位,则对所述第一目标数据进行相对应的数据处理,当处理完成后接收该第一目标设备的下一个目标数据;
若所述通讯标志位为第二通讯标志位,则发送数据错误标识,接收第二目标设备的第二目标数据;
若所述通讯标志位为第三通讯标志位,则跳过对所述第一目标数据的处理,等待所述第一目标数据进行传输,接收多个所述目标设备中的第二目标设备的第二目标数据。
2.根据权利要求1所述的数据传输方法,其特征在于,通过以下步骤确定出所述预设定时时间:
基于波特率计算出每帧目标数据的传输时间;
基于预设时间间隔与所述传输时间,确定出每帧目标数据的预设定时时间。
3.根据权利要求1所述的数据传输方法,其特征在于,在所述针对多个所述目标设备中的任一第一目标设备,在预设定时时间之内检测总线上是否存在所述第一目标设备传输的第一目标数据之后,所述数据传输方法还包括:
若否,则确定出所述第一目标设备的通讯标志位为第二通讯标志位。
4.根据权利要求1所述的数据传输方法,其特征在于,在所述若所述通讯标志位为第二通讯标志位,则发送数据错误标识,接收第二目标设备的第二目标数据之后,所述数据传输方法还包括:
每隔所述预设定时时间向所述第二通讯标志位对应的所述第一目标设备发送数据采集指令;
基于采集到的所述第二通讯标志位对应的所述第一目标设备发送的第二目标数据,确定所述第二通讯标志位对应的所述第一目标设备的状态是否正常;
若是,则将该第一目标设备的所述第二通讯标志位更改为所述第一通讯标志位。
5.一种数据传输装置,其特征在于,所述数据传输装置包括:
发送指令模块,用于向多个目标设备发送数据采集指令,并开启定时器;
检测模块,用于针对多个所述目标设备中的任一第一目标设备,在预设定时时间之内检测总线上是否存在所述第一目标设备传输的第一目标数据;
校验模块,用于若是,则对所述第一目标数据进行数据检验,并根据校验结果确定出所述第一目标设备的通讯标志位;
第一确定模块,用于基于所述第一目标设备的通讯标志位,确定是否接收所述第一目标设备发送的所述第一目标数据;
所述校验模块在用于所述对所述第一目标数据进行数据检验,并根据校验结果确定出所述第一目标设备的通讯标志位时,所述校验模块具体用于:
检测所述第一目标数据的传输长度是否与预设的目标传输长度相一致;
若相一致,则对所述第一目标数据进行循环冗余校验,若通过所述循环冗余校验,则确定出所述第一目标设备的通讯标志位为第一通讯标志位;若未通过所述循环冗余校验,则确定出所述第一目标设备的通讯标志位为第二通讯标志位;
若不相一致,则确定出所述第一目标设备的通讯标志位为第三通讯标志位,继续等待所述第一目标数据的传输;
第一确定模块在用于所述基于所述第一目标设备的通讯标志位,确定是否接收所述目标设备发送的所述第一目标数据时,所述第一确定模块具体用于:
检测所述第一目标设备的通讯标志位的类型;
若所述通讯标志位为第一通讯标志位,则对所述第一目标数据进行相对应的数据处理,当处理完成后接收该第一目标设备的下一个目标数据;
若所述通讯标志位为第二通讯标志位,则发送数据错误标识,接收第二目标设备的第二目标数据;
若所述通讯标志位为第三通讯标志位,则跳过对所述第一目标数据的处理,等待所述第一目标数据进行传输,接收多个所述目标设备中的第二目标设备的第二目标数据。
6.根据权利要求5所述的数据传输装置,其特征在于,所述检测模块通过以下步骤确定出所述预设定时时间:
基于波特率计算出每帧目标数据的传输时间;
基于预设时间间隔与所述传输时间,确定出每帧目标数据的定时时间。
7.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线进行通讯,所述机器可读指令被所述处理器运行时执行如权利要求1至4任一所述的数据传输方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至4任一所述的数据传输方法的步骤。
CN202211568338.8A 2022-12-08 2022-12-08 一种数据传输方法、装置、电子设备及存储介质 Active CN115664599B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211568338.8A CN115664599B (zh) 2022-12-08 2022-12-08 一种数据传输方法、装置、电子设备及存储介质
US18/197,790 US11876629B1 (en) 2022-12-08 2023-05-16 Data transmission method, device, electronic equipment, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211568338.8A CN115664599B (zh) 2022-12-08 2022-12-08 一种数据传输方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN115664599A CN115664599A (zh) 2023-01-31
CN115664599B true CN115664599B (zh) 2023-03-28

Family

ID=85018018

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211568338.8A Active CN115664599B (zh) 2022-12-08 2022-12-08 一种数据传输方法、装置、电子设备及存储介质

Country Status (2)

Country Link
US (1) US11876629B1 (zh)
CN (1) CN115664599B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6530043B1 (en) * 2000-03-09 2003-03-04 International Business Machines Corporation Write data error checking in a PCI Bus system
CN114826542A (zh) * 2022-05-17 2022-07-29 重庆奥普泰通信技术有限公司 基于异步串行通信的数据传输方法、装置、设备及介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3602899B1 (en) * 2017-03-24 2021-10-20 Telefonaktiebolaget LM Ericsson (Publ) Detection of inconsistent data in a data transmission
CN109495215B (zh) * 2018-12-20 2022-02-11 山东比特智能科技股份有限公司 一种半双工总线的通信方法、系统、装置及可读存储介质
CN110519377B (zh) * 2019-08-29 2022-05-27 北京经纬恒润科技股份有限公司 一种通信数据传输方法及装置
US11606346B2 (en) * 2020-06-29 2023-03-14 Rockwell Automation Technologies, Inc. Method and apparatus for managing reception of secure data packets
CN112491675B (zh) * 2020-10-26 2022-10-18 创泽智能机器人集团股份有限公司 一种数据通信方法、装置、设备及计算机可读存储介质
CN114090493A (zh) * 2021-11-29 2022-02-25 深圳市科中云技术有限公司 基于rs485总线的数据传输控制方法以及相关装置
CN114490464B (zh) * 2021-12-27 2023-10-13 北京自动化控制设备研究所 多传感器数据同步及传输方法及脑磁探测仪
CN114500159B (zh) * 2022-02-17 2023-12-15 杭州老板电器股份有限公司 中央吸油烟机系统的有线通讯方法、装置和电子设备
CN115314155B (zh) * 2022-07-14 2024-01-09 东风电驱动系统有限公司 通讯方法、装置、设备及可读存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6530043B1 (en) * 2000-03-09 2003-03-04 International Business Machines Corporation Write data error checking in a PCI Bus system
CN114826542A (zh) * 2022-05-17 2022-07-29 重庆奥普泰通信技术有限公司 基于异步串行通信的数据传输方法、装置、设备及介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
颉新春 ; 王志春 ; .一种实时控制总线及其实现方法.计算机测量与控制.2007,(第11期),全文. *

Also Published As

Publication number Publication date
CN115664599A (zh) 2023-01-31
US11876629B1 (en) 2024-01-16

Similar Documents

Publication Publication Date Title
US11620175B2 (en) Method and apparatus for disconnecting link between PCIe device and host
CN100365994C (zh) 用于调试以太网的方法和装置
US7634692B2 (en) SATA primitive prediction and correction
US10516789B2 (en) Information processing apparatus and image processing apparatus that perform transmission and reception of data, and method of controlling information processing apparatus
EP1224548A1 (en) Mechanism to improve fault isolation and diagnosis in computers
CN117220837A (zh) 一种数据传输方法、存储介质及设备
CN109074294A (zh) 通信装置和通信系统
JP2948837B2 (ja) 通信リンク・インターフェースの初期化および同期方法および通信リンクの受信機
CN112104760A (zh) 地址码分配方法、主机及从机
CN115664599B (zh) 一种数据传输方法、装置、电子设备及存储介质
US9499174B2 (en) Method and apparatus for isolating a fault-active controller in a controller area network
CN108028767B (zh) 为适配器升级的方法、移动终端和适配器
CN112615700B (zh) 数据的发送方法、网关、系统、电子设备及可读存储介质
CN113806108A (zh) 一种重传方法、内存控制器、处理器系统及电子设备
CN107852275B (zh) 数据传输装置和数据传输方法、接收装置和接收方法
KR101566640B1 (ko) 임의의 통신망 오류에 대처 가능한 이중화 can 통신 장치 및 방법, 그 방법을 수행하기 위한 기록 매체
CN110601920B (zh) 一种高速通行链路传输质量检测方法、装置和系统
CN115129509A (zh) 一种数据传输方法、装置、介质
JP3939400B2 (ja) データダウンロードシステム
CN114489718A (zh) 树状连接系统的固件升级方法、装置、设备及存储介质
JP5322433B2 (ja) 処理システムにおけるデータ処理中のエラー検知方法および制御システム
JP5544099B2 (ja) コントローラ通信方法およびコントローラ通信装置
JPH0535616A (ja) データ転送システム
CN111490919A (zh) 一种主从机系统、设备终端及其通信校验方法
JP3609701B2 (ja) 単方向シリアルデータ通信方式におけるエラーデータ報知方法及び報知システム

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