一种数据通信方法、装置、设备及计算机可读存储介质与流程

    专利2022-07-07  142


    本发明涉及通信领域,特别是涉及一种数据通信方法,本发明还涉及一种数据通信装置、设备及计算机可读存储介质。



    背景技术:

    机器人如今已经广泛地应用在各个领域,机器人上设置有大量的485设备,485设备可以通过485总线与机器人中的主控制器进行数据通信,在现有技术中,由于各个485设备进行数据通信所采用的通信协议有所区别(例如有标准的modbus协议以及其他私有协议等),因此主控制器无法通过单一的485总线接口与多个485设备进行通信,而是在每个485总线接口上仅仅连接单独一个485设备,从而实现主控制器与各种具有不同通信协议的485设备的数据交互,但是由于主控制器上的485总线接口数量是有限的,因此导致了机器人上的485设备的可连接数量较少,限制了机器人的发展。

    因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。



    技术实现要素:

    本发明的目的是提供一种数据通信方法,提高了机器人上的485设备的挂载能力,有利于机器人的发展;本发明的另一目的是提供一种数据通信装置、设备及计算机可读存储介质,提高了机器人上的485设备的挂载能力,有利于机器人的发展。

    为解决上述技术问题,本发明提供了一种数据通信方法,包括:

    判断目标485设备距离上次通信结束的时间是否达到自身对应的预设的调度时间间隔;

    若达到,则基于所述目标485设备对应的通信协议,通过与所述目标485设备连接的485总线接口与所述目标485设备进行通信;

    其中,所述485总线接口同时与多个485设备连接。

    优选地,所述若达到,则基于所述目标485设备对应的通信协议,通过与所述目标485设备连接的485总线接口与所述目标485设备进行通信具体为:

    若达到,则判断当前同时达到自身对应的预设的调度时间间隔的所述目标485设备是否为多个;

    若不为多个,则直接基于所述目标485设备对应的通信协议,通过与所述目标485设备连接的485总线接口与所述目标485设备进行通信;

    若为多个,则按照预设优先级的顺序,基于所述目标485设备对应的通信协议,通过与所述目标485设备连接的485总线接口与所述目标485设备进行通信。

    优选地,所述判断目标485设备距离上次通信结束的时间是否达到自身对应的预设的调度时间间隔之前,该数据通信方法还包括:

    判断是否接收到指定485设备的抢先通信指令;

    若接收到,则基于所述指定485设备对应的通信协议,通过与所述指定485设备连接的485总线接口与所述指定485设备进行通信;

    若未接收到,则执行所述判断目标485设备距离上次通信结束的时间是否达到自身对应的预设的调度时间间隔的步骤。

    优选地,所述基于所述目标485设备对应的通信协议,通过与所述目标485设备连接的485总线接口与所述目标485设备进行通信具体为:

    基于所述目标485设备对应的通信协议,通过与所述目标485设备连接的485总线接口向所述目标485设备发送数据获取请求;

    判断在预设时段内是否接收到所述目标485设备的应答包;

    若是,解析所述应答包并调用对应的应答调度接口对解析后的所述应答包进行处理;

    若否,则终止与所述目标485设备进行通信。

    优选地,该数据通信方法还包括:

    判断所述调度时间间隔是否满足对应的预设修改条件;

    若满足,将满足对应的预设修改条件的所述调度时间间隔修改为临时时间间隔。

    优选地,所述预设修改条件包括从人机交互装置接收到的对于指定的所述调度时间间隔的修改指令以及机器人的特定状态。

    为解决上述技术问题,本发明还提供了一种数据通信装置,包括:

    第一判断模块,用于判断目标485设备距离上次通信结束的时间是否达到自身对应的预设的调度时间间隔,若达到,则触发通信模块;

    所述通信模块,用于基于所述目标485设备对应的通信协议,通过与所述目标485设备连接的485总线接口与所述目标485设备进行通信;

    其中,所述485总线接口同时与多个485设备连接。

    优选地,该数据通信装置还包括:

    第二判断模块,用于判断所述调度时间间隔是否满足对应的预设修改条件,若满足,则触发修改模块;

    所述修改模块,用于将满足对应的预设修改条件的所述调度时间间隔修改为临时时间间隔。

    为解决上述技术问题,本发明还提供了一种数据通信设备,包括:

    存储器,用于存储计算机程序;

    处理器,用于执行所述计算机程序时实现如上任一项所述数据通信方法的步骤。

    为解决上述技术问题,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述数据通信方法的步骤。

    本发明提供了一种数据通信方法,本申请首先将多个目标485设备连接在同一485总线接口上,由于每个485设备对应的数据具有不同的实时性要求,因此本申请为每个目标485设备都预先设置了对应的调度时间间隔,在目标485设备距离上次通信结束的时间达到自身对应的预设的调度时间间隔时候,便可以基于目标485设备对应的通信协议,通过与目标485设备连接的485总线接口与目标485设备进行通信,可以通过单独的一个485总线接口实现与多个具有不同通信协议的485设备的数据通信,提高了机器人上的485设备的挂载能力,有利于机器人的发展。

    本发明还提供了一种数据通信装置、设备及计算机可读存储介质,具有如上数据通信方法相同的有益效果。

    附图说明

    为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

    图1为本发明提供的一种数据通信方法的流程示意图;

    图2为本发明提供的一种数据通信装置的结构示意图;

    图3为本发明提供的一种数据通信设备的结构示意图。

    具体实施方式

    本发明的核心是提供一种数据通信方法,提高了机器人上的485设备的挂载能力,有利于机器人的发展;本发明的另一核心是提供一种数据通信装置、设备及计算机可读存储介质,提高了机器人上的485设备的挂载能力,有利于机器人的发展。

    为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

    请参考图1,图1为本发明提供的一种数据通信方法的流程示意图,该数据通信方法包括:

    步骤s1:判断目标485设备距离上次通信结束的时间是否达到自身对应的预设的调度时间间隔;

    具体的,考虑到上述背景技术中的技术问题,因此申请人设计了一种利用同一个485总线接口来实现多个485设备的数据通信的通信方案,这就要求首先要将多个目标485设备连接在同一485总线接口上,连接好之后便可以执行本发明实施例中的程序进行主控制器与各个目标485设备之间的通信过程。

    其中,由于主控制器在同一时间通过单独的一个485总线接口仅仅能够与单独的一个485设备进行通信,因此本发明实施例中采用分时复用的思想,通过单独的一个485总线接口在不同的时间分别执行各个485设备的通信过程,又考虑到每个485设备对于数据传输的实时性要求不同,例如有的485设备要求在每3秒便将自身数据传输给主控制器一次,而有的485设备可能每一分钟才需要将自身数据传输给主控制器一次,因此本发明实施例中为每个485设备预先设置了对应的调度时间间隔,因此就可以在目标485设备距离上次通信结束的时间是否达到自身对应的预设的调度时间间隔的时候触发一次数据通信的动作,本发明实施例中的判断结果可以作为后续步骤的触发条件。

    步骤s2:若达到,则基于目标485设备对应的通信协议,通过与目标485设备连接的485总线接口与目标485设备进行通信;

    其中,485总线接口同时与多个485设备连接。

    具体的,在目标设备距离上次通信结束的时间达到自身对应的预设的调度时间间隔时,则代表该目标设备需要进行下一次的数据通信,此时主控制器便可以通过与目标485设备连接的485总线接口与目标485设备进行通信即可,由于同一时间符合上述通信触发条件的目标485设备通常仅有1个,因此本发明实施例中可以顺利地通过单独的一个485总线接口实现与多个具有不同通信协议的485设备的数据通信,节省了接口数,提升了主控制器挂载485设备的能力。

    其中,多个可以进行自主设定,其需要符合485总线的相关要求,例如可以设置为20个等,本发明实施例在此不做限定。

    本发明提供了一种数据通信方法,本申请首先将多个目标485设备连接在同一485总线接口上,由于每个485设备对应的数据具有不同的实时性要求,因此本申请为每个目标485设备都预先设置了对应的调度时间间隔,在目标485设备距离上次通信结束的时间达到自身对应的预设的调度时间间隔时候,便可以基于目标485设备对应的通信协议,通过与目标485设备连接的485总线接口与目标485设备进行通信,可以通过单独的一个485总线接口实现与多个具有不同通信协议的485设备的数据通信,提高了机器人上的485设备的挂载能力,有利于机器人的发展。

    在上述实施例的基础上:

    作为一种优选的实施例,若达到,则基于目标485设备对应的通信协议,通过与目标485设备连接的485总线接口与目标485设备进行通信具体为:

    若达到,则判断当前同时达到自身对应的预设的调度时间间隔的目标485设备是否为多个;

    若不为多个,则直接基于目标485设备对应的通信协议,通过与目标485设备连接的485总线接口与目标485设备进行通信;

    若为多个,则按照预设优先级的顺序,基于目标485设备对应的通信协议,通过与目标485设备连接的485总线接口与目标485设备进行通信。

    具体的,考虑到虽然通常情况下同时符合“距离上次通信结束的时间达到自身对应的预设的调度时间间隔”这个条件的目标485设备的为1个,但是也存在多个目标485设备同时符合上述条件的可能性,为了在这种情况下能够顺利正常地进行主控制器与各个目标485设备之间的数据通信,本发明实施例中为各个485设备预先设置了优先级,在这种情况发生的时候,便可以按照预设优先级的顺序,并基于目标485设备对应的通信协议,通过与目标485设备连接的485总线接口与目标485设备进行通信,既实现了多个485设备的正常通信,又满足了实时性要求较高的485设备的优先通信要求。

    作为一种优选的实施例,判断目标485设备距离上次通信结束的时间是否达到自身对应的预设的调度时间间隔之前,该数据通信方法还包括:

    判断是否接收到指定485设备的抢先通信指令;

    若接收到,则基于指定485设备对应的通信协议,通过与指定485设备连接的485总线接口与指定485设备进行通信;

    若未接收到,则执行判断目标485设备距离上次通信结束的时间是否达到自身对应的预设的调度时间间隔的步骤。

    具体的,在前述方案中,本申请提供的是正常情况下的通信调度方案,但是在进行正常的通信调度的过程中,若上位机或者用户突然提出对于某个485设备中数据的紧急需求,那么便无需等待该485设备的预先调度时间间隔,可以在接收到对于指定485设备的抢先通信指令后,直接安排进行与该指定485设备的通信过程,并在通信结束后恢复正常地按照调度时间间隔进行数据通信的流程,顺利地满足了紧急的数据获取需求。

    其中,对于指定485设备的抢先通信指令可以是由多种设备发出的,例如可以为上位机发出的,也可以有用户通过人机交互装置发出等,本发明实施例在此不做限定。

    作为一种优选的实施例,基于目标485设备对应的通信协议,通过与目标485设备连接的485总线接口与目标485设备进行通信具体为:

    基于目标485设备对应的通信协议,通过与目标485设备连接的485总线接口向目标485设备发送数据获取请求;

    判断在预设时段内是否接收到目标485设备的应答包;

    若是,解析应答包并调用对应的应答调度接口对解析后的应答包进行处理;

    若否,则终止与目标485设备进行通信。

    具体的,由于每个目标485设备所采用的通信协议可能不同,因此本发明实施例中在与485设备进行通信的时候便需要基于目标485设备对应的通信协议发送数据获取请求,并且可以得到目标485设备反馈的应答包,在解析应答包的时候同样可以采用目标485设备对应的通信协议进行解析,为了方便对于不同类型485设备的应答包进行处理,本发明实施例中可以调用与应答包对应的应答调度接口对解析后的应答包进行处理,提高了主控制器对于各种不同应答包处理的稳定性以及效率。

    其中,考虑到任何一个目标485设备都可能存在无法通信的情况,例如由于故障或者被直接拔掉导致的无法通信的情况,在这种情况下主控制器不可能一直去等待该目标485设备反馈的应答包,因此本发明实施例中设置了预先时段,相当于超时时间间隔,若在预设时段内没有接收到目标485设备的应答包,则可以终止与目标485设备进行通信,便于主控制器与正常的485设备进行通信。

    其中,预设时段可以进行自主设定,例如设置为5s等,本发明实施例在此不做限定。

    作为一种优选的实施例,该数据通信方法还包括:

    判断调度时间间隔是否满足对应的预设修改条件;

    若满足,将满足对应的预设修改条件的调度时间间隔修改为临时时间间隔。

    具体的,考虑到某些情况下,485设备单一的调度时间间隔存在一些弊端,例如通常情况下由于电池电量不会出现瞬间跳变情况,因此我们通常情况下可以把电池电量获取设备的调度时间间隔配置为2分钟,而在特殊情况下,例如电池在充电时,为了更加及时地更新显示电量信息,我们可以在电池的充电状态下,把电池电量获取设备的调度时间间隔临时修改为500ms,满足了同一485设备不同的数据通信的实时性要求。

    作为一种优选的实施例,预设修改条件包括从人机交互装置接收到的对于指定的调度时间间隔的修改指令以及机器人的特定状态。

    具体的,用户可以主动通过人机交互装置对于指定485设备的于指定的调度时间间隔的修改指令,灵活性比较强,而在机器人的特性状态下,也可以将对应的调度时间间隔进行修改,例如上述提及的在充电状态下对电池电量获取设备的调度时间间隔修改为较短时间等,自动化程度较高。

    当然,除了上述提供的两种预设修改条件外,预设修改条件还可以为其他多种类型,本发明实施例在此不做限定。

    另外,值的一提的是,本发明实施例中的各种预设参数,例如预设调度时间间隔、预设时段以及应答调度接口等均可以以配备指标的形式框架进行处理,便于维护和扩展。

    请参考图2,图2为本发明提供的一种数据通信装置的结构示意图,该数据通信装置包括:

    第一判断模块1,用于判断目标485设备距离上次通信结束的时间是否达到自身对应的预设的调度时间间隔,若达到,则触发通信模块2;

    通信模块2,用于基于目标485设备对应的通信协议,通过与目标485设备连接的485总线接口与目标485设备进行通信;

    其中,485总线接口同时与多个485设备连接。

    作为一种优选的实施例,该数据通信装置还包括:

    第二判断模块,用于判断调度时间间隔是否满足对应的预设修改条件,若满足,则触发修改模块;

    修改模块,用于将满足对应的预设修改条件的调度时间间隔修改为临时时间间隔。

    对于本发明实施例提供的数据通信装置的介绍请参照前述的数据通信方法的实施例,本发明实施例在此不再赘述。

    请参考图3,图3为本发明的一种数据通信设备的结构示意图,该数据通信设备包括:

    存储器3,用于存储计算机程序;

    处理器4,用于执行计算机程序时实现如前述实施例中数据通信方法的步骤。

    对于本发明实施例提供的数据通信设备的介绍请参照前述的数据通信方法的实施例,本发明实施例在此不再赘述。

    本发明还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如前述实施例中数据通信方法的步骤。

    对于本发明实施例提供的计算机可读存储介质的介绍请参照前述的数据通信方法的实施例,本发明实施例在此不再赘述。

    本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

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

    对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。


    技术特征:

    1.一种数据通信方法,其特征在于,包括:

    判断目标485设备距离上次通信结束的时间是否达到自身对应的预设的调度时间间隔;

    若达到,则基于所述目标485设备对应的通信协议,通过与所述目标485设备连接的485总线接口与所述目标485设备进行通信;

    其中,所述485总线接口同时与多个485设备连接。

    2.根据权利要求1所述的数据通信方法,其特征在于,所述若达到,则基于所述目标485设备对应的通信协议,通过与所述目标485设备连接的485总线接口与所述目标485设备进行通信具体为:

    若达到,则判断当前同时达到自身对应的预设的调度时间间隔的所述目标485设备是否为多个;

    若不为多个,则直接基于所述目标485设备对应的通信协议,通过与所述目标485设备连接的485总线接口与所述目标485设备进行通信;

    若为多个,则按照预设优先级的顺序,基于所述目标485设备对应的通信协议,通过与所述目标485设备连接的485总线接口与所述目标485设备进行通信。

    3.根据权利要求2所述的数据通信方法,其特征在于,所述判断目标485设备距离上次通信结束的时间是否达到自身对应的预设的调度时间间隔之前,该数据通信方法还包括:

    判断是否接收到指定485设备的抢先通信指令;

    若接收到,则基于所述指定485设备对应的通信协议,通过与所述指定485设备连接的485总线接口与所述指定485设备进行通信;

    若未接收到,则执行所述判断目标485设备距离上次通信结束的时间是否达到自身对应的预设的调度时间间隔的步骤。

    4.根据权利要求1所述的数据通信方法,其特征在于,所述基于所述目标485设备对应的通信协议,通过与所述目标485设备连接的485总线接口与所述目标485设备进行通信具体为:

    基于所述目标485设备对应的通信协议,通过与所述目标485设备连接的485总线接口向所述目标485设备发送数据获取请求;

    判断在预设时段内是否接收到所述目标485设备的应答包;

    若是,解析所述应答包并调用对应的应答调度接口对解析后的所述应答包进行处理;

    若否,则终止与所述目标485设备进行通信。

    5.根据权利要求1至4任一项所述的数据通信方法,其特征在于,该数据通信方法还包括:

    判断所述调度时间间隔是否满足对应的预设修改条件;

    若满足,将满足对应的预设修改条件的所述调度时间间隔修改为临时时间间隔。

    6.根据权利要求5所述的数据通信方法,其特征在于,所述预设修改条件包括从人机交互装置接收到的对于指定的所述调度时间间隔的修改指令以及机器人的特定状态。

    7.一种数据通信装置,其特征在于,包括:

    第一判断模块,用于判断目标485设备距离上次通信结束的时间是否达到自身对应的预设的调度时间间隔,若达到,则触发通信模块;

    所述通信模块,用于基于所述目标485设备对应的通信协议,通过与所述目标485设备连接的485总线接口与所述目标485设备进行通信;

    其中,所述485总线接口同时与多个485设备连接。

    8.根据权利要求7所述的数据通信装置,其特征在于,该数据通信装置还包括:

    第二判断模块,用于判断所述调度时间间隔是否满足对应的预设修改条件,若满足,则触发修改模块;

    所述修改模块,用于将满足对应的预设修改条件的所述调度时间间隔修改为临时时间间隔。

    9.一种数据通信设备,其特征在于,包括:

    存储器,用于存储计算机程序;

    处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述数据通信方法的步骤。

    10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述数据通信方法的步骤。

    技术总结
    本发明公开了一种数据通信方法、装置、设备及计算机可读存储介质,本申请首先将多个目标485设备连接在同一485总线接口上,由于每个485设备对应的数据具有不同的实时性要求,因此本申请为每个目标485设备都预先设置了对应的调度时间间隔,在目标485设备距离上次通信结束的时间达到自身对应的预设的调度时间间隔时候,便可以基于目标485设备对应的通信协议,通过与目标485设备连接的485总线接口与目标485设备进行通信,可以通过单独的一个485总线接口实现与多个具有不同通信协议的485设备的数据通信,提高了机器人上的485设备的挂载能力,有利于机器人的发展。

    技术研发人员:李庆民;杨胜军;孙传佳
    受保护的技术使用者:创泽智能机器人集团股份有限公司
    技术研发日:2020.10.26
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-8471.html

    最新回复(0)