掌桥专利:专业的专利平台
掌桥专利
首页

一种主从设备通信方法、装置、电子设备和可读存储介质

文献发布时间:2024-04-18 19:48:15


一种主从设备通信方法、装置、电子设备和可读存储介质

技术领域

本发明涉及通信技术领域,特别是涉及一种主从设备通信方法、一种主从设备通信装置、一种电子设备和一种计算机可读存储介质。

背景技术

在现有的通信系统中,多设备交互成为常态,设备间通信方式通常采用总线方式。主从通信通过一台主设备和若干台从设备的交互,实现信息的有效传递,主设备可以通过总线连接多个从设备。

主设备往往采用轮询的方式实现与从设备之间的通信,即主设备依次不停地向每个地址对应的从设备下发查询信号,即使只有一个从设备处于在线状态,也需要轮询所有从设备,导致浪费主设备的刷新时长,用户不能通过主设备及时获取从设备的状态信息。在这种通信模式下,当主设备轮询一周,随着从设备数量越多,耗时就越长,在实时性要求较高的场合,其响应时间过慢,无法满足整个系统的要求。

除上述通信模式之外,主设备还可以采用传统点播方式获取单一从设备的状态信息,即人为选择某一地址对应的从设备,向其发送查询信号,获取其状态信息。然而在这种通信模式下,不利于在多设备间进行信息交互,仅获取片面信息,影响主设备进行综合信息整理后控制输出。

发明内容

鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种主从设备通信方法和相应的一种主从设备通信装置、一种电子设备,以及一种计算机可读存储介质。

本发明实施例公开了一种主从设备通信方法,应用于主设备,所述主设备分别与多个从设备总线连接,所述多个从设备包括第一从设备和第二从设备,所述第一从设备和所述第二从设备的地址相邻,所述方法包括:

向所述第一从设备发送第一数据获取请求,并向所述第二从设备发送第一在线状态确认请求;

若在预设第一时间段内接收到所述第二从设备针对所述第一在线状态确认请求返回的应答信息,则记录所述第二从设备处于在线状态;

若在所述预设第一时间段内未接收到所述第二从设备针对所述第一在线状态确认请求返回的应答信息,则在预设第二时间段内等待所述第一从设备针对所述第一数据获取请求返回的数据信息;

若在所述预设第二时间段内未接收到所述第一从设备针对所述第一数据获取请求返回的数据信息,则下线所述第一从设备,并记录所述第一从设备处于离线状态。

可选地,所述在预设第二时间段内等待所述第一从设备针对所述第一数据获取请求返回的数据信息之后,所述方法还包括:

在预设第三时间段内继续等待所述第二从设备针对所述第一在线状态确认请求返回的应答信息;

若在所述预设第三时间段内接收到所述第二从设备针对所述第一在线状态确认请求返回的应答信息,则记录所述第二从设备处于在线状态;

若在所述预设第三时间段内未接收到所述第二从设备针对所述第一在线状态确认请求返回的应答信息,则记录所述第二从设备处于离线状态。

可选地,所述多个从设备包括第三从设备,所述第三从设备为与所述第二从设备相邻的另一个从设备,所述多个从设备还包括第四从设备和第五从设备,所述第四从设备和所述第五从设备的地址相邻,所述方法还包括:

若所述第二从设备处于在线状态,则向所述第二从设备发送第二数据获取请求,并向所述第三从设备发送第二在线状态确认请求;

若所述第二从设备处于离线状态,则向所述第四从设备发送第三数据获取请求,并向所述第五从设备发送第三在线状态确认请求。

可选地,所述方法还包括:

在对所述多个从设备中的每个从设备更新在线状态后,确定记录的处于在线状态的目标从设备,向所述目标从设备发送第四数据获取请求,并不再向与所述目标从设备相邻的相邻从设备发送第四在线状态确认请求。

可选地,所述方法还包括:

若在预设第四时间段内未接收到所述目标从设备针对所述第四数据获取请求返回的数据信息,则下线所述目标从设备,并记录所述目标从设备处于离线状态。

