• 头条台区智能终端数据集采APP的设计和实现
    2022-01-07 作者:田星星 李龙龙 等  |  来源:《电气技术》  |  点击率:
    分享到:
    导语台区智能终端是智慧物联网中的边缘设备,满足高性能并发、大容量存储、多采集对象的需求,是集配电台区供用电信息采集、电能表数据收集和设备状态监测等功能于一体的智能化终端。科大智能电气技术有限公司的研究人员田星星、李龙龙、王瑞,在2021年第2期《电气技术》上撰文,针对台区智能终端中各种数据集采的需求,设计一种用于数据准确按时采集的APP,实现方式是通过任务配置,把全台区设备的不同数据,按时采集并上送到数据中心。此APP可以解决抄读通道冲突、同一数据重复采集等问题,提高了台区智能终端的数据集采性能。

    台区智能终端适应智能配电台区的发展应运而生,智能配电台区有别于传统配电台区,传统配电台区电力用户仅仅使用电力,不会向电网输电。随着我国人民生活水平日益提高,绿色用电逐渐成为新的课题,百姓利用自家空间搭建太阳能电池板,满足自己用电的同时,把余电输送到电网,所以配电台区也做了相应的调整。保证电网的稳定运行,降低电力用户的年停电时间,提高供电质量也推动了配电台区的发展,催生了智能配电台区的诞生。

    台区智能终端是智能配电台区的核心设备,能够获取智能配电台区所有设备的相关运行参数和数据,其中包括高压侧电压、电流,低压侧电压、电流,变压器油温、环境湿度,低压智能断路器和低压换向开关状态,电力用户的用电量和电压、电流,智能电容器和充电桩等设备的工作状态。

    采集到如此多的数据后,台区智能终端可以实现电压、电流越限告警、无功功率就地平衡、治理三相不平衡、计算台区线损、研判并上报台数故障信息等功能,为电力系统的运行管控提供所需的数据和边缘计算能力。

    由此可知台区智能终端采集的设备多样,有以下3个特点:

    • 规约类型多,主要有DL/T 645—1997/2007、Q/GDW 11778—2017和《剩余电流动作保护器通信规约》。
    • 采集的数据项多,不仅有常规的电压、电流、功率和电能量等,还有温度、湿度、断路器状态、无功补偿器状态和充电桩数据等。
    • 设备被抄通道多样,有485总线、微功率无线、电力线载波、CAN总线等。并且整个智能配电台区的设备数量大,一般台区电力用户电能表数量在400只左右,加上低压感知设备、换向开关和断路器等,总体设备估计500个左右。智能配电台区是国网运检、营销业务的交合点,为了支持两个业务部门的日常工作,台区智能终端需要把台区设备数据同时按需上报到两个部门。

    由以上特点,设计一个APP统一采集所有设备数据是一个很好的方案,此APP只负责采集数据,可以有效避免不同需求方抄同一数据的通道阻塞和设备阻塞。

    1 数据集采APP整体设计

    数据集采APP的核心设计思路是按照任务配置准时把设备数据采集到数据中心,供台区智能终端内其他APP使用。为了降低APP风险和适合项目团队开发,按照正交性设计原理,把此APP划分为5个功能专一的模块,每个模块是一个独立的线程运行,模块之间使用消息队列遥测传输协议(message queuing telemetry transport, MQTT)交互数据。

    图1为数据集采APP整体设计方案,任务调度模块为数据集采APP的主控模块,数据中心为任务方案参数和数据存储模块,串口模块、交采模块和载波模块为通道管理模块。

    台区智能终端数据集采APP的设计和实现

    图1 数据集采APP整体设计

    数据集采APP的主要处理流程是任务调度模块负责从数据中心读取任务方案,管理每个任务的执行时间和逻辑,当任务处于运行时间中,组织抄读报文,并按照设备通道类型发给相应的通道管理模块。通道管理模块回复后,任务调度模块解析数据,并把解析后的数据传给数据中心。

    2 关键技术研究

    2.1 MQTT

    程序设计一般都采用模块化设计,这样可以降低风险,有问题的代码区域容易被隔离起来,例如串口模块的代码有问题,只需要把此模块暂时屏蔽,整个数据集采APP依然可以正常运行。模块化设计会带来模块间通信难的问题,在研究了管道、信号量、共享内存等方式后,最后选择了MQTT。

    MQTT是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通信协议。使用发布/订阅消息模式,提供一对多的消息发布,可以解除模块间的耦合。MQTT有3种消息发布服务质量:至多一次、至少一次和只有一次。其中只有一次方式非常适合数据集采APP中各个模块间的通信,任务调度模块发给管理通道的报文保证管理通道能够收到,返回的报文也能保证任务调度模块能够收到,从而保证了模块间的同步。

    2.2 数据中心

    数据集采APP需要具备同时与运检类APP和营销类APP的交互能力,同时还要防止相同任务反复执行,造成通道或设备阻塞,导致数据采集执行不成功,影响台区智能终端功能的正常运行。

    为了解决这个问题,设计上采用数据中心思想,把任务方案和数据封装一个单独模块处理,此模块就是数据中心。数据中心负责与运检类APP和营销类APP交互,这两类APP把需要采集的数据组成任务方案发给数据中心,数据中心接收后审查对比,重复的任务和无法执行的任务直接回复否认,不予存储,保证数据采集正常运行。

    任务调度模块执行任务方案时,不区分任务为哪类APP下发的,按照优先级从高到低执行,执行后把数据发给数据中心,数据中心统一处理,这样可以保证相同数据的唯一性,并可以给两类APP同时使用。台区智能终端具有边缘计算的能力,使用数据中心方式,能够很好地为各种边缘计算APP提供数据支撑。

    3 模块软件设计

    3.1 任务调度模块设计

    任务调度模块主导着整个数据集采APP的运行,此模块启动时,载入任务方案相关参数,这些参数包括采集设备信息、采集任务、普通采集方案,具体参数项见表1。其中采集设备信息内的用户类型是1~255的整数,其用途是根据设备类型、电力用户类型和重点用户情况综合分类,在配置采集方案时可以实现不同用户类型采集不同的数据,采集频率和存储深度也可以区分,满足运维和营销的灵活数据采集的需求。

    台区智能终端数据集采APP的设计和实现

    表1 任务调度模块需要载入的任务方案

    任务方案载入之后,轮询任务、组织报文、发送报文、等待报文和解析报文,最后传数据到数据中心,这是任务调度模块的整体流程,详细流程如图2所示。所有任务每秒都轮询一遍,保证任务状态切换时间不超过1s,确保任务按时执行和结束。

    台区智能终端的3种数据采集物理通道中RS 485通道和载波通道都存在报文收发失败的情况,尤其载波通道,它容易受到电网电流、谐波和噪声的影响,导致报文收发失败的概率变大。

    为了消除通道报文收发失败造成采集失败的情况,在任务调度模块内加入自动补抄功能。具体原理是每个任务开始采集数据时,先向数据中心查待抄数据项的存储情况,然后只组织没有存储的数据项报文,去除不必要抄读的报文,提高效率。

    通道管理模块把所有要抄报文回复后,更新数据,判断补抄轮次是否小于限制,若小于限制,则重新启动此任务。若所有数据项全部抄回,则任务结束;若没有全部抄回,则继续补抄。当补抄轮次达到限制,任务结束。具体自动补抄流程如图3所示。

    台区智能终端数据集采APP的设计和实现

    图2 任务调度模块整体运行流程图

    台区智能终端数据集采APP的设计和实现

    图3 任务调度模块自动补抄流程图

    3.2 串口模块设计

    按照数据集采APP的整体设计,串口模块需具备报文转发和管理功能:

    • 1)任务调度模块请求抄读的报文,此模块按照转发请求发到对应RS 485通道或RS 232通道,串口参数可配。
    • 2)按照等待时间,等待通道对应的设备回复报文,设备回复超时,回复任务调度模块为空报文。
    • 3)支持任务调度模块批量请求抄读报文,并按优先级从高到底执行。
    • 4)串口模块管理的所有RS 485通道和RS 232通道能够实现并行收发,使采集效率达到最大化。

    基于以上4个具体功能,图4为串口模块接口的详细定义。

    台区智能终端数据集采APP的设计和实现

    图4 串口模块接口定义

    另外两个通道管理模块虽然管理的通道类型不同,但设计思路与串口模块一致,并且与任务调度模块的接口一致,使用JSON格式。故此文不再对载波模块和交采模块做详细介绍。

    4 测试验证

    按照以上整体和分模块的设计,在Linux下编写代码,搭建数据集采APP,然后在一个典型的使用环境中验证此APP的功能。选定的配电台区中需要采集的设备信息见表2。

    针对以上设备数据采集有多种方式,但为了验证数据集采APP的功能,配置以下4个基本采集任务。

    1)所有电表和交流采样的日冻结任务,数据项有正向有功电能示值和反向有功电能示值。

    台区智能终端数据集采APP的设计和实现

    表2 配电台区需要采集的设备信息

    2)三相表的15min曲线任务,数据项有三相电压、电流和有功功率。

    3)单相表的1h曲线任务,数据项有单相电压和电流。

    4)断路器和电容器的实时数据采集任务,数据项有投合状态、电压和电流。

    设备信息和采集任务配置后,数据集采APP按配置任务自动抄表,采集数据后传到数据中心,通过698.45维护软件和104维护软件召测的部分数据见表3和表4。

    台区智能终端数据集采APP的设计和实现

    表3 交流采样和部分电表日冻结数据b

    通过表3的数据可知,交流采样数据在00:00:05就采集并存储完成,电表的日冻结在00:05:00之后才陆续采集回来,是由于电表的日冻结任务延迟5min执行,留出电表冻结数据的时间,确保一次采集成功率。表4是智能断路器的实时数据,表中写的是漏保,是因为漏保是智能断路器的一种。

    台区智能终端数据集采APP的设计和实现

    表4 断路器实时数据

    通过测试验证,本文设计的数据集采APP能够采集整个配电台区的设备数据,并能根据任务灵活配置,达到台区智能终端的微应用APP的需求。

    5 结论

    根据台区智能终端的数据采集需求,本文设计了一种能对智能配电台区所有设备进行数据集采的APP,在实际现场应用中,此APP能够采集设备的电压、电流、电能示值、低压智能断路器和电容器的状态等,同时可以通过数据中心把数据上送到营销和运检的主站中,解决了台区智能终端所有设备数据集采和数据上送的难题。

    遵循此APP的设计方案,方便扩展接入水表、气表、热表、局放、水侵和烟感等感知设备,可以支撑智能配电台区朝着全面感知和分级智能的方向发展。本文设计的APP是根据补抄周期和次数的方式进行自动补抄的,还有另一种方案是补抄一轮,优先级降低一级,但不限制补抄次数,这种方式理论上更能保证数据采集的成功率,但需要以后的实验验证。

    本文编自2021年第2期《电气技术》,论文标题为“台区智能终端数据集采APP的设计和实现”,作者为田星星、李龙龙 等。