能源控制器模组管理系统设计

(整期优先)网络出版时间:2021-12-16
/ 3

能源控制器模组管理系统设计

魏巍 舒畅 全巧艳 菅利彬 吴戈

(国电南瑞科技股份 有限公司 江苏南京 211106)

摘要:介绍了能源控制器模组管理器的设计方法,包括模组识别,插拔管理,链路协商,程序升级等。模组管理器对上隐藏了设备适配的复杂过程,对下管理着各种型式的功能模组,是高级应用APP与各模组之间的桥梁,使能源控制器各APP与功能模组能够协调工作。

关键词:能源控制器;模组

中图分类号:TM933 文献标识码:B 文章编号:

Design of ECU Module Management System

Wei wei

NARI Technology Co., Ltd., Nanjing, Jiangsu 211106

Abstract: This paper introduces the design method of energy controller module management system, including module identification, plug management, link negotiation, program upgrade, etc. The module management system hides the complex process of equipment adaptation on the top and manages various types of functional modules on the bottom. It is a bridge between the advanced application app and each module, so that the energy controller app and functional modules can work in coordination.

Key words: ECU; Function module


0 引言

国网用电信息采集终端虽然历经两次迭代,但其可扩展模块的数据接口仍然为异步串行接口型式[1,2],导致其通用性、可扩展性不高,不能满足各网省公司差异化的需求。针对这些问题,国网营销部和中国智能量测联盟提出了基于模组化外型的能源控制器,其设计以"模块化、平台化"作为基础设计思路,将485通信、遥信遥脉等功能模块设计成统一电气接口,统一外型尺寸的模组。模组均采用USB接口,支持热插拔。模组功能不仅包含原营销旗下的用户侧抄表、防窃电等业务,还包含配电侧计量与感知设备等业务的功能。能源控制器在面对不同应用场景时,只需配置相应的功能模组,最大限度又经济合理地满足用户的要求。

模组管理系统就是对能源控制器所配置的模组进行集中管理,统一调度,它可以实现模组的热插拔侦测和管理,驱动调用,链路协商,固件升级等。模组管理器对高级APP隐藏了模组底层交互的细节,减少了高级应用对底层驱动的关注度,是高级应用与硬件的桥梁。

  1. 模组管理硬件框架

模组具有通用性、互换性和协议一致性。一次最多可以安装5 个外接功能模组,同时支持多个同类型模组组合使用。能源控制器可以根据现场业务需求与多种功能模组配置组合使用,如二次回路巡检模组、遥信脉冲模组、CAN通信模组等等。模组电源通过usb hub获取,对于功率较大的模组,独立供给。给功能模组供电的电源,每一路都能通过软件进行单独控制。前两路模块接口额外提供强电耦合接口用来给载波等模块提供信道物理通路。模组与主电路的接口采用统一规范接口。模组硬件框架如图 1所示。

61baa07777b63_html_7e2e16b01a4280c8.gif

图 1 模组硬件框架

  1. 标准化驱动接口

能源控制器在应用层和内核驱动层之间采用了标准化的硬件驱动接口——HAL,包括HAL框架和模块HAL驱动链接库。HAL对上层应用隐藏了不同模块的具体实现细节,统一了上层程序调用模块设备驱动时的接口。HAL对模块硬件进行了抽象,可以将一类硬件抽象成一类模块,也可以将多类硬件抽象成一类模块。各模块的HAL驱动库的实现里对模块名、模块动态链接库命名、库存放路径等需进行一定的约定。例如:将虚拟端口映射后约定统一存放在/tmp/dev文件夹下,名称约定为usb_exmN_M,其中N为模组槽位号,从左到右依次为1、2…,M为模组虚拟口序号,依次为0、1、2…。

61baa07777b63_html_bcb28fb0660f090c.gif

图 2 HAL统一接口框架

  1. 模组管理软件功能

模组管理APP是能源控制器的基础APP之一,主要有以下功能:

  1. 管理物理端口与模块的对应关系,不同物理接口上插入同类型或不同类型的模组,可对模组进行类型识别,并对同类型的模组的物理顺序进行管理,实现逻辑端口与物理端口的映射关系[2]

  2. 管理与所有模组的管理通道的数据交互,实现模组的通用操作如重启、初始化等,以及模组信息查询,转发其它应用与控制命令通道的数据;

  3. 负责对模组进行状态监控,异常可自动恢复,支持对模组的在线升级;

模组管理APP对模组进行识别的流程如图 3所示。

61baa07777b63_html_ee0e29da46d0683c.gif

图 3模组识别流程

    1. 模组热插拔状态探测