可选地,在预设第一时间段内接收到所述第二从设备针对所述第一在线状态确认请求返回的应答信息的情况下,所述方法还包括:

在所述预设第二时间段内等待所述第一从设备针对所述第一数据获取请求返回的数据信息。

可选地,所述主设备与新增从设备总线连接,所述方法还包括:

获取待分配地址信息,根据所述待分配地址信息为所述新增从设备分配地址;其中,所述待分配地址信息为记录的处于离线状态的离线从设备的在先地址。

本发明实施例还公开了一种主从设备通信装置,应用于主设备,所述主设备分别与多个从设备总线连接,所述多个从设备包括第一从设备和第二从设备,所述第一从设备和所述第二从设备的地址相邻,所述装置包括:

第一数据获取请求及第一在线状态确认请求发送模块,用于向所述第一从设备发送第一数据获取请求,并向所述第二从设备发送第一在线状态确认请求;

在线状态记录模块,用于若在预设第一时间段内接收到所述第二从设备针对所述第一在线状态确认请求返回的应答信息,则记录所述第二从设备处于在线状态;

数据信息等待模块,用于若在所述预设第一时间段内未接收到所述第二从设备针对所述第一在线状态确认请求返回的应答信息,则在预设第二时间段内等待所述第一从设备针对所述第一数据获取请求返回的数据信息;

下线及离线状态记录模块,用于若在所述预设第二时间段内未接收到所述第一从设备针对所述第一数据获取请求返回的数据信息,则下线所述第一从设备,并记录所述第一从设备处于离线状态。

可选地,所述装置还包括:

应答信息等待模块,用于在预设第三时间段内继续等待所述第二从设备针对所述第一在线状态确认请求返回的应答信息;

第二在线状态记录模块,用于若在所述预设第三时间段内接收到所述第二从设备针对所述第一在线状态确认请求返回的应答信息,则记录所述第二从设备处于在线状态;

离线状态记录模块,用于若在所述预设第三时间段内未接收到所述第二从设备针对所述第一在线状态确认请求返回的应答信息,则记录所述第二从设备处于离线状态。

可选地,所述多个从设备包括第三从设备,所述第三从设备为与所述第二从设备相邻的另一个从设备,所述多个从设备还包括第四从设备和第五从设备,所述第四从设备和所述第五从设备的地址相邻,所述装置还包括:

第二数据获取请求及第二在线状态确认请求发送模块,用于若所述第二从设备处于在线状态,则向所述第二从设备发送第二数据获取请求,并向所述第三从设备发送第二在线状态确认请求;

第三数据获取请求及第三在线状态确认请求发送模块,用于若所述第二从设备处于离线状态,则向所述第四从设备发送第三数据获取请求,并向所述第五从设备发送第三在线状态确认请求。

可选地,所述装置还包括:

第四数据获取请求发送模块,用于在对所述多个从设备中的每个从设备更新在线状态后,确定记录的处于在线状态的目标从设备,向所述目标从设备发送第四数据获取请求,并不再向与所述目标从设备相邻的相邻从设备发送第四在线状态确认请求。

可选地,所述装置还包括:

目标从设备下线及离线状态记录模块,用于若在预设第四时间段内未接收到所述目标从设备针对所述第四数据获取请求返回的数据信息,则下线所述目标从设备,并记录所述目标从设备处于离线状态。

可选地,在预设第一时间段内接收到所述第二从设备针对所述第一在线状态确认请求返回的应答信息的情况下,所述装置还包括:

第二数据信息等待模块,用于在所述预设第二时间段内等待所述第一从设备针对所述第一数据获取请求返回的数据信息。

可选地,所述主设备与新增从设备总线连接,所述装置还包括:

待分配地址信息获取及地址分配模块,用于获取待分配地址信息,根据所述待分配地址信息为所述新增从设备分配地址;其中,所述待分配地址信息为记录的处于离线状态的离线从设备的在先地址。

本发明实施例还公开了一种电子设备,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述一种主从设备通信方法。

本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述一种主从设备通信方法。

本发明实施例包括以下优点:

