数据通信方法、装置、计算机设备及计算机可读存储介质转让专利

申请号 : CN202310816865.4

文献号 : CN116527439B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李必超卢文

申请人 : 广州疆海科技有限公司

摘要 :

本申请涉及一种数据通信方法、装置、计算机设备及计算机可读存储介质,应用于储能系统的主机,所述储能系统还包括从机,所述主机与所述从机基于CAN总线进行数据通信,所述方法包括:接收所述从机发送的心跳数据包,其中,所述心跳数据包包括所述从机的设备身份信息;解析所述心跳数据包,在本地存储所述从机的设备身份信息并向所述从机发送目标通信地址;根据预设信息优先级顺序从所述CAN总线接收所述从机发送的通信数据包,其中,所述通信数据包包括所述目标通信地址。本申请实施例基于CAN总线进行储能设备之间的数据传输,且通过为每一从机分配目标通信地址,按照优先级实现数据接收,有效提升了数据传输的效率及准确率。

权利要求 :

1.一种数据通信方法,其特征在于,应用于储能系统的主机,所述储能系统还包括从机,所述主机与所述从机基于控制器局域网总线进行数据通信,所述储能系统包括多个设备节点,其中,各设备节点具有对应的设备优先级,每一设备节点均配置有CAN控制器以及CAN收发器,所述CAN控制器通过所述CAN收发器连接CAN总线,所述主机的确定方式,包括:将所述储能系统中具有最高设备优先级的设备节点确定为主机;所述从机的确定方式,包括:将所述储能系统中除所述主机外的所述设备节点确定为从机;

所述方法包括:

接收所述从机发送的心跳数据包,其中,所述心跳数据包携带所述从机的设备身份信息;

解析所述心跳数据包,在本地存储所述从机的设备身份信息并向所述从机发送目标通信地址;

根据预设信息优先级顺序从所述控制器局域网总线接收所述从机发送的通信数据包,其中,所述通信数据包包括所述目标通信地址,所述心跳数据包和所述通信数据包的数据包长度均为8字节,所述心跳数据包和所述通信数据包的数据传输格式包括标识符、命令符以及设备地址;

所述解析所述心跳数据包,在本地存储所述从机的设备身份信息并向所述从机发送目标通信地址之后,所述方法还包括:接收所述从机发送的心跳数据包,其中,所述心跳数据包包括所述目标通信地址。

2.根据权利要求1所述的方法,其特征在于,所述根据预设信息优先级顺序从所述控制器局域网总线接收所述从机发送的通信数据包,包括:从所述控制器局域网总线接收所述从机发送的属于第一优先级的通信数据包;

从所述控制器局域网总线接收所述从机发送的属于第二优先级的通信数据包;

从所述控制器局域网总线接收所述从机发送的属于第三优先级的通信数据包;

从所述控制器局域网总线接收所述从机发送的属于第四优先级的通信数据包。

3.根据权利要求2所述的方法,其特征在于,所述方法还包括:

若所述通信数据包包括故障信息,则所述通信数据包属于第一优先级;

若所述通信数据包包括设备类型信息,则所述通信数据包属于第二优先级;

若所述通信数据包包括温度信息,将所述通信数据包确定为第三优先级;

若所述通信数据包不包括所述故障信息、所述设备类型信息以及所述温度信息中的任意一项,则所述通信数据包属于第四优先级。

4.一种数据通信方法,其特征在于,应用于储能系统的从机,所述储能系统还包括主机,所述主机与所述从机基于控制器局域网总线进行数据通信,所述储能系统包括多个设备节点,其中,各设备节点具有对应的设备优先级,每一设备节点均配置有CAN控制器以及CAN收发器,所述CAN控制器通过所述CAN收发器连接CAN总线,所述主机的确定方式,包括:将所述储能系统中具有最高设备优先级的设备节点确定为主机;所述从机的确定方式,包括:将所述储能系统中除所述主机外的所述设备节点确定为从机;

所述方法包括:

向所述主机发送心跳数据包,其中,所述心跳数据包携带所述从机的设备身份信息;

接收所述主机发送的目标通信地址;