能源控制器的模块需要支持热插拔,在现场使用过程中也存在着在线更换的需求。模组管理器需要快速准确地探测到每个槽位上的模组状态,以便及时通知上层应用。由于模组与能源控制器之间的接口是USB型式,模组管理APP应能识别到USB设备的断开与连接。可以通过Linux系统的sysfs的节点设备信息来获取USB设备热插拔信息。由于《功能模组接口协议》规定了模组的USB枚举信息中VID定义为0x3C93,PID为0xFFFF[3],因此本文采用通过linux的dmesg信息来获取相关模组的热插拔信息。Linux的dmesg信息提供了模组的槽位号和占用的串口号。当由模组插入或拔出,模组管理APP及时通过MQTT消息发出模组插拔事件通知。

图片 1

图 4插入检测


    1. 模组链路协商

功能模组的USB接口实现为USB复合口,每一个子设备接口对应一个虚拟通道,功能模组子设备接口特征及数量由功能模组定义,虚拟通道1对应子设备接口1,为管理通道,其他虚拟通道为数据传输通道。

当某个槽位由模块插入后,模组管理APP识别出该模块的接口类型和功能配置,然后通过管理通道与模块进行链路协商,获取模块的生产厂商、模块型号等信息。一旦链路协商完毕,模组管理app可以基于协商后的通信模式进行数据传输以及控制命令传输,例如对模块进行对时、复位、初始化等操作。

以下是槽位1上本地通讯模块的链路协商成功的实例报文交互:

send to module:68 18 00 42 04 01 00 0A 0A 6D 61 70 4D 61 6E 61 67 65 72 04 4E 41 52 49 10 00 10 00 00 AF A0 16

read:slot 1

recv from module:68 4B 00 C2 04 81 00 01 1E 47 42 48 31 33 2D 53 43 44 43 56 31 31 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1E 31 30 30 30 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 00 08 00 01 02 01 00 01 02 3D 11 16

    1. 模组对时

链路协商后,模块主动向能源控制器请求系统时钟,能源控制器回复给模组当前时钟信息。交互报文如下。

send to module:68 0E 00 42 02 03 01 00 19 07 E5 03 19 04 09 25 13 01 DB 13 7D 16

recv from mdl:68 04 00 C2 02 83 01 00 00 7F DE 16

    1. 模组软件升级

模组管理APP支持对模块进行远程升级。由远程模块接收到的升级包经过模组管理app下发给对应的模块,并能够在传输过程中支持断点续传,并实时监控升级包传输状态。当由于信号干扰等原因导致升级失败,会自动回滚到原有版本。

  1. 与其他应用APP的交互

这里以本地通信管理APP为例,介绍能源控制器中应用APP与模组管理APP的交互。本地通信管理APP启动后,先向模组管理APP查询所有槽位信息,在返回的结果中寻找模组功能配置为2的模组槽位号。在功能模组接口协议中,2代表模组类型为电力宽带载波,该模组的虚拟通道工作模式为ACM。假设槽位号为1,虚拟通道号为2,则该模组对应的设备名为usb_exm1_2。在本地通信管理APP中打开该设备,获取设备描述符,就可以与电力宽带载波模组进行正常串行通信了。可以看出有了模组管理系统,应用程序获取所需功能模组设备非常简单,流程如图 3所示。

61baa07777b63_html_1b3cb92b4ac2bdbb.gif

图 5 应用APP打开模组设备流程


61baa07777b63_html_96165cae6506d4bd.png

图 6模组识别信息


  1. 结束

能源控制器的模组管理系统将能源控制器各功能模组集中统一管理,使得高级业务应用程序与模块设备底层驱动之间实现了最大程度地解耦,提高了程序的健壮性、扩展性、可维护性。如果同时接入配用电相关功能模组, 将集中器和配变终端合二为一,可降低台区设备采购成本,同时减少设备维护工作量,节约运维成本[4]。配备模组管理系统的能源控制器为建立模组化、互动化、智能化的采集终端奠定了基础。


参考文献

  1. Q GDW 1375.1-2013 电力用户用电信息采集系统型式规范 第1部分:专变采集终端型式规范[S].

  2. Q GDW 1375.2-2013 电力用户用电信息采集系统型式规范 第2部分:集中器型式规范[S].

  3. T/SMI 1017.4—2021,能源控制器软件及接口技术规范 第4部分:功能模组接口协议[S].

  4. 冯海舟 徐永胜 田慧敏 刘明媚,基于容器技术的营配融合终端设计,信息技术与信息化 2020,(05),111-113

作者简介:

魏巍(1978-),男,江苏南京,高级工程师,硕士研究生,研究方向:用电信息采集。

舒畅(1985-),男,湖北黄冈,高级工程师,硕士研究生,研究方向:用电信息采集系统,智能电能表。

全巧艳(1984-),女,河北石家庄,高级工程师,硕士研究生,研究方向:用电信息采集。

菅利彬(1985-),男,河北邢台,高级工程师,硕士研究生,研究方向:用电信息采集。

吴戈(1986-),男,江苏淮安,中级工程师,硕士研究生,研究方向:用电信息采集。