在本发明实施例中,主设备在向第一从设备发送数据获取请求获取第一从设备的数据信息的同时,向与第一从设备地址相邻的第二从设备发送第一在线状态确认请求,对第二从设备进行在线状态确认。如果在预设第一时间段内接收到第二从设备针对第一在线状态确认请求返回的应答信息,则可以确认第二从设备处于在线状态;如果在预设第一时间段内未接收到第二从设备针对第一在线状态确认请求返回的应答信息,则在预设第二时间段内等待第一从设备针对第一数据获取请求返回的数据信息;如果在预设第二时间段内未接收到第一从设备针对第一数据获取请求返回的数据信息,则可以强制下线第一从设备,并记录第一从设备处于离线状态。通过采用上述方法,针对地址池中相邻的两个地址,获取其中一个地址所对应的从设备的设备数据信息的同时,确认另一个地址所对应的从设备的在线状态,可以减少主设备轮询时长,更快确认从设备的在线状态。

附图说明

图1是本发明实施例提供的一种主从设备通信方法的步骤流程图;

图2是本发明实施例提供的另一种主从设备通信方法的步骤流程图;

图3是本发明实施例的地址池和从设备在线状态信息池的示意图;

图4是本发明实施例主从设备通信过程中的数据包格式示意图;

图5是本发明实施例主从设备通信交换过程的时序图;

图6是本发明实施例的通信过程示意图;

图7是本发明实施例提供的一种主从设备通信装置的结构框图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。

主设备往往采用轮询的方式实现与从设备之间的通信,即主设备依次不停地向每个地址对应的从设备下发查询信号,即使只有一个从设备处于在线状态,也需要轮询所有从设备,导致浪费主设备的刷新时长,用户不能通过主设备及时获取从设备的状态信息。在这种通信模式下,当主设备轮询一周,随着从设备数量越多,耗时就越长,在实时性要求较高的场合,其响应时间过慢,无法满足整个系统的要求。

除上述通信模式之外,主设备还可以采用传统点播方式获取单一从设备的状态信息,即人为选择某一地址对应的从设备,向其发送查询信号,获取其状态信息。然而在这种通信模式下,不利于在多设备间进行信息交互,仅获取片面信息,影响主设备进行综合信息整理后控制输出。

因此,本发明涉及解决主设备轮询所有挂载的从设备时,获取从设备的状态信息缓慢的问题,以及涉及解决利用传统点播方式获取从设备的状态信息,影响多设备信息交互的问题。

本发明实施例,主设备在向第一从设备发送数据获取请求获取第一从设备的数据信息的同时,向与第一从设备地址相邻的第二从设备发送第一在线状态确认请求,对第二从设备进行在线状态确认。如果在预设第一时间段内接收到第二从设备针对第一在线状态确认请求返回的应答信息,则可以确认第二从设备处于在线状态;如果在预设第一时间段内未接收到第二从设备针对第一在线状态确认请求返回的应答信息,则在预设第二时间段内等待第一从设备针对第一数据获取请求返回的数据信息;如果在预设第二时间段内未接收到第一从设备针对第一数据获取请求返回的数据信息,则可以强制下线第一从设备,并记录第一从设备处于离线状态。通过采用上述方法,针对地址池中相邻的两个地址,获取其中一个地址所对应的从设备的设备数据信息的同时,确认另一个地址所对应的从设备的在线状态,可以减少主设备轮询时长,更快确认从设备的在线状态。

参照图1,示出了本发明实施例提供的一种主从设备通信方法的步骤流程图,应用于主设备,主设备分别与多个从设备总线连接,多个从设备包括第一从设备和第二从设备,第一从设备和第二从设备的地址相邻,具体可以包括如下步骤:

步骤101,向第一从设备发送第一数据获取请求,并向第二从设备发送第一在线状态确认请求。

主设备中存储有地址池,地址池中记录有与主设备建立通信连接的各个从设备的地址,且记录的地址是有次序的。

第一数据获取请求用于获取第一从设备的数据信息;第一在线状态确认请求用于确认第二从设备的在线状态。