根据所述目标通信地址生成通信数据包,并基于控制器局域网总线向所述主机发送所述通信数据包,其中,所述通信数据包包括所述目标通信地址,所述心跳数据包和所述通信数据包的数据包长度均为8字节,所述心跳数据包和所述通信数据包的数据传输格式包括标识符、命令符以及设备地址;

所述接收所述主机发送的目标通信地址之后,所述方法还包括:

向所述主机发送心跳数据包,其中,所述心跳数据包包括所述目标通信地址。

5.一种数据通信装置,其特征在于,应用于储能系统的主机,所述储能系统还包括从机,所述主机与所述从机基于控制器局域网总线进行数据通信,所述储能系统包括多个设备节点,其中,各设备节点具有对应的设备优先级,每一设备节点均配置有CAN控制器以及CAN收发器,所述CAN控制器通过所述CAN收发器连接CAN总线,所述主机的确定方式,包括:将所述储能系统中具有最高设备优先级的设备节点确定为主机;所述从机的确定方式,包括:将所述储能系统中除所述主机外的所述设备节点确定为从机;

所述装置包括:

第一接收模块,用于接收所述从机发送的心跳数据包,其中,所述心跳数据包携带所述从机的设备身份信息;

数据解析模块,用于解析所述心跳数据包,在本地存储所述从机的设备身份信息并向所述从机发送目标通信地址;

第二接收模块,用于根据预设信息优先级顺序从所述控制器局域网总线接收所述从机发送的通信数据包,其中,所述通信数据包包括所述目标通信地址,所述心跳数据包和所述通信数据包的数据包长度均为8字节,所述心跳数据包和所述通信数据包的数据传输格式包括标识符、命令符以及设备地址;

所述第一接收模块,还用于接收所述从机发送的心跳数据包,其中,所述心跳数据包包括所述目标通信地址。

6.一种数据通信装置,其特征在于,应用于储能系统的从机,所述储能系统还包括主机,所述主机与所述从机基于控制器局域网总线进行数据通信,所述储能系统包括多个设备节点,其中,各设备节点具有对应的设备优先级,每一设备节点均配置有CAN控制器以及CAN收发器,所述CAN控制器通过所述CAN收发器连接CAN总线,所述主机的确定方式,包括:将所述储能系统中具有最高设备优先级的设备节点确定为主机;所述从机的确定方式,包括:将所述储能系统中除所述主机外的所述设备节点确定为从机;

所述装置包括:

第一发送模块,用于向所述主机发送心跳数据包,其中,所述心跳数据包携带所述从机的设备身份信息;

地址接收模块,用于接收所述主机发送的目标通信地址;

第二发送模块,用于根据所述目标通信地址生成通信数据包,并基于控制器局域网总线向所述主机发送所述通信数据包,其中,所述通信数据包包括所述目标通信地址,所述心跳数据包和所述通信数据包的数据包长度均为8字节,所述心跳数据包和所述通信数据包的数据传输格式包括标识符、命令符以及设备地址;

所述第一发送模块,还用于向所述主机发送心跳数据包,其中,所述心跳数据包包括所述目标通信地址。

7.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述的数据通信方法的步骤。

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

说明书 :

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

技术领域

[0001] 本申请涉及储能设备技术领域,特别是涉及一种数据通信方法、装置、计算机设备及计算机可读存储介质。

背景技术

[0002] 现有的储能系统之间进行数据通信时,往往采用控制器局域网(Controller Area Network,简称CAN)协议来及实现数据交互,由于CAN协议不会对数据传输节点进行通讯编码,且储能设备使用CAN协议进行数据传输的方式通常为串口协议通信方式,不同储能系统在进行数据传输时,往往容易出现数据丢失以及发送错误等异常情况,影响储能系统之间的通信效率。
[0003] 因此,亟需一种能够提升储能系统通信效率的数据通信方案。

发明内容

