CN115664599A - 一种数据传输方法、装置、电子设备及存储介质 - Google Patents
一种数据传输方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115664599A CN115664599A CN202211568338.8A CN202211568338A CN115664599A CN 115664599 A CN115664599 A CN 115664599A CN 202211568338 A CN202211568338 A CN 202211568338A CN 115664599 A CN115664599 A CN 115664599A
- Authority
- CN
- China
- Prior art keywords
- target
- data
- zone bit
- communication zone
- communication
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 137
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000004891 communication Methods 0.000 claims abstract description 223
- 238000007689 inspection Methods 0.000 claims abstract description 16
- 238000012545 processing Methods 0.000 claims description 33
- 125000004122 cyclic group Chemical group 0.000 claims description 29
- 238000001514 detection method Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013524 data verification Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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/24—Testing correct operation
- H04L1/245—Testing correct operation by using the properties of transmission codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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/0745—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/079—Root cause analysis, i.e. error or fault diagnosis
-
- 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
- H04L2001/0092—Error control systems characterised by the topology of the transmission link
- H04L2001/0094—Bus
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 (10)
1.一种数据传输方法,其特征在于,所述数据传输方法包括:
向多个目标设备发送数据采集指令,并开启定时器;
针对多个所述目标设备中的任一第一目标设备,在预设定时时间之内检测总线上是否存在所述第一目标设备传输的第一目标数据;
若是,则对所述第一目标数据进行数据检验,并根据校验结果确定出所述第一目标设备的通讯标志位;
基于所述第一目标设备的通讯标志位,确定是否接收所述第一目标设备发送的所述第一目标数据。
2.根据权利要求1所述的数据传输方法,其特征在于,通过以下步骤确定出所述预设定时时间:
基于波特率计算出每帧目标数据的传输时间;
基于预设时间间隔与所述传输时间,确定出每帧目标数据的预设定时时间。
3.根据权利要求1所述的数据传输方法,其特征在于,所述数据检验包括传输长度校验和循环冗余校验;所述对所述第一目标数据进行数据检验,并根据校验结果确定出所述第一目标设备的通讯标志位,包括:
检测所述第一目标数据的传输长度是否与预设的目标传输长度相一致;
若相一致,则对所述第一目标数据进行循环冗余校验,若通过所述循环冗余校验,则确定出所述第一目标设备的通讯标志位为第一通讯标志位;若未通过所述循环冗余校验,则确定出所述第一目标设备的通讯标志位为第二通讯标志位;
若不相一致,则确定出所述第一目标设备的通讯标志位为第三通讯标志位,继续等待所述第一目标数据的传输。
4.根据权利要求1所述的数据传输方法,其特征在于,在所述针对多个所述目标设备中的任一第一目标设备,在预设定时时间之内检测总线上是否存在所述第一目标设备传输的第一目标数据之后,所述数据传输方法还包括:
若否,则确定出所述第一目标设备的通讯标志位为第二通讯标志位。
5.根据权利要求1所述的数据传输方法,其特征在于,所述基于所述第一目标设备的通讯标志位,确定是否接收所述目标设备发送的所述第一目标数据,包括:
检测所述第一目标设备的通讯标志位的类型;
若所述通讯标志位为第一通讯标志位,则对所述第一目标数据进行相对应的数据处理,当处理完成后接收该第一目标设备的下一个目标数据;
若所述通讯标志位为第二通讯标志位,则发送数据错误标识,接收第二目标设备的第二目标数据;
若所述通讯标志位为第三通讯标志位,则跳过对所述第一目标数据的处理接收多个所述目标设备中的第二目标设备的第二目标数据。
6.根据权利要求5所述的数据传输方法,其特征在于,在所述若所述通讯标志位为第三通讯标志位,则发送数据错误标识,接收第二目标设备的第二目标数据之后,所述数据传输方法还包括:
每隔所述预设定时时间向所述第三通讯标志位对应的所述第一目标设备发送数据采集指令;
基于采集到的所述第三通讯标志位对应的所述第一目标设备发送的第二目标数据,确定所述第三通讯标志位对应的所述第一目标设备的状态是否正常;
若是,则将该第一目标设备的所述第三通讯标志位更改为所述第一通讯标志位。
7.一种数据传输装置,其特征在于,所述数据传输装置包括:
发送指令模块,用于向多个目标设备发送数据采集指令,并开启定时器;
检测模块,用于针对多个所述目标设备中的任一第一目标设备,在预设定时时间之内检测总线上是否存在所述第一目标设备传输的第一目标数据;
校验模块,用于若是,则对所述第一目标数据进行数据检验,并根据校验结果确定出所述第一目标设备的通讯标志位;
第一确定模块,用于基于所述第一目标设备的通讯标志位,确定是否接收所述第一目标设备发送的所述第一目标数据。
8.根据权利要求7所述的数据传输装置,其特征在于,所述检测模块通过以下步骤确定出所述预设定时时间:
基于波特率计算出每帧目标数据的传输时间;
基于预设时间间隔与所述传输时间,确定出每帧目标数据的定时时间。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线进行通讯,所述机器可读指令被所述处理器运行时执行如权利要求1至6任一所述的数据传输方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至6任一所述的数据传输方法的步骤。
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 true CN115664599A (zh) | 2023-01-31 |
CN115664599B 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 (9)
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 |
CN109495215A (zh) * | 2018-12-20 | 2019-03-19 | 山东比特智能科技股份有限公司 | 一种半双工总线的通信方法、系统装置及可读存储介质 |
CN110519377A (zh) * | 2019-08-29 | 2019-11-29 | 北京经纬恒润科技有限公司 | 一种通信数据传输方法及装置 |
CN112491675A (zh) * | 2020-10-26 | 2021-03-12 | 创泽智能机器人集团股份有限公司 | 一种数据通信方法、装置、设备及计算机可读存储介质 |
CN114090493A (zh) * | 2021-11-29 | 2022-02-25 | 深圳市科中云技术有限公司 | 基于rs485总线的数据传输控制方法以及相关装置 |
CN114490464A (zh) * | 2021-12-27 | 2022-05-13 | 北京自动化控制设备研究所 | 多传感器数据同步及传输方法及脑磁探测仪 |
CN114500159A (zh) * | 2022-02-17 | 2022-05-13 | 杭州老板电器股份有限公司 | 中央吸油烟机系统的有线通讯方法、装置和电子设备 |
CN114826542A (zh) * | 2022-05-17 | 2022-07-29 | 重庆奥普泰通信技术有限公司 | 基于异步串行通信的数据传输方法、装置、设备及介质 |
CN115314155A (zh) * | 2022-07-14 | 2022-11-08 | 东风电驱动系统有限公司 | 通讯方法、装置、设备及可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110679107B (zh) * | 2017-03-24 | 2022-08-16 | 瑞典爱立信有限公司 | 数据传输中的不一致数据的检测 |
US11606346B2 (en) * | 2020-06-29 | 2023-03-14 | Rockwell Automation Technologies, Inc. | Method and apparatus for managing reception of secure data packets |
-
2022
- 2022-12-08 CN CN202211568338.8A patent/CN115664599B/zh active Active
-
2023
- 2023-05-16 US US18/197,790 patent/US11876629B1/en active Active
Patent Citations (9)
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 |
CN109495215A (zh) * | 2018-12-20 | 2019-03-19 | 山东比特智能科技股份有限公司 | 一种半双工总线的通信方法、系统装置及可读存储介质 |
CN110519377A (zh) * | 2019-08-29 | 2019-11-29 | 北京经纬恒润科技有限公司 | 一种通信数据传输方法及装置 |
CN112491675A (zh) * | 2020-10-26 | 2021-03-12 | 创泽智能机器人集团股份有限公司 | 一种数据通信方法、装置、设备及计算机可读存储介质 |
CN114090493A (zh) * | 2021-11-29 | 2022-02-25 | 深圳市科中云技术有限公司 | 基于rs485总线的数据传输控制方法以及相关装置 |
CN114490464A (zh) * | 2021-12-27 | 2022-05-13 | 北京自动化控制设备研究所 | 多传感器数据同步及传输方法及脑磁探测仪 |
CN114500159A (zh) * | 2022-02-17 | 2022-05-13 | 杭州老板电器股份有限公司 | 中央吸油烟机系统的有线通讯方法、装置和电子设备 |
CN114826542A (zh) * | 2022-05-17 | 2022-07-29 | 重庆奥普泰通信技术有限公司 | 基于异步串行通信的数据传输方法、装置、设备及介质 |
CN115314155A (zh) * | 2022-07-14 | 2022-11-08 | 东风电驱动系统有限公司 | 通讯方法、装置、设备及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
颉新春;王志春;: "一种实时控制总线及其实现方法" * |
Also Published As
Publication number | Publication date |
---|---|
US11876629B1 (en) | 2024-01-16 |
CN115664599B (zh) | 2023-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11620175B2 (en) | Method and apparatus for disconnecting link between PCIe device and host | |
CN100365994C (zh) | 用于调试以太网的方法和装置 | |
US10516789B2 (en) | Information processing apparatus and image processing apparatus that perform transmission and reception of data, and method of controlling information processing apparatus | |
CN109495215B (zh) | 一种半双工总线的通信方法、系统、装置及可读存储介质 | |
CN111818632B (zh) | 一种设备同步的方法、装置、设备及存储介质 | |
US20070189619A1 (en) | SATA primitive prediction and correction | |
EP1224548A1 (en) | Mechanism to improve fault isolation and diagnosis in computers | |
CN117220837A (zh) | 一种数据传输方法、存储介质及设备 | |
US9499174B2 (en) | Method and apparatus for isolating a fault-active controller in a controller area network | |
CN115664599B (zh) | 一种数据传输方法、装置、电子设备及存储介质 | |
CN108028767B (zh) | 为适配器升级的方法、移动终端和适配器 | |
CN112615700B (zh) | 数据的发送方法、网关、系统、电子设备及可读存储介质 | |
CN107852275B (zh) | 数据传输装置和数据传输方法、接收装置和接收方法 | |
CN107608711A (zh) | 升级方法、装置、系统和电子设备 | |
KR101566640B1 (ko) | 임의의 통신망 오류에 대처 가능한 이중화 can 통신 장치 및 방법, 그 방법을 수행하기 위한 기록 매체 | |
CN110601920B (zh) | 一种高速通行链路传输质量检测方法、装置和系统 | |
JPH0535616A (ja) | データ転送システム | |
EP4390710A1 (en) | Fault monitoring systems and methods | |
JP3609701B2 (ja) | 単方向シリアルデータ通信方式におけるエラーデータ報知方法及び報知システム | |
CN112671608B (zh) | Ipg监测方法、交换设备及交换系统 | |
US20060107109A1 (en) | Communication processing apparatus and method and program for diagnosing the same | |
JP2009042855A (ja) | 回路間データ転送方法およびシステム | |
CN117318869A (zh) | 报文时戳验证方法、电子设备及存储介质 | |
JP2008205899A (ja) | 送受信システムの伝送異常回避方法 | |
CN117394960A (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 |