在本发明实施例中,第一从设备和第二从设备的地址相邻,主设备在向第一从设备发送第一数据获取请求的同时,可以向第二从设备发送第一在线状态确认请求。

步骤102,若在预设第一时间段内接收到第二从设备针对第一在线状态确认请求返回的应答信息,则记录第二从设备处于在线状态。

如果在预设第一时间段内接收到第二从设备针对第一在线状态确认请求返回的应答信息,则可以记录第二从设备处于在线状态。在具体实施中,主设备存储有从设备在线状态信息池,从设备在线状态信息池中记录有与主设备建立通信连接的各个从设备的在线状态信息,在线状态信息可以包括处于在线状态或处于离线状态。

步骤103,若在预设第一时间段内未接收到第二从设备针对第一在线状态确认请求返回的应答信息,则在预设第二时间段内等待第一从设备针对第一数据获取请求返回的数据信息。

如果在预设第一时间段内未接收到第二从设备针对第一在线状态确认请求返回的应答信息,则可以在预设第二时间段内等待第一从设备针对第一数据获取请求返回的数据信息。

步骤104,若在预设第二时间段内未接收到第一从设备针对第一数据获取请求返回的数据信息,则下线第一从设备,并记录第一从设备处于离线状态。

如果在预设第二时间段内未接收到第一从设备针对第一数据获取请求返回的数据信息,则可以强制下线第一从设备,记录第一从设备处于离线状态。

综上,在本发明实施例中,主设备在向第一从设备发送数据获取请求获取第一从设备的数据信息的同时,向与第一从设备地址相邻的第二从设备发送第一在线状态确认请求,对第二从设备进行在线状态确认。如果在预设第一时间段内接收到第二从设备针对第一在线状态确认请求返回的应答信息,则可以确认第二从设备处于在线状态;如果在预设第一时间段内未接收到第二从设备针对第一在线状态确认请求返回的应答信息,则在预设第二时间段内等待第一从设备针对第一数据获取请求返回的数据信息;如果在预设第二时间段内未接收到第一从设备针对第一数据获取请求返回的数据信息,则可以强制下线第一从设备,并记录第一从设备处于离线状态。通过采用上述方法,针对地址池中相邻的两个地址,获取其中一个地址所对应的从设备的设备数据信息的同时,确认另一个地址所对应的从设备的在线状态,可以减少主设备轮询时长,更快确认从设备的在线状态。

参照图2,示出了本发明实施例提供的另一种主从设备通信方法的步骤流程图,应用于主设备,主设备分别与多个从设备总线连接,多个从设备包括第一从设备和第二从设备,第一从设备和第二从设备的地址相邻,具体可以包括如下步骤:

步骤201,向第一从设备发送第一数据获取请求,并向第二从设备发送第一在线状态确认请求。

在具体实施中,主设备得电后,需要更新从设备在线状态信息池,确认挂载主设备的从设备的在线状态信息,同时在确认在线状态信息的过程中获取在线从设备的数据信息。

示例性地,主设备可以按照地址池中地址信息依次向从设备发送数据获取请求,例如可以向地址x的从设备发送数据获取请求,同时可以向地址x+1的从设备发送在线状态确认请求。

步骤202,若在预设第一时间段内接收到第二从设备针对第一在线状态确认请求返回的应答信息,则记录第二从设备处于在线状态。

如果在T时间段内接收到地址x+1的从设备返回的应答信息,则确认地址x+1的从设备处于在线状态。在具体实施中,可以将从设备在线状态信息池中对应的在线状态信息置为1,表示处于在线状态。

步骤203,若在预设第一时间段内未接收到第二从设备针对第一在线状态确认请求返回的应答信息,则在预设第二时间段内等待第一从设备针对第一数据获取请求返回的数据信息。

如果在T时间段内未接收到地址x+1的从设备返回的应答信息,则在τ时间段内等待地址x的从设备返回其自身的数据信息。

在本发明一种可选的实施例中,在预设第一时间段内接收到第二从设备针对第一在线状态确认请求返回的应答信息的情况下,本发明的主从设备通信方法具体还可以包括如下步骤:

在预设第二时间段内等待第一从设备针对第一数据获取请求返回的数据信息。

如果在T时间段内接收到地址x+1的从设备返回的应答信息,则也需要在τ时间段内等待地址x的从设备返回其自身的数据信息。

在具体实施中,在T时间段过后,无论地址x+1的从设备是否处于在线状态,地址x的从设备需要在τ时间段内返回自身的数据信息给主设备。

步骤204,若在预设第二时间段内未接收到第一从设备针对第一数据获取请求返回的数据信息,则下线第一从设备,并记录第一从设备处于离线状态。

如果在τ时间段内未接收到地址x的从设备返回的数据信息,则强制下线地址x的从设备,将地址x的从设备的在线状态信息置为0,表示处于离线状态,之后不再对地址x的从设备发送数据获取请求。

步骤205,在预设第三时间段内继续等待第二从设备针对第一在线状态确认请求返回的应答信息。

在τ时间段过后,主设备可以继续等待t时间段,在t时间段内等待地址x+1的从设备的应答信息,本发明实施例中的应答信息具体可以是指ACK应答信息。

步骤206,若在预设第三时间段内接收到第二从设备针对第一在线状态确认请求返回的应答信息,则记录第二从设备处于在线状态。

如果在t时间段内接收到地址x+1的从设备的应答信息,则确认地址x+1的从设备处于在线状态,将地址x+1的从设备的在线状态信息置为1。

步骤207,若在预设第三时间段内未接收到第二从设备针对第一在线状态确认请求返回的应答信息,则记录第二从设备处于离线状态。

如果在t时间段内未接收到地址x+1的从设备的应答信息,则确认地址x+1的从设备处于离线状态,将地址x+1的从设备的在线状态信息置为0,至此,主设备的此次数据获取请求和在线状态确认请求处理完成。

在本发明一种可选的实施例中,多个从设备包括第三从设备,第三从设备为与第二从设备相邻的另一个从设备,多个从设备还包括第四从设备和第五从设备,第四从设备和第五从设备的地址相邻,本发明的主从设备通信方法具体还可以包括如下步骤:

若第二从设备处于在线状态,则向第二从设备发送第二数据获取请求,并向第三从设备发送第二在线状态确认请求。

若第二从设备处于离线状态,则向第四从设备发送第三数据获取请求,并向第五从设备发送第三在线状态确认请求。

进一步地,如果地址x+1的从设备处于在线状态,则向地址x+1的从设备发送数据获取请求,以及向地址x+2的从设备发送在线状态确认请求;如果地址x+1的从设备处于离线状态,则向地址y的从设备发送数据获取请求,以及向地址y+1的从设备发送在线状态确认请求,直至遍历完地址池中的所有从设备,完成从设备在线状态信息池中所有从设备的在线状态信息更新。

如图3所示,为本发明实施例的地址池和从设备在线状态信息池的示意图,其中,地址池中的每一个地址对应一个从设备,从设备在线状态信息池中的每一个在线状态信息池对应一个从设备,地址池中的从设备与从设备在线状态信息池中的从设备一一对应,1表示当前地址对应的从设备处于在线状态,0表示当前当前地址对应的从设备处于离线状态。如图4所示,为本发明实施例主从设备通信过程中的数据包格式示意图。主设备发送的数据获取请求数据包包括起始位、从设备地址位、操作指令码、获取数据长度位、检验位和终止位;从设备返回的数据信息数据包包括起始位、本从设备地址位、数据长度位、数据位、检验位和终止位。

在本发明一种可选的实施例中,本发明的主从设备通信方法具体还可以包括如下步骤:

在对多个从设备中的每个从设备更新在线状态后,确定记录的处于在线状态的目标从设备,向目标从设备发送第四数据获取请求,并不再向与目标从设备相邻的相邻从设备发送第四在线状态确认请求。

在完成从设备在线状态信息池中所有从设备的在线状态信息更新后,后续向从设备发送数据获取请求时,可以只向处于在线状态的从设备发送,例如,可以向处于在线状态的地址z的从设备发送数据获取请求,获取地址z的从设备的数据信息,此时不再需要确认地址z+1的从设备的在先状态信息,即不再向地址z+1的从设备发送在线状态确认请求。