[0004] 基于此,有必要针对上述技术问题,提供一种能够提升储能系统通信效率的数据通信方法、装置、计算机设备及计算机可读存储介质。
[0005] 第一方面,本申请提供了一种数据通信方法,应用于储能系统的主机,所述储能系统还包括从机,所述主机与所述从机基于控制器局域网总线进行数据通信,所述方法包括:
[0006] 接收所述从机发送的心跳数据包,其中,所述心跳数据包携带所述从机的设备身份信息;
[0007] 解析所述心跳数据包,在本地存储所述从机的设备身份信息并向所述从机发送目标通信地址;
[0008] 根据预设信息优先级顺序从所述控制器局域网总线接收所述从机发送的通信数据包,其中,所述通信数据包包括所述目标通信地址。
[0009] 在其中一个实施例中,所述储能系统包括多个设备节点,其中,各设备节点具有对应的设备优先级,所述主机的确定方式,包括:
[0010] 将所述储能系统中具有最高设备优先级的设备节点确定为主机;
[0011] 所述从机的确定方式,包括:
[0012] 将所述储能系统中除所述主机外的所述设备节点确定为从机。
[0013] 在其中一个实施例中,所述心跳数据包和所述通信数据包的数据包长度均为8字节,所述心跳数据包和所述通信数据包的数据传输格式包括标识符、命令符以及设备地址。
[0014] 在其中一个实施例中,所述根据预设信息优先级顺序从所述控制器局域网总线接收所述从机发送的通信数据包,包括:
[0015] 从所述控制器局域网总线接收所述从机发送的属于第一优先级的通信数据包;
[0016] 从所述控制器局域网总线接收所述从机发送的属于第二优先级的通信数据包;
[0017] 从所述控制器局域网总线接收所述从机发送的属于第三优先级的通信数据包;
[0018] 从所述控制器局域网总线接收所述从机发送的属于第四优先级的通信数据包。
[0019] 在其中一个实施例中,所述方法还包括:
[0020] 若所述通信数据包包括故障信息,则所述通信数据包属于第一优先级;
[0021] 若所述通信数据包包括设备类型信息,则所述通信数据包属于第二优先级;
[0022] 若所述通信数据包包括温度信息,将所述通信数据包确定为第三优先级;
[0023] 若所述通信数据包不包括所述故障信息、所述设备类型信息以及所述温度信息中的任意一项,则所述通信数据包属于第四优先级。
[0024] 在其中一个实施例中,所述解析所述心跳数据包,在本地存储所述从机的设备身份信息并向所述从机发送目标通信地址之后,所述方法还包括:
[0025] 接收所述从机发送的心跳数据包,其中,所述心跳数据包包括所述目标通信地址。
[0026] 第二方面,本申请还提供了一种数据通信方法,应用于储能系统的从机,所述储能系统还包括主机,所述主机与所述从机基于控制器局域网总线进行数据通信,所述方法包括:
[0027] 向所述主机发送心跳数据包,其中,所述心跳数据包包括所述从机的设备身份信息;
[0028] 接收所述主机发送的目标通信地址;
[0029] 根据所述目标通信地址生成通信数据包,并基于控制器局域网总线向所述主机发送所述通信数据包,其中,所述通信数据包包括所述目标通信地址。
[0030] 第三方面,本申请还提供了一种数据通信装置,应用于储能系统的主机,所述储能系统还包括从机,所述主机与所述从机基于控制器局域网总线进行数据通信,所述装置包括:
[0031] 第一接收模块,用于接收所述从机发送的心跳数据包,其中,所述心跳数据包包括所述从机的设备身份信息;
[0032] 数据解析模块,用于解析所述心跳数据包,在本地存储所述从机的设备身份信息并向所述从机发送目标通信地址;
[0033] 第二接收模块,用于根据预设信息优先级顺序从所述控制器局域网总线接收所述从机发送的通信数据包,其中,所述通信数据包包括所述目标通信地址。
[0034] 第四方面,本申请还提供了一种数据通信装置,应用于储能系统的从机,所述储能系统还包括主机,所述主机与所述从机基于控制器局域网总线进行数据通信,所述装置包括:
[0035] 第一发送模块,用于向所述主机发送心跳数据包,其中,所述心跳数据包包括所述从机的设备身份信息;
[0036] 地址接收模块,用于接收所述主机发送的目标通信地址;
[0037] 第二发送模块,用于根据所述目标通信地址生成通信数据包,并基于控制器局域网总线向所述主机发送所述通信数据包,其中,所述通信数据包包括所述目标通信地址。
[0038] 第五方面,本申请还提供了一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现第一方面或第二方面所述的数据通信方法的步骤。
[0039] 第六方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面或第二方面所述的数据通信方法的步骤。
[0040] 上述数据通信方法、装置、计算机设备及计算机可读存储介质,应用于储能系统的主机,所述储能系统还包括从机,所述主机与所述从机基于CAN总线进行数据通信,所述方法包括:接收所述从机发送的心跳数据包,其中,所述心跳数据包包括所述从机的设备身份信息;解析所述心跳数据包,在本地存储所述从机的设备身份信息并向所述从机发送目标通信地址;根据预设信息优先级顺序从所述CAN总线接收所述从机发送的通信数据包,其中,所述通信数据包包括所述目标通信地址。本申请实施例基于CAN总线进行储能设备之间的数据传输,且通过为每一从机分配目标通信地址,按照优先级实现数据接收,有效提升了数据传输的效率及准确率。

