CN111865745B - 一种自动识别从设备的无延时轮询方法及系统 - Google Patents
一种自动识别从设备的无延时轮询方法及系统 Download PDFInfo
- Publication number
- CN111865745B CN111865745B CN202010538175.3A CN202010538175A CN111865745B CN 111865745 B CN111865745 B CN 111865745B CN 202010538175 A CN202010538175 A CN 202010538175A CN 111865745 B CN111865745 B CN 111865745B
- Authority
- CN
- China
- Prior art keywords
- polling
- slave
- slave device
- level
- equipment
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/403—Bus networks with centralised control, e.g. polling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- 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/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
- H04L1/1685—Details of the supervisory signal the supervisory signal being transmitted in response to a specific request, e.g. to a polling signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40169—Flexible bus arrangements
- H04L12/40176—Flexible bus arrangements involving redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0002—Serial port, e.g. RS232C
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明涉及一种自动识别从设备的无延时轮询方法及系统,包括:开始进行轮询时,主设备向第一级从设备发送轮询报文;轮询报文包括:获取第一级从设备的地址信息请求和第一级从设备发送相邻报文的延时时间;第一级从设备接收轮询报文,对轮询报文进行处理,并向主设备返回回复报文;主设备接收回复报文,对回复报文进行处理,并根据处理结果执行相应的轮询方案。本发明不需要人工设置从设备的地址,给施工带来便利,主设备不需要保存从设备的及从设备的地址,可自动识别从设备及从设备的数量,无延时。
Description
技术领域
本发明涉及串口通信领域,更具体地说,涉及一种自动识别从设备的无延时轮询方法及系统。
背景技术
UART(即串口)串行总线在电子工业产品中应用很广泛,常用的使用方式是:总线上挂有一台主设备,多台从设备,主设备保存有从设备的台数及每台从设备的地址。工作时,根据从设备地址通过轮询的方式获取从设备的信息,然后再由主设备汇总处理。
串口总线在上述的工作方式中,主设备发出的报文,所有的从设备都能收到;同时,主设备也能收到所有从设备回发的报文。根据常规串口总线本身的特性可知,总线上任何一台设备(主设备)发送报文,其它设备(从设备)均能收到,因此,从设备只能通过报文里带有的设备地址与自己的设备地址(人为设定)来匹配,才能确定该报文是否是发给自己的,如果是发给自己的,才响应。所以,挂在总线上的所有设备都必须配置一个独一无二的地址,才能被正确识别。然而,配置这些地址往往会给施工人员带来额外的工作量,并且很容易出错,比如地址重复、设置错误等。在实际工作中,是一件很烦琐的事情。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种自动识别从设备的无延时轮询方法及系统。
本发明解决其技术问题所采用的技术方案是:构造一种自动识别从设备的无延时轮询方法,包括:
开始进行轮询时,主设备向第一级从设备发送轮询报文;所述轮询报文包括:获取所述第一级从设备的地址信息请求和所述第一级从设备发送相邻报文的延时时间;
所述第一级从设备接收所述轮询报文,对所述轮询报文进行处理,并向所述主设备返回回复报文;
所述主设备接收所述回复报文,对所述回复报文进行处理,并根据处理结果执行相应的轮询方案。
在一个实施例中,所述第一级从设备接收所述轮询报文,对所述轮询报文进行处理,并向所述主设备返回回复报文包括:
所述第一级从设备接收到所述轮询报文后,对所述轮询报文进行解析,以提取所述第一级从设备的地址信息请求和所述第一级从设备发送相邻报文的延时时间;
根据所述地址信息请求和所述第一级从设备发送相邻报文的延时时间,生成自身的地址信息、自身发送相邻报文的延时时间以及轮询结束标识符;
将所述自身的地址信息、自身发送相邻报文的延时时间以及轮询结束标识符形成回复报文,将所述回复报文发送给所述主设备。
在一个实施例中,所述主设备接收所述回复报文,对所述回复报文进行处理,并根据处理结果执行相应的轮询方案包括:
所述主设备接收到所述回复报文后,对所述回复报文进行解析,以获得所述第一级从设备的地址信息、第一级从设备的相邻报文的延时时间以及第一级从设备的轮询标识符;
根据所述第一级从设备的轮询标识符执行相应的轮询方案。
在一个实施例中,所述根据所述第一级从设备的轮询标识符执行相应的轮询方案包括:
若所述第一级从设备的轮询标识符为1,则结束本次轮询;若所述第一级从设备的轮询标识符为0,则继续轮询。
在一个实施例中,所述若所述第一级从设备的轮询标识符为0,则继续轮询包括:
排序处于下一位的下级从设备接收上一位从设备发送的回复报文;
排序处于下一位的下级从设备根据所述上一位从设备发送的回复报文生成次级回复报文,并将所述次级回复报文发送给所述主设备;
所述排序处于下一位的下级从设备还将所述次级回复报文发送给与其相信的下一位的下级从设备,依次类推;
若所述排序处于下一位的下级从设备为处于第一位的下级从设备,则所述上一位从设备为所述第一级从设备。
在一个实施例中,所述排序处于下一位的下级从设备根据所述上一位从设备发送的回复报文生成次级回复报文包括:
排序处于下一位的下级从设备根据所述上一位从设备发送的回复报文中的地址信息,重新生成一个用于标识自身地址的唯一地址信息;
判断是否有下级从设备,若是,则保持从所述上一位从设备发送的回复报文中获得的轮询标识符不变;若否,则将从所述上一位从设备发送的回复报文中获得的轮询标识符修改为1。
在一个实施例中,还包括:
排序处于下一位的下级从设备根据所述上一位从设备发送的回复报文中的相邻报文的延时时间进行延时;
或者,根据设定时间延时。
在一个实施例中,所述主设备、第一级从设备以及下级从设备均设有发送通道和接收通道,且所述发送通道和接收通道相互独立。
本发明还提供一种自动识别从设备的无延时轮询系统,包括:
主设备,用于在开始进行轮询时,主设备向第一级从设备发送轮询报文以及接收第一级从设备返回的回复报文,对所述回复报文进行处理,并根据处理结果执行相应的轮询方案;所述轮询报文包括:获取所述第一级从设备的地址信息请求和所述第一级从设备发送相邻报文的延时时间;
第一级从设备,用于接收所述轮询报文,对所述轮询报文进行处理,并向所述主设备返回回复报文。
在一个实施例中,所述第一级从设备还用于:接收到所述轮询报文后,对所述轮询报文进行解析,以提取所述第一级从设备的地址信息请求和所述第一级从设备发送相邻报文的延时时间;
根据所述地址信息请求和所述第一级从设备发送相邻报文的延时时间,生成自身的地址信息、自身发送相邻报文的延时时间以及轮询结束标识符;
将所述自身的地址信息、自身发送相邻报文的延时时间以及轮询结束标识符形成回复报文,将所述回复报文发送给所述主设备。
在一个实施例中,所述主设备还用于:
接收到所述回复报文后,对所述回复报文进行解析,以获得所述第一级从设备的地址信息、第一级从设备的相邻报文的延时时间以及第一级从设备的轮询标识符;
根据所述第一级从设备的轮询标识符执行相应的轮询方案。
在一个实施例中,所述主设备还用于:
若所述第一级从设备的轮询标识符为1,则结束本次轮询;若所述第一级从设备的轮询标识符为0,则继续轮询。
在一个实施例中,还包括:至少一个下级从设备;所述至少一个下级从设备中的下级从设备执行以下动作:
排序处于下一位的下级从设备接收上一位从设备发送的回复报文;
排序处于下一位的下级从设备根据所述上一位从设备发送的回复报文生成次级回复报文,并将所述次级回复报文发送给所述主设备;
所述排序处于下一位的下级从设备还将所述次级回复报文发送给与其相信的下一位的下级从设备,依次类推;
若所述排序处于下一位的下级从设备为处于第一位的下级从设备,则所述上一位从设备为所述第一级从设备。
在一个实施例中,排序处于下一位的下级从设备还用于:
根据所述上一位从设备发送的回复报文中的地址信息,重新生成一个用于标识自身地址的唯一地址信息;
判断是否有下级从设备,若是,则保持从所述上一位从设备发送的回复报文中获得的轮询标识符不变;若否,则将从所述上一位从设备发送的回复报文中获得的轮询标识符修改为1。
在一个实施例中,排序处于下一位的下级从设备还用于:
根据所述上一位从设备发送的回复报文中的相邻报文的延时时间进行延时;
或者,根据设定时间延时。
在一个实施例中,所述主设备、第一级从设备以及下级从设备均设有发送通道和接收通道,且所述发送通道和接收通道相互独立。
实施本发明的自动识别从设备的无延时轮询方法及系统,具有以下有益效果:包括:开始进行轮询时,主设备向第一级从设备发送轮询报文;轮询报文包括:获取第一级从设备的地址信息请求和第一级从设备发送相邻报文的延时时间;第一级从设备接收轮询报文,对轮询报文进行处理,并向主设备返回回复报文;主设备接收回复报文,对回复报文进行处理,并根据处理结果执行相应的轮询方案。本发明不需要人工设置从设备的地址,给施工带来便利,主设备不需要保存从设备的及从设备的地址,可自动识别从设备及从设备的数量,无延时。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明提供的自动识别从设备的无延时轮询方法一实施例的流程示意图;
图2是本发明提供的自动识别从设备的无延时轮询方法另一实施例的流程示意图;
图3是本发明提供的自动识别从设备的无延时轮询系统的信号传输示意图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。
参阅图1,为本发明提供的自动识别从设备的无延时轮询方法一实施例的流程示意图。该轮询方法为基于串口总线(如RS232或者RS485)的无需配置设备地址的轮询方法。
如图1所示,该自动识别从设备的无延时轮询方法包括:
步骤S1、开始进行轮询时,主设备向第一级从设备发送轮询报文。轮询报文包括:获取第一级从设备的地址信息请求和第一级从设备发送相邻报文的延时时间。
步骤S2、第一级从设备接收轮询报文,对轮询报文进行处理,并向主设备返回回复报文。
步骤S3、主设备接收回复报文,对回复报文进行处理,并根据处理结果执行相应的轮询方案。
本实施例中,主设备通过发送通道向第一级从设备发送轮询报文。其中,主设备发送的轮询报文只有第一级从设备可以接收。当有下一级从设备时,下一级从设备不能接收主设备发送的轮询报文。
参阅图2,为本发明提供的自动识别从设备的无延时轮询方法另一实施例的流程示意图。该实施例在前述实施的基础上,进一步包括:
步骤S21、第一级从设备接收到轮询报文后,对轮询报文进行解析,以提取第一级从设备的地址信息请求和第一级从设备发送相邻报文的延时时间。
步骤S22、根据地址信息请求和第一级从设备发送相邻报文的延时时间,生成自身的地址信息、自身发送相邻报文的延时时间以及轮询结束标识符。
步骤S23、将自身的地址信息、自身发送相邻报文的延时时间以及轮询结束标识符形成回复报文,将回复报文发送给主设备。
进一步地,本实施例中,步骤S3包括:
步骤S31、主设备接收到回复报文后,对回复报文进行解析,以获得第一级从设备的地址信息、第一级从设备的相邻报文的延时时间以及第一级从设备的轮询标识符。
步骤S32、根据第一级从设备的轮询标识符执行相应的轮询方案。
进一步地,根据第一级从设备的轮询标识符执行相应的轮询方案包括:若第一级从设备的轮询标识符为1,则结束本次轮询;若第一级从设备的轮询标识符为0,则继续轮询。可以理解地,当只有第一级从设备这一级从设备时,轮询标识符为1,此时,主从设备可直接结束本次轮询,当还有下一级从设备时,则需要继续轮询。其中,主设备只需要向第一级从设备发送轮询报文,不需要向下一级从设备发送轮询报文,进一步缩短轮询负荷及轮询时间。
进一步地,若第一级从设备的轮询标识符为0,则继续轮询包括:
步骤A1、排序处于下一位的下级从设备接收上一位从设备发送的回复报文。
步骤A2、排序处于下一位的下级从设备根据上一位从设备发送的回复报文生成次级回复报文,并将次级回复报文发送给主设备。
步骤A3、排序处于下一位的下级从设备还将次级回复报文发送给与其相信的下一位的下级从设备,依次类推。
步骤A4、若排序处于下一位的下级从设备为处于第一位的下级从设备,则上一位从设备为第一级从设备。
进一步地,排序处于下一位的下级从设备根据上一位从设备发送的回复报文生成次级回复报文包括:排序处于下一位的下级从设备根据上一位从设备发送的回复报文中的地址信息,重新生成一个用于标识自身地址的唯一地址信息;判断是否有下级从设备,若是,则保持从上一位从设备发送的回复报文中获得的轮询标识符不变;若否,则将从上一位从设备发送的回复报文中获得的轮询标识符修改为1。以及排序处于下一位的下级从设备根据上一位从设备发送的回复报文中的相邻报文的延时时间进行延时;或者,根据设定时间延时。
进一步地,本实施例中,主设备、第一级从设备以及下级从设备均设有发送通道和接收通道,且发送通道和接收通道相互独立。
以下以一个具体实施例对本发明实施例公开的轮询方法进行详细说明:
如图3所示,假设有n(n≥1)级从设备,从设备按照主设备轮询的先后顺序从小大到分别叫k((1≤k≤n))级从设备。其中,图3中的1级从设备即为本发明实施例公开的第一级从设备,2级、3级、……、n级从设备即为本发明实施例公开的下级从设备。
具体的,开始进行轮询时,主设备通过发送通道向1级从设备发送轮询报文,1级从设备接收到主设备发送的轮询报文后,对该轮询报文进行处理,对轮询报文进行解析,以提取第一第一级从设备的地址信息请求和第一级从设备发送相邻报文的延时时间;根据地址信息请求和第一级从设备发送相邻报文的延时时间,生成自身的地址信息、自身发送相邻报文的延时时间以及轮询结束标识符;将自身的地址信息、自身发送相邻报文的延时时间以及轮询结束标识符形成回复报文,将回复报文发送给主设备。其中,第一级从设备生成的自身的地址信息与其所在的级数相同且与其唯一对应,即为1,因此,基于第一级从设备返回的地址信息,主设备可以识别出第一级设备及其所在的级数量,进而识别从设备的数量。可以理解地,图3中示出了n级从设备,如果仅有第一级从设备这一个设备,则主设备基于轮询结束标识符即可直接结束本次轮询。其中,轮询结束标识符可以通过硬件标识来确定,即可以通过硬件标识确定是否还连接有下级从设备,具体的,当前级从设备若连接有下级从设备,当前级从设备可以检测到高电信号,若没有连接下级从设备,当前级从设备则检测到的是低电平信号。因此,当检测到高电平信号时,将轮询结束标识符设置为0,当检测到低电平信号时,将轮询结束标识符设置为1。
进一步地,1级从设备所发送的回复报文还通过发送通道发送给2级从设备,2级从设备接收到1级从设备发送的回复报文后,根据回复报文时的1级从设备的地址信息,重新生成一个2级从设备的地址信息,该地址信息可以用于标识2级从设备且是唯一的。一般地,下一级从设备的地址信息是在上一级从设备的地址信息的基础上加1,刚好与其所在的级数相同。接着,判断是否连接有下级从设备,即根据下级从设备提供的电平信号识别,如果没有下级从设备,则轮询结束标识符设置为1,如果有下级从设备,则轮询结束标识符设置为0。然后,根据回复报文里的相邻报文的延时时间进行延时(当然,若没有延时时间,则根据设定时间延时,其中,设定时间一般为默认时间),通过延时,可以给主设备提供足够的报文处理时间。最后,2级从设备通过发送通道向主设备发送次级回复报文。同样地,2级从设备回复的次级回复报文包括:新生成的地址信息(该地址信息唯一标识2级从设备)、1级从设备传来的“相邻报文的延时时间、以及轮询结束标识符”。
进一步地,如图3所示,后面的3级、4级、……、n级从设备接收到上一级发送的次级回复报文后所执行的动作与2级从设备的相同,只是在生成地址信息是相应改变级数即可,直到所有的下级从设备轮询完成。
因此,本发明不需要人工设置从设备的地址,为施工带来极大的便利性;主设备不需要保存从设备的台数及各从设备的地址,在轮询过程中即可自动获取从设备的地址信息、自动识别从设备,以及自动识别从设备的数量。各个从设备串口通信负荷均衡,主设备的轮询报文显著减少(只需向1级从设备发送轮询报文)。在轮询过程中,主设备自动识别从设备及从设备的台数,不会造成处理延时,真正达到了无延时轮询。
另外,本发明应用于串口总线上时,各个从设备所需要处理的数据类型相同,属于同类型设备(如光伏汇流监测模块),主设备、从设备的发送通道和接收通道均是相互独立的(一般地,如果使用的是半双工串口(如RS485),则每个设备需要两个串口,一个专门用于发送,一个专门用于接收;如果使用的是全双工串口,则只需要一个串口,其中,一个串口发送通道和接收通道也是相互独立的)主设备发送的轮询报文只能被1级从设备接收;主设备可以轮流接收来自各级从设备的报文。当前级从设备发送的报文既可以被主设备接收,也可以被其下一级从设备接收,最后一级从设备发送的报文只能被主设备接收,并且所携带的轮询结束标识符可供主设备识别。1级从设备只能接收主设备发送的报文;j(1<j≤n)级从设备只能接收(j-1)级从设备发送的报文;所有从设备都可以通过硬件标识(如高电平输入)来获知是否还接有下级从设备,从而为最后一级从设备产生轮询结束标识符。
本发明实施例公开的轮询方法可应用于电力工程领域中,如一台主设备通过串口总线连接若干个相同型号从设备的应用场合。具体的应用环境有:配电房中,一台通信机连接若干个智能电表,每个智能电表采集不同回路的电流、电压、电能等信息;另外,在光伏监测单元中,由监测主设备连接若干个监测模块,每个监测模块负责采集固定数量的汇流支路电流、光伏阵列电压等信息。这些从设备的工作方式相同,因此可应用本发明实施例公开的轮询方法,进而减少施工配置工作量,提高效率。
参考图3,为本发明实施例公开的自动识别从设备的无延时轮询系统示意图。
如图3所示,该系统包括:主设备,用于在开始进行轮询时,主设备向第一级从设备发送轮询报文以及接收第一级从设备返回的回复报文,对回复报文进行处理,并根据处理结果执行相应的轮询方案;轮询报文包括:获取第一级从设备的地址信息请求和第一级从设备发送相邻报文的延时时间;第一级从设备,用于接收轮询报文,对轮询报文进行处理,并向主设备返回回复报文。
本实施例中,主设备通过发送通道向第一级从设备发送轮询报文。其中,主设备发送的轮询报文只有第一级从设备可以接收。当有下一级从设备时,下一级从设备不能接收主设备发送的轮询报文。
进一步地,本实施例中,第一级从设备还用于:接收到轮询报文后,对轮询报文进行解析,以提取第一级从设备的地址信息请求和第一级从设备发送相邻报文的延时时间;根据地址信息请求和第一级从设备发送相邻报文的延时时间,生成自身的地址信息、自身发送相邻报文的延时时间以及轮询结束标识符;将自身的地址信息、自身发送相邻报文的延时时间以及轮询结束标识符形成回复报文,将回复报文发送给主设备。
进一步地,主设备还用于:接收到回复报文后,对回复报文进行解析,以获得第一级从设备的地址信息、第一级从设备的相邻报文的延时时间以及第一级从设备的轮询标识符;根据第一级从设备的轮询标识符执行相应的轮询方案。若第一级从设备的轮询标识符为1,则结束本次轮询;若第一级从设备的轮询标识符为0,则继续轮询。可以理解地,当只有第一级从设备这一级从设备时,轮询标识符为1,此时,主从设备可直接结束本次轮询,当还有下一级从设备时,则需要继续轮询。其中,主设备只需要向第一级从设备发送轮询报文,不需要向下一级从设备发送轮询报文,进一步缩短轮询负荷及轮询时间。
进一步地,该自动识别从设备的无延时轮询系统还包括:至少一个下级从设备。
进一步地,如图3所示,每一个下级从设备的通过发送通道发送给主设备的路径上还设有单向传输电路,该意向传输电路可以保证信号的单向传输。可选的,该单向传输电路包括但不限于二极管、三极管等。其中,图3仅以二极管作为示例进行说明。
本实施例中,至少一个下级从设备中的下级从设备执行以下动作:排序处于下一位的下级从设备接收上一位从设备发送的回复报文;排序处于下一位的下级从设备根据上一位从设备发送的回复报文生成次级回复报文,并将次级回复报文发送给主设备;排序处于下一位的下级从设备还将次级回复报文发送给与其相信的下一位的下级从设备,依次类推;若排序处于下一位的下级从设备为处于第一位的下级从设备,则上一位从设备为第一级从设备。
进一步地,排序处于下一位的下级从设备还用于:根据上一位从设备发送的回复报文中的地址信息,重新生成一个用于标识自身地址的唯一地址信息;判断是否有下级从设备,若是,则保持从上一位从设备发送的回复报文中获得的轮询标识符不变;若否,则将从上一位从设备发送的回复报文中获得的轮询标识符修改为1。
进一步地,排序处于下一位的下级从设备还用于:根据上一位从设备发送的回复报文中的相邻报文的延时时间进行延时;或者,根据设定时间延时。
进一步地,本实施例中,主设备、第一级从设备以及下级从设备均设有发送通道和接收通道,且发送通道和接收通道相互独立。
具体的,如图3所示,本实施例的轮询系统的工作过程如下:
如图3所示,假设有n(n≥1)级从设备,从设备按照主设备轮询的先后顺序从小大到分别叫k((1≤k≤n))级从设备。其中,图3中的1级从设备即为本发明实施例公开的第一级从设备,2级、3级、……、n级从设备即为本发明实施例公开的下级从设备。
具体的,开始进行轮询时,主设备通过发送通道向1级从设备发送轮询报文,1级从设备接收到主设备发送的轮询报文后,对该轮询报文进行处理,对轮询报文进行解析,以提取第一第一级从设备的地址信息请求和第一级从设备发送相邻报文的延时时间;根据地址信息请求和第一级从设备发送相邻报文的延时时间,生成自身的地址信息、自身发送相邻报文的延时时间以及轮询结束标识符;将自身的地址信息、自身发送相邻报文的延时时间以及轮询结束标识符形成回复报文,将回复报文发送给主设备。其中,第一级从设备生成的自身的地址信息与其所在的级数相同且与其唯一对应,即为1,因此,基于第一级从设备返回的地址信息,主设备可以识别出第一级设备及其所在的级数量,进而识别从设备的数量。可以理解地,图3中示出了n级从设备,如果仅有第一级从设备这一个设备,则主设备基于轮询结束标识符即可直接结束本次轮询。其中,轮询结束标识符可以通过硬件标识来确定,即可以通过硬件标识确定是否还连接有下级从设备,具体的,当前级从设备若连接有下级从设备,当前级从设备可以检测到高电信号,若没有连接下级从设备,当前级从设备则检测到的是低电平信号。因此,当检测到高电平信号时,将轮询结束标识符设置为0,当检测到低电平信号时,将轮询结束标识符设置为1。
进一步地,1级从设备所发送的回复报文还通过发送通道发送给2级从设备,2级从设备接收到1级从设备发送的回复报文后,根据回复报文时的1级从设备的地址信息,重新生成一个2级从设备的地址信息,该地址信息可以用于标识2级从设备且是唯一的。一般地,下一级从设备的地址信息是在上一级从设备的地址信息的基础上加1,刚好与其所在的级数相同。接着,判断是否连接有下级从设备,即根据下级从设备提供的电平信号识别,如果没有下级从设备,则轮询结束标识符设置为1,如果有下级从设备,则轮询结束标识符设置为0。然后,根据回复报文里的相邻报文的延时时间进行延时(当然,若没有延时时间,则根据设定时间延时,其中,设定时间一般为默认时间),通过延时,可以给主设备提供足够的报文处理时间。最后,2级从设备通过发送通道向主设备发送次级回复报文。同样地,2级从设备回复的次级回复报文包括:新生成的地址信息(该地址信息唯一标识2级从设备)、1级从设备传来的“相邻报文的延时时间、以及轮询结束标识符”。
进一步地,如图3所示,后面的3级、4级、……、n级从设备接收到上一级发送的次级回复报文后所执行的动作与2级从设备的相同,只是在生成地址信息是相应改变级数即可,直到所有的下级从设备轮询完成。
需要说明的是,本发明实施例的从设备中,即第一级从设备、下级从设备之间均是通过硬件连接的,因此,可以通过检测自身是否有硬件连接信号可以确定是否连接有下级从设备。
另外,图3为本发明实施例的主设备、第一级从设备以及各级下级从设备的连线示意图,通过该种连线方式,使得本申请中任何一台从设备在任何时候都只能接收一台设备的报文,即主设备发送的报文只有第一级从设备可以接收,与第一级从设备相邻的下级从设备只能接收第一级从设备发送的报文,即每一级从设备只能接收其上一级从设备发送的报文,而任一级从设备发送的报文既可以被主设备接收,也可以同时被与其相邻的下一级从设备接收;而且,各个从设备在总线上的位置是固定的,从而避免了需要人工介入设置地址,同时还可以实现主设备不需要保存从设备的台数及各从设备的地址,减轻主设备的负荷,在轮询过程中可自动获取从设备的地址信息、自动识别从设备以及从设备的数量。
以上实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据此实施,并不能限制本发明的保护范围。凡跟本发明权利要求范围所做的均等变化与修饰,均应属于本发明权利要求的涵盖范围。
Claims (10)
1.一种自动识别从设备的无延时轮询方法,其特征在于,包括:
开始进行轮询时,主设备向第一级从设备发送轮询报文;所述轮询报文包括:获取所述第一级从设备的地址信息请求和所述第一级从设备发送相邻报文的延时时间;
所述第一级从设备接收所述轮询报文,对所述轮询报文进行处理,并向所述主设备返回回复报文;所述第一级从设备接收所述轮询报文,对所述轮询报文进行处理,并向所述主设备返回回复报文包括:所述第一级从设备接收到所述轮询报文后,对所述轮询报文进行解析,以提取所述第一级从设备的地址信息请求和所述第一级从设备发送相邻报文的延时时间;根据所述地址信息请求和所述第一级从设备发送相邻报文的延时时间,生成自身的地址信息、自身发送相邻报文的延时时间以及轮询结束标识符;将所述自身的地址信息、自身发送相邻报文的延时时间以及轮询结束标识符形成回复报文,将所述回复报文发送给所述主设备;
所述主设备接收所述回复报文,对所述回复报文进行处理,并根据处理结果执行相应的轮询方案;
所述主设备接收所述回复报文,对所述回复报文进行处理,并根据处理结果执行相应的轮询方案包括:所述主设备接收到所述回复报文后,对所述回复报文进行解析,以获得所述第一级从设备的地址信息、第一级从设备的相邻报文的延时时间以及第一级从设备的轮询标识符;根据所述第一级从设备的轮询标识符执行相应的轮询方案;
所述根据所述第一级从设备的轮询标识符执行相应的轮询方案包括:
若所述第一级从设备的轮询标识符为1,则结束本次轮询;若所述第一级从设备的轮询标识符为0,则继续轮询。
2.根据权利要求1所述的自动识别从设备的无延时轮询方法,其特征在于,所述若所述第一级从设备的轮询标识符为0,则继续轮询包括:
排序处于下一位的下级从设备接收上一位从设备发送的回复报文;
排序处于下一位的下级从设备根据所述上一位从设备发送的回复报文生成次级回复报文,并将所述次级回复报文发送给所述主设备;
所述排序处于下一位的下级从设备还将所述次级回复报文发送给与其相邻的下一位的下级从设备,依次类推;
若所述排序处于下一位的下级从设备为处于第一位的下级从设备,则所述上一位从设备为所述第一级从设备。
3.根据权利要求2所述的自动识别从设备的无延时轮询方法,其特征在于,所述排序处于下一位的下级从设备根据所述上一位从设备发送的回复报文生成次级回复报文包括:
排序处于下一位的下级从设备根据所述上一位从设备发送的回复报文中的地址信息,重新生成一个用于标识自身地址的唯一地址信息;
判断是否有下级从设备,若是,则保持从所述上一位从设备发送的回复报文中获得的轮询标识符不变;若否,则将从所述上一位从设备发送的回复报文中获得的轮询标识符修改为1。
4.根据权利要求3所述的自动识别从设备的无延时轮询方法,其特征在于,还包括:
排序处于下一位的下级从设备根据所述上一位从设备发送的回复报文中的相邻报文的延时时间进行延时;
或者,根据设定时间延时。
5.根据权利要求3所述的自动识别从设备的无延时轮询方法,其特征在于,所述主设备、第一级从设备以及下级从设备均设有发送通道和接收通道,且所述发送通道和接收通道相互独立。
6.一种自动识别从设备的无延时轮询系统,其特征在于,包括:
主设备,用于在开始进行轮询时,主设备向第一级从设备发送轮询报文以及接收第一级从设备返回的回复报文,对所述回复报文进行处理,并根据处理结果执行相应的轮询方案;所述轮询报文包括:获取所述第一级从设备的地址信息请求和所述第一级从设备发送相邻报文的延时时间;
第一级从设备,用于接收所述轮询报文,对所述轮询报文进行处理,并向所述主设备返回回复报文;所述第一级从设备还用于:接收到所述轮询报文后,对所述轮询报文进行解析,以提取所述第一级从设备的地址信息请求和所述第一级从设备发送相邻报文的延时时间;根据所述地址信息请求和所述第一级从设备发送相邻报文的延时时间,生成自身的地址信息、自身发送相邻报文的延时时间以及轮询结束标识符;将所述自身的地址信息、自身发送相邻报文的延时时间以及轮询结束标识符形成回复报文,将所述回复报文发送给所述主设备;
所述主设备还用于:接收到所述回复报文后,对所述回复报文进行解析,以获得所述第一级从设备的地址信息、第一级从设备的相邻报文的延时时间以及第一级从设备的轮询标识符;根据所述第一级从设备的轮询标识符执行相应的轮询方案;
所述主设备还用于:若所述第一级从设备的轮询标识符为1,则结束本次轮询;若所述第一级从设备的轮询标识符为0,则继续轮询。
7.根据权利要求6所述的自动识别从设备的无延时轮询系统,其特征在于,还包括:至少一个下级从设备;所述至少一个下级从设备中的下级从设备执行以下动作:
排序处于下一位的下级从设备接收上一位从设备发送的回复报文;
排序处于下一位的下级从设备根据所述上一位从设备发送的回复报文生成次级回复报文,并将所述次级回复报文发送给所述主设备;
所述排序处于下一位的下级从设备还将所述次级回复报文发送给与其相信的下一位的下级从设备,依次类推;
若所述排序处于下一位的下级从设备为处于第一位的下级从设备,则所述上一位从设备为所述第一级从设备。
8.根据权利要求7所述的自动识别从设备的无延时轮询系统,其特征在于,排序处于下一位的下级从设备还用于:
根据所述上一位从设备发送的回复报文中的地址信息,重新生成一个用于标识自身地址的唯一地址信息;
判断是否有下级从设备,若是,则保持从所述上一位从设备发送的回复报文中获得的轮询标识符不变;若否,则将从所述上一位从设备发送的回复报文中获得的轮询标识符修改为1。
9.根据权利要求7所述的自动识别从设备的无延时轮询系统,其特征在于,排序处于下一位的下级从设备还用于:
根据所述上一位从设备发送的回复报文中的相邻报文的延时时间进行延时;
或者,根据设定时间延时。
10.根据权利要求7所述的自动识别从设备的无延时轮询系统,其特征在于,所述主设备、第一级从设备以及下级从设备均设有发送通道和接收通道,且所述发送通道和接收通道相互独立。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010538175.3A CN111865745B (zh) | 2020-06-12 | 2020-06-12 | 一种自动识别从设备的无延时轮询方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010538175.3A CN111865745B (zh) | 2020-06-12 | 2020-06-12 | 一种自动识别从设备的无延时轮询方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111865745A CN111865745A (zh) | 2020-10-30 |
CN111865745B true CN111865745B (zh) | 2022-02-01 |
Family
ID=72986813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010538175.3A Active CN111865745B (zh) | 2020-06-12 | 2020-06-12 | 一种自动识别从设备的无延时轮询方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111865745B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114070665A (zh) * | 2021-11-09 | 2022-02-18 | 杭州海兴电力科技股份有限公司 | 一种mbus主机通讯电路、方法、装置及其介质 |
CN114490454B (zh) * | 2021-12-29 | 2023-07-18 | 广州河东科技有限公司 | 一种设备串口自适应驱动的方法、装置和串口设备 |
CN114629743A (zh) * | 2022-01-19 | 2022-06-14 | 深圳拓邦股份有限公司 | 识别从设备串口的方法、装置、系统、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6009479A (en) * | 1995-02-17 | 1999-12-28 | Dell Usa, L.P. | System and method for assigning unique addresses to agents on a system management bus |
CN103178985A (zh) * | 2011-12-26 | 2013-06-26 | 中国移动通信集团重庆有限公司 | 网络设备轮询方法、系统和装置 |
CN108462621A (zh) * | 2018-03-01 | 2018-08-28 | 航天柏克(广东)科技有限公司 | 一种通讯设备地址分配和设备数量统计的方法 |
CN110417930A (zh) * | 2019-06-19 | 2019-11-05 | 浙江天正电气股份有限公司 | 一种串行设备通信地址的自动分配方法 |
-
2020
- 2020-06-12 CN CN202010538175.3A patent/CN111865745B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6009479A (en) * | 1995-02-17 | 1999-12-28 | Dell Usa, L.P. | System and method for assigning unique addresses to agents on a system management bus |
CN103178985A (zh) * | 2011-12-26 | 2013-06-26 | 中国移动通信集团重庆有限公司 | 网络设备轮询方法、系统和装置 |
CN108462621A (zh) * | 2018-03-01 | 2018-08-28 | 航天柏克(广东)科技有限公司 | 一种通讯设备地址分配和设备数量统计的方法 |
CN110417930A (zh) * | 2019-06-19 | 2019-11-05 | 浙江天正电气股份有限公司 | 一种串行设备通信地址的自动分配方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111865745A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111865745B (zh) | 一种自动识别从设备的无延时轮询方法及系统 | |
CN112905508B (zh) | 用于串口通信设备的地址分配方法、通信装置和存储介质 | |
CN106254199B (zh) | 单向环形网络故障点定位方法、集中器、终端设备及系统 | |
CN111966189B (zh) | 一种灵活配置的多计算节点服务器主板结构和程序 | |
CN109002411B (zh) | 自动配置gpu扩展箱的方法、系统及可自动配置的gpu扩展箱 | |
US11240068B2 (en) | Method for detecting and identifying items of equipment communicating according to a Modbus protocol and communication controller for the implementation of such a method | |
CN109656755A (zh) | 检测设备状态的方法和系统 | |
CA2864093C (en) | Power line communication apparatus and method, and load power monitoring apparatus and method using same | |
CN103186440B (zh) | 检测子卡在位的方法、装置及系统 | |
CN116107893A (zh) | 一种异构平台嵌入式软件测试验证系统及方法 | |
CN111314180A (zh) | 一种以太网链路测试方法、终端及存储介质 | |
CN111427590B (zh) | 边缘计算App的部署方法和装置 | |
CN103914354A (zh) | 数据库故障修复的方法和系统 | |
CN116436540A (zh) | Led显示屏接收卡测试方法、装置、测试卡及存储介质 | |
CN101964923A (zh) | 交互式命令的配置系统及方法 | |
CN111405531A (zh) | 一种提高通信质量的方法、介质、终端和装置 | |
CN117348900A (zh) | 电能表匹配升级方法及相关设备 | |
CN116578519A (zh) | 一种通信方法、装置、设备及介质 | |
CN115242687B (zh) | 一种节点探活方法、装置、设备及介质 | |
CN103885441B (zh) | 一种控制器局域网络的自适应故障诊断方法 | |
CN113589743B (zh) | 一种现场总线系统 | |
CN111683142B (zh) | 计量装置、计量方法和计算机可读存储介质 | |
CN116094546A (zh) | Hplc模块故障识别方法及装置 | |
CN113872687A (zh) | 一种基于链路层发现协议的光衰探测方法及装置 | |
CN210518417U (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 |