在本发明一种可选的实施例中,本发明的主从设备通信方法具体还可以包括如下步骤:

若在预设第四时间段内未接收到目标从设备针对第四数据获取请求返回的数据信息,则下线目标从设备,并记录目标从设备处于离线状态。

如果在τ时间段内未接收到地址z的从设备返回的数据信息,则强制下线地址z的从设备,将地址z的从设备的在线状态信息置为0,表示处于离线状态,之后不再对地址z的从设备发送数据获取请求。

在本发明一种可选的实施例中,主设备与新增从设备总线连接,本发明的主从设备通信方法具体还可以包括如下步骤:

获取待分配地址信息,根据待分配地址信息为新增从设备分配地址;其中,待分配地址信息为记录的处于离线状态的离线从设备的在先地址。

在具体实施中,新增从设备首次得电后,新增从设备的地址为默认值,新增从设备可以通过挂载总线与主设备建立总线连接,主设备在完成一轮从设备在线状态信息池中所有从设备的在线状态信息更新后,可以向新增从设备发送地址分配指令,将记录的处于离线状态的离线从设备的在先地址择一分配给新增从设备,并将该地址对应的在线状态信息置为1。

可以理解,为了便于本领域技术人员理解,本发明实施例将第一从设备描述成地址x的从设备,第二从设备描述成地址x+1的从设备,预设第一时间段描述成T时间段,预设第二时间段描述成τ时间段,预设第三时间段描述成t时间段,第三从设备描述成x+2的从设备,第四从设备描述成地址y的从设备,第五从设备描述成地址y+1的从设备,地址z的从设备具体为后续记录的处于在线状态的目标从设备。主从设备通信交换过程的时序图具体可以如图5所示,本发明实施例描述的通信过程示意图具体可以如图6所示。

综上,在本发明实施例中,主设备在向第一从设备发送数据获取请求获取第一从设备的数据信息的同时,向与第一从设备地址相邻的第二从设备发送第一在线状态确认请求,对第二从设备进行在线状态确认。如果在预设第一时间段内接收到第二从设备针对第一在线状态确认请求返回的应答信息,则可以确认第二从设备处于在线状态;如果在预设第一时间段内未接收到第二从设备针对第一在线状态确认请求返回的应答信息,则在预设第二时间段内等待第一从设备针对第一数据获取请求返回的数据信息;如果在预设第二时间段内未接收到第一从设备针对第一数据获取请求返回的数据信息,则可以强制下线第一从设备,并记录第一从设备处于离线状态。通过采用上述方法,针对地址池中相邻的两个地址,获取其中一个地址所对应的从设备的设备数据信息的同时,确认另一个地址所对应的从设备的在线状态,可以减少主设备轮询时长,更快确认从设备的在线状态。

本发明的技术方案通过构建通信时序方式,更新设置的从设备在线状态信息池,有效减少轮询离线设备数据获取,解决获取主从设备系统数据缓慢的问题。

本发明针对地址池中相邻的两个地址,获取设备数据信息的同时,确认在线设备以更新在线状态信息,对没有响应的设备地址进行回收;之后通过对更新后的从设备在线状态信息池的设备获取数据信息,实现设备长时间掉线后的地址回收。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

参照图7,示出了本发明实施例提供的一种主从设备通信装置的结构框图,应用于主设备,所述主设备分别与多个从设备总线连接,所述多个从设备包括第一从设备和第二从设备,所述第一从设备和所述第二从设备的地址相邻,具体可以包括如下模块:

第一数据获取请求及第一在线状态确认请求发送模块701,用于向所述第一从设备发送第一数据获取请求,并向所述第二从设备发送第一在线状态确认请求;

在线状态记录模块702,用于若在预设第一时间段内接收到所述第二从设备针对所述第一在线状态确认请求返回的应答信息,则记录所述第二从设备处于在线状态;