附图说明

[0041] 图1为一个实施例中数据通信方法的应用环境图;
[0042] 图2为一个实施例中储能系统的结构示意图;
[0043] 图3为一个实施例中应用于储能系统主机的数据通信方法的流程示意图;
[0044] 图4为一个实施例中根据预设信息优先级顺序接收通信数据包的步骤流程示意图;
[0045] 图5为一个实施例中应用于储能系统从机的数据通信方法的流程示意图;
[0046] 图6为一个实施例中应用于储能系统主机的数据通信装置的结构框图;
[0047] 图7为一个实施例中应用于储能系统从机的数据通信装置的结构框图;
[0048] 图8为一个实施例中计算机设备的内部结构图。

具体实施方式

[0049] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0050] 除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
[0051] 可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一电阻称为第二电阻,且类似地,可将第二电阻称为第一电阻。第一电阻和第二电阻两者都是电阻,但其不是同一电阻。
[0052] 可以理解,以下实施例中的“连接”,如果被连接的电路、装置、单元等相互之间具有电信号或数据的传递,则应理解为“电连接”、“通信连接”等。
[0053] 在此使用时,单数形式的“一”、“一个”和“所述/该”也可以包括复数形式,除非上下文清楚指出另外的方式。还应当理解的是,术语“包括/包含”或“具有”等指定所陈述的特征、整体、步骤、操作、组件、部分或它们的组合的存在,但是不排除存在或添加一个或更多个其他特征、整体、步骤、操作、组件、部分或它们的组合的可能性。
[0054] 在一个实施例中,提供了一种数据通信方法,应用于如图1所示的储能系统中。如图1所示,储能系统包括主机和多个从机,主机与各从机基于控制器局域网(Controller Area Network,简称CAN)通信连接。
[0055] 其中,储能系统还与预设终端进行通信连接,用于从预设终端获取交互指令,并根据预设终端发送的交互指令执行相应的通信动作。举例来说,储能系统从预设终端获取升级指令后,根据预设终端发送的升级指令执行相应的固件升级处理。主机设备与预设终端之间的通信连接方式可以为蓝牙连接,也可以为WIFI连接,本实施例对此不作具体限定。预设终端包括但不限于手机、个人电脑、机器人或者智能可穿戴设备等。
[0056] 在实际应用过程中,预设终端与云端之间进行通信交互,云端按照预设协议打包存储在云端的数据或程序,根据预设终端发送的指令与预设终端或储能系统进行信息交互,其中,预设协议的类型可以根据实际应用场景进行自适应选择。另外,储能系统的主机在接收预设终端发送的指令后,与云端之间进行通信交互,以获取云端发送的数据包,其中,云端也可以称为云端服务器或云计算平台,云端用于基于硬件资源和软件资源的服务,提供计算、网络和存储能力。
[0057] 具体的,如图1所示,从机包括从机a、从机b、从机c和从机d等4个从机,各从机均可以控制独立的储能模块。需知的,从机的数量可以根据实际应用场景进行设置,此处仅作为示例说明,不作具体限定。
[0058] 在一个实施例中,如图2所示,储能系统包括n个设备节点,其中,每一设备节点对应一个储能设备,n为正整数。
[0059] 具体的,储能系统在启动上电后,根据各设备节点的设备类型确定各设备节点的设备优先级,其中,设备类型包括太阳能板、最大功率点追踪控制太阳能控制器(Maximum Power Point Tracking,简称MPPT)、逆变器、智能插座、储能电池、储能电池加电包等,举例来说,设备优先级的排列顺序为MPPT、逆变器、储能电池及智能插座,在设置主机时,优先将MPPT设置为主机。
[0060] 需知的,不同设备类型的优先级可以根据实际应用场景进行自适应配置,本实施例对此不作限定。
[0061] 将具有最高设备优先级的设备节点设置为主机,设置完主机后,其余设备节点均会被配置为从机。举例来说,如图2所示,若设备节点1具有最高设备优先级,则储能系统在启动上电后,自动将所述设备节点1设置为主机,将设备节点2‑n设置为从机。
[0062] 在具体实施例中,具有最高设备优先级的设备节点可以为多个,此时,随机选择具有最高设备优先级的任一设备节点设置为主机,并将主机外的其余设备节点设置为从机。举例来说,若设备节点1和设备节点2均具有最高设备优先级,则储能系统在启动上电后,随机选择设备节点1或设备节点2作为主机,将其余设备节点设置为从机。需知的,若选择设备节点2作为主机,则设备节点1及设备节点3‑n均为从机。
[0063] 储能系统确定主机和从机后,主机和从机基于CAN总线进行信息通信,具体的,如图2所示,主机和从机均配置有CAN控制器及CAN收发器,CAN控制器通过发送管脚CAN_Tx和接收管脚CAN_Rx与CAN收发器连接,CAN收发器基于高字节管脚CAN_High和低字节管脚CAN_Low与CAN总线连接。
[0064] 在CAN总线上发送数据包时,需通过CAN控制器将需要发送的报文转换为预设的CAN帧,再通过CAN收发器进行数据传输。预设的CAN帧由预设数据传输格式和数据包的数据内容组成。
[0065] 在实际应用过程中,本申请实施例中的CAN控制器将按照预设的数据传输格式控制主机和从机基于CAN总线进行通信传输。具体的,预设的数据传输格式如表1所示:
[0066] 表1
[0067]
[0068] 具体的,本实施例中的主机和从机在进行数据包传输时,均按照表1所述的数据传输格式CAN ID进行传输。
[0069] 本实施例中的标识符包括的信息为设备类型和信息优先级。在实际应用过程中,主机和从机中均配置有相应的设备信息数据库,设备信息数据库用于存储对应设备类型的各类信息以及对应设备类型的各类信息的信息优先级。需知的,不同设备类型的设备的信息优先级不同。
[0070] 本实施例中的命令符包括心跳包命令、信息发送命令、读取参数命令、设置参数命令、地址分配命令以及关机控制命令等。举例来说,各种命令符的定义方式可以如表2所示:
[0071] 表2
[0072]
[0073] 其中,本实施例在传输数据包时,可以按照前述命令的执行优先级进行相应的传输,本实施例对此不作限定。
[0074] 本实施例中的设备地址为生成相应数据包的储能设备的设备地址,在一个实施例中,主机的设备地址默认为0,从机的设备地址默认为0xff。
[0075] 本实施例还将CAN总线传输的数据包长度设置为8个字节,以便于缩短数据包的长度,提高CAN总线上的数据传输效率。
[0076] 在一个实施例中,如图3所示,提供了一种数据通信方法,以该方法应用于图1中的储能系统为例进行说明,包括以下步骤:
[0077] 步骤301,接收所述从机发送的心跳数据包,其中,所述心跳数据包携带所述从机的设备身份信息。
[0078] 具体的,确定储能系统中的主机和从机后,从机开始向主机发送心跳数据包,以使主机确认各从机的设备状态。
[0079] 心跳数据包携带从机的设备身份信息,设备身份信息为储能设备出厂时设置好的识别信息,具有唯一性。
[0080] 在实际应用过程中,从机发送的心跳数据包的数据组成可以如表3所示:
[0081] 表3
[0082]
[0083] 在实际应用过程中,数据包的数据内容包括一个字节的设备地址以及一个字节的信息起始地址,其中,设备地址为产生该数据包的设备的地址,在实际应用过程中,主机的设备地址默认为0,从机未被主机分配目标通信地址前的设备地址默认为0xff,从机被主机分配目标通信地址后的设备地址为目标通信地址,信息起始地址用于表示该数据包的数据长度,指示CAN控制器从数据包的某一位置开始读取内容。需知的,本实施例中的数据包固定为8个字节,信息起始地址可以被设置为N*6。
[0084] 在具体实施例中,心跳数据包的数据内容包括电池组电压、电池组电流、荷电状态(State of Charge,简称SOC)、电池类型、电池组容量、电池组实时允许充电电流、电池组单节最低电压、电池组单节最高电压、电池充电功率、电池放电功率、电池组串联数、电池组并联数、电芯温度1、电芯温度2、电芯温度3、电芯温度4、金属‑氧化物半导体场效应晶体管(Metal‑Oxide‑Semiconductor Field‑Effect Transistor,简称MOSFET或MOS管)温度检测1、MOS管温度检测2、电池管理系统(Battery Management System,简称BMS)环境温度、电池故障码、电池告警码以及BMS保护状态等。
[0085] 当命令符为数据包命令时,从机将以8字节的数据包大小,连续发送多个数据包至CAN总线,直至发送完心跳数据包的全部数据内容。
[0086] 需知的,各数据内容的数据包打包转换方式可以根据实际应用场景进行自适应配置,本实施例对此不作限定。
[0087] 步骤302,解析所述心跳数据包,在本地存储所述从机的设备身份信息并向所述从机发送目标通信地址。
[0088] 具体的,主机在开始接收心跳数据包时,先根据心跳数据包携带的设备身份信息确认从机身份信息。若主机本地已包括从机身份信息,说明主机已与从机进行过数据交互,主机此时无需为从机发送目标通信地址。若主机本地不包括从机身份信息,说明主机未与从机进行过数据交互,主机此时向从机发送目标通信地址,从机后续按照目标通信地址发送数据包。
[0089] 本实施例通过根据从机的设备身份信息为从机分配目标通信地址的方式,有效解决了CAN无法识别节点数据地址的问题,提升了基于CAN总线进行数据通信的储能系统的可扩展性。
[0090] 在其中一个实施例中,所述解析所述心跳数据包,在本地存储所述从机的设备身份信息并向所述从机发送目标通信地址之后,所述方法还包括:
[0091] 接收所述从机发送的心跳数据包,其中,所述心跳数据包包括所述目标通信地址。
[0092] 具体的,从机在接收主机发送的目标通信地址后,将默认的设备地址0xff替换为目标通信地址,并继续发送当前命令符作用下的数据包。若当前命令符为心跳包命令,则从机将心跳数据包中的设备地址修改为目标通信地址后,继续发送心跳数据包的剩余数据内容。
[0093] 步骤303,根据预设信息优先级顺序从所述控制器局域网总线接收所述从机发送的通信数据包,其中,所述通信数据包包括所述目标通信地址。
[0094] 在具体实施例中,通信数据包的数据内容可以是命令符为心跳包命令、信息发送命令、读取参数命令、设置参数命令、地址分配命令以及关机控制命令等任一命令下传输的数据包。
[0095] 在实际应用过程中,不同命令符下进行传输的数据内容不同,可以根据预设的数据内容表生成相应的通信数据包。
[0096] 举例来说,在信息发送命令下,传输的通信数据包的数据内容包括BMS软件版本号、BMS硬件版本号、放空剩余时间、充满剩余时间、电池组充放电剩余时间、第1串电池电压、第2串电池电压、第3串电池电压、第4串电池电压、第5串电池电压、第6串电池电压、第7串电池电压、第8串电池电压、第9串电池电压、第10串电池电压、第11串电池电压、第12串电池电压、第13串电池电压、第14串电池电压、第15串电池电压和第16串电池电压等。
[0097] 在读取参数命令和设置参数命令下,传输的通信数据包的数据内容包括电池组设计容量、CAN波特率、单体过冲保护电压、单体过冲保护解除电压、单体过放保护电压、单体过放保护解除电压、总体过冲保护电压、总体过冲保护解除电压、总体过放保护电压、总体过放保护解除电压、充电过流保护电流、放电过流1保护电流、放电过流1保护延时、放电过流2保护电流、放电过流2保护延时、均衡开启电压、开启压差、休眠电压、延迟时间、电池充满截止电压、电池充满截止电流、电池包编码等。
[0098] 在地址分配命令中,传输的通信数据包的数据内容包括地址信息以及设备身份信息。在关机控制命令中,传输的通信数据包的数据内容包括地址信息。需知的,当通信数据包的数据内容不足8字节时,将添加空值组成相应格式的数据包进行数据传输。
[0099] 对于前述通信数据包,从机在发送通信数据包时,根据通信数据包的数据内容以及本地的设备信息数据库确定通信数据包的信息优先级,并添加至标识符中。
[0100] 主机在读取对应命令符下的通信数据包时,按照标识符指示的信息优先级依次读取数据通信包,从而使得主机能够快速读取优先级更高的数据内容,提升储能系统的通信效率。需知的,信息优先级的设置可以根据实际应用场景的需要进行自适应配置,以进一步优化储能系统的通信效率。
[0101] 上述数据通信方法中,主机在接收心跳数据包的过程中,基于设备身份信息为从机分配目标通信地址,有效提升了基于CAN进行通信的储能系统的扩展性,能够在储能系统中添加更多的设备节点进行数据交互。主机还按照预设信息优先级顺序读取CAN总线上的通信数据包,能够进一步提升储能系统的数据通信效率。
[0102] 在一个实施例中,如图4所示,步骤303包括:
[0103] 步骤3031,从所述控制器局域网总线接收所述从机发送的属于第一优先级的通信数据包。
[0104] 步骤3032,从所述控制器局域网总线接收所述从机发送的属于第二优先级的通信数据包。
[0105] 步骤3033,从所述控制器局域网总线接收所述从机发送的属于第三优先级的通信数据包。
[0106] 步骤3034,从所述控制器局域网总线接收所述从机发送的属于第四优先级的通信数据包。
[0107] 在具体实施例中,按照通信数据包的数据内容将通信数据包划分为四个优先级顺序,主机在接收通信数据包时,依次按照第一优先级、第二优先级、第三优先级和第四优先级的顺序进行数据接收,以保障数据传输的效率及容错率。
[0108] 在其中一个实施例中,所述方法还包括:
[0109] 若所述通信数据包包括故障信息,则所述通信数据包属于第一优先级;
[0110] 若所述通信数据包包括设备类型信息,则所述通信数据包属于第二优先级;
[0111] 若所述通信数据包包括温度信息,将所述通信数据包确定为第三优先级;
[0112] 若所述通信数据包不包括所述故障信息、所述设备类型信息以及所述温度信息中的任意一项,则所述通信数据包属于第四优先级。
[0113] 在具体实施例中,将包括故障信息的通信数据包的信息优先级设置为第一优先级。举例来说,若心跳数据包的数据内容包括电池故障码、电池告警码以及BMS保护状态中的任意一个,将此心跳数据包的信息优先级设置为第一优先级。
[0114] 将包括设备类型信息的通信数据包的信息优先级设置为第二优先级。举例来说,若心跳数据包的数据内容包括电池类型,将此心跳数据包的信息优先级设置为第二优先级。
[0115] 将包括温度信息的通信数据包的信息优先级设置为第三优先级。举例来说,若心跳数据包的数据内容包括电芯温度1、电芯温度2、电芯温度3、电芯温度4、MOS管温度检测1和MOS管温度检测2中的任意一个,将此心跳数据包的信息优先级设置为第三优先级。
[0116] 若通信数据包的数据内容中没有故障信息、设备类型信息和温度信息,则将此通信数据包的信息优先级设置为第四优先级。
[0117] 本申请通过将包括故障信息的通信数据包设置为第一优先级,能够使得主机在从机出现故障时能够第一时间进行读取,从而有效提升了储能系统进行数据通信的容错性。通过将包括设备类型信息和温度信息的通信数据包的优先级提前,能够更进一步的提升CAN总线上资源的判断和利用效率,从而便于主机进行多功能判断,提升储能系统的通信效率。
[0118] 如图5所示,本申请还提供了一种数据通信方法,应用于如图1所示的储能系统的从机,数据通信方法包括:
[0119] 步骤S501,向所述主机发送心跳数据包,其中,所述心跳数据包包括所述从机的设备身份信息。
[0120] 步骤S502,接收所述主机发送的目标通信地址。
[0121] 步骤S503,根据所述目标通信地址生成通信数据包,并基于控制器局域网总线向所述主机发送所述通信数据包,其中,所述通信数据包包括所述目标通信地址。
[0122] 具体的,从机执行的数据通信方法的具体实施方式可以参考前述方法实施例中主机执行的数据通信方法的具体实施例,此处不作赘述。
[0123] 需知的,在一些实施例中,储能系统中的从机也可以作为主机进行使用,即从机作为接收数据通信包的主体,从机接收数据通信包的方式与前述方法实施例中主机接收数据通信包的方式一致,此处不作赘述。
[0124] 综上所述,本申请提出了一种数据通信方法,不仅通过主机根据从机的设备身份信息为从机配置目标通信地址的方式,提升了储能系统的可扩展性,还通过从机基于故障信息、设备类型、温度信息等数据内容,为通信数据包添加信息优先级,主机基于信息优先级接收通信数据包的方式,提升了储能系统的通信效率及通信容错率。
[0125] 应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0126] 基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据通信方法的数据通信装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据通信装置实施例中的具体限定可以参见上文中对于数据通信方法的限定,在此不再赘述。
[0127] 在一个实施例中,如图6所示,提供了一种数据通信装置600,包括:第一接收模块610、数据解析模块620和第二接收模块630,其中:
[0128] 第一接收模块610,用于接收所述从机发送的心跳数据包,其中,所述心跳数据包包括所述从机的设备身份信息;
[0129] 数据解析模块620,用于解析所述心跳数据包,在本地存储所述从机的设备身份信息并向所述从机发送目标通信地址;
[0130] 第二接收模块630,用于根据预设信息优先级顺序从所述控制器局域网总线接收所述从机发送的通信数据包,其中,所述通信数据包包括所述目标通信地址。
[0131] 在其中一个实施例中,所述第二接收模块630,具体用于所述根据预设信息优先级顺序从所述控制器局域网总线接收所述从机发送的通信数据包,包括:从所述控制器局域网总线接收所述从机发送的属于第一优先级的通信数据包;从所述控制器局域网总线接收所述从机发送的属于第二优先级的通信数据包;从所述控制器局域网总线接收所述从机发送的属于第三优先级的通信数据包;从所述控制器局域网总线接收所述从机发送的属于第四优先级的通信数据包。
[0132] 如图7所示,提供了一种数据通信装置700,包括:第一发送模块710、地址接收模块720、第二发送模块730,其中:
[0133] 第一发送模块710,用于向所述主机发送心跳数据包,其中,所述心跳数据包包括所述从机的设备身份信息;
[0134] 地址接收模块720,用于接收所述主机发送的目标通信地址;
[0135] 第二发送模块730,用于根据所述目标通信地址生成通信数据包,并基于控制器局域网总线向所述主机发送所述通信数据包,其中,所述通信数据包包括所述目标通信地址。
[0136] 综上,本申请提出了一种数据通信装置,不仅通过主机根据从机的设备身份信息为从机配置目标通信地址的方式,提升了储能系统的可扩展性,还通过从机基于故障信息、设备类型、温度信息等数据内容,为通信数据包添加信息优先级,主机基于信息优先级接收通信数据包的方式,提升了储能系统的通信效率及通信容错率。
[0137] 上述数据通信装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0138] 在一个实施例中,提供了一种计算机设备,该计算机设备可以是储能设备,其内部结构图可以如图8所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种数据通信方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0139] 本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0140] 在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
[0141] 接收所述从机发送的心跳数据包,其中,所述心跳数据包携带所述从机的设备身份信息;
[0142] 解析所述心跳数据包,在本地存储所述从机的设备身份信息并向所述从机发送目标通信地址;
[0143] 根据预设信息优先级顺序从所述控制器局域网总线接收所述从机发送的通信数据包,其中,所述通信数据包包括所述目标通信地址。
[0144] 在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0145] 接收所述从机发送的心跳数据包,其中,所述心跳数据包携带所述从机的设备身份信息;
[0146] 解析所述心跳数据包,在本地存储所述从机的设备身份信息并向所述从机发送目标通信地址;
[0147] 根据预设信息优先级顺序从所述控制器局域网总线接收所述从机发送的通信数据包,其中,所述通信数据包包括所述目标通信地址。
[0148] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read‑Only Memory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random AccessMemory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0149] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0150] 以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。