数据信息等待模块703,用于若在所述预设第一时间段内未接收到所述第二从设备针对所述第一在线状态确认请求返回的应答信息,则在预设第二时间段内等待所述第一从设备针对所述第一数据获取请求返回的数据信息;

下线及离线状态记录模块704,用于若在所述预设第二时间段内未接收到所述第一从设备针对所述第一数据获取请求返回的数据信息,则下线所述第一从设备,并记录所述第一从设备处于离线状态。

在本发明实施例中,所述装置还包括:

应答信息等待模块,用于在预设第三时间段内继续等待所述第二从设备针对所述第一在线状态确认请求返回的应答信息;

第二在线状态记录模块,用于若在所述预设第三时间段内接收到所述第二从设备针对所述第一在线状态确认请求返回的应答信息,则记录所述第二从设备处于在线状态;

离线状态记录模块,用于若在所述预设第三时间段内未接收到所述第二从设备针对所述第一在线状态确认请求返回的应答信息,则记录所述第二从设备处于离线状态。

在本发明实施例中,所述多个从设备包括第三从设备,所述第三从设备为与所述第二从设备相邻的另一个从设备,所述多个从设备还包括第四从设备和第五从设备,所述第四从设备和所述第五从设备的地址相邻,所述装置还包括:

第二数据获取请求及第二在线状态确认请求发送模块,用于若所述第二从设备处于在线状态,则向所述第二从设备发送第二数据获取请求,并向所述第三从设备发送第二在线状态确认请求;

第三数据获取请求及第三在线状态确认请求发送模块,用于若所述第二从设备处于离线状态,则向所述第四从设备发送第三数据获取请求,并向所述第五从设备发送第三在线状态确认请求。

在本发明实施例中,所述装置还包括:

第四数据获取请求发送模块,用于在对所述多个从设备中的每个从设备更新在线状态后,确定记录的处于在线状态的目标从设备,向所述目标从设备发送第四数据获取请求,并不再向与所述目标从设备相邻的相邻从设备发送第四在线状态确认请求。

在本发明实施例中,所述装置还包括:

目标从设备下线及离线状态记录模块,用于若在预设第四时间段内未接收到所述目标从设备针对所述第四数据获取请求返回的数据信息,则下线所述目标从设备,并记录所述目标从设备处于离线状态。

在本发明实施例中,在预设第一时间段内接收到所述第二从设备针对所述第一在线状态确认请求返回的应答信息的情况下,所述装置还包括:

第二数据信息等待模块,用于在所述预设第二时间段内等待所述第一从设备针对所述第一数据获取请求返回的数据信息。

在本发明实施例中,所述主设备与新增从设备总线连接,所述装置还包括:

待分配地址信息获取及地址分配模块,用于获取待分配地址信息,根据所述待分配地址信息为所述新增从设备分配地址;其中,所述待分配地址信息为记录的处于离线状态的离线从设备的在先地址。

综上,在本发明实施例中,主设备在向第一从设备发送数据获取请求获取第一从设备的数据信息的同时,向与第一从设备地址相邻的第二从设备发送第一在线状态确认请求,对第二从设备进行在线状态确认。如果在预设第一时间段内接收到第二从设备针对第一在线状态确认请求返回的应答信息,则可以确认第二从设备处于在线状态;如果在预设第一时间段内未接收到第二从设备针对第一在线状态确认请求返回的应答信息,则在预设第二时间段内等待第一从设备针对第一数据获取请求返回的数据信息;如果在预设第二时间段内未接收到第一从设备针对第一数据获取请求返回的数据信息,则可以强制下线第一从设备,并记录第一从设备处于离线状态。通过采用上述方法,针对地址池中相邻的两个地址,获取其中一个地址所对应的从设备的设备数据信息的同时,确认另一个地址所对应的从设备的在线状态,可以减少主设备轮询时长,更快确认从设备的在线状态。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本发明实施例还提供了一种电子设备,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述一种主从设备通信方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述一种主从设备通信方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本发明所提供的一种主从设备通信方法、一种主从设备通信装置、一种电子设备和一种计算机可读存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

技术分类

06120116311323