在电力自动化及新能源集控领域,目前缺乏一套从零设计、原生支持多主站并行采集且完全配置化的IEC104主站采集系统。现有方案要么是硬编码式的单主站采集程序,扩展性差;要么是半配置化产品,新增主站仍需修改代码或重启服务。更为关键的是,物模型管理(遥测、遥信、遥控、遥调)、主站配置、连接情况与实时数据这四类信息在现有工具中相互割裂,没有任何系统能够将它们原生整合在一个统一的、可联动的诊断视图下。因此,本立项旨在从零构建一套全新系统,彻底解决多主站场景下配置难、监控散、排障慢的产品级空白问题。
随着新型电力系统建设的推进,一个地调或集控中心往往需要同时接入数十个乃至上百个IEC104子站(如光伏电站、风电场、变电站),且新站接入频率越来越高。现场业务要求系统具备开箱即用的多主站并行采集能力,所有主站的通信参数(IP、端口、公共地址、传送原因)、物模型点位映射、采集周期等均需通过全配置化方式完成,无需任何代码改动或服务重启。同时,运维人员在日常对点调试、故障排查时,必须能够在一个界面内快速查看任意主站的配置详情、当前TCP连接状态、链路质量以及各点位的实时刷新值。然而,行业内长期缺乏这样一款原生一体化的产品,导致实际运维工作严重依赖多工具拼凑和人工经验。本系统将填补这一空白,为电力行业提供首个真正意义上“配置即采集、所见即所得”的IEC104主站采集解决方案。
本项目包含以下六大核心功能模块:物模型管理模块(含遥测、遥信、遥控、遥调)、多主站配置管理模块、连接监控与状态查询模块、实时数据查看模块、采集调度引擎模块以及系统日志与告警模块。这些模块相互协同,共同构建一个完全配置化、支持多主站并行采集的统一平台。
物模型管理模块负责定义和管理每个接入主站下的遥测、遥信、遥控、遥调点位模型,包括点位名称、数据类型、系数偏移、读写权限等属性,形成标准化的设备抽象层。多主站配置管理模块支持通过界面或配置文件完全动态地增删IEC104主站,每个主站可独立设置IP地址、端口号、公共地址、传送原因、心跳间隔等通信参数,所有变更实时生效无需重启服务。连接监控与状态查询模块实时展示每个主站的TCP链路状态(连接、断开、重连中)、APCI序列号收发计数、报文流量统计以及最后活动时间,支持按主站维度快速筛选。实时数据查看模块按照物模型组织方式,展示每个主站下所有遥测、遥信点的当前值、质量戳和时间戳,支持手动刷新与自动轮播。采集调度引擎模块基于配置信息并行管理多个IEC104主站的采集任务,负责报文编解码、断线重连、死连接检测以及遥控遥调指令的下发执行。
本人全面负责该IEC104主站采集系统从零到一的整体设计与核心开发工作。具体包括:基于Python Flask框架构建后端服务,设计并实现支持完全配置化的多主站采集调度引擎,完成IEC104规约的报文编解码与通信链路管理;开发物模型管理模块,定义遥测、遥信、遥控、遥调的数据结构与存储模型;基于Vue 3构建主站配置管理、连接状态监控及实时数据查看的前端交互界面;同时负责系统整体架构设计、数据库表结构设计、RESTful API接口定义以及各模块间的联调与性能优化。
技术栈与架构:后端采用Python 3.10 + Flask 3.x框架,利用asyncio实现多主站并行采集时的异步非阻塞通信。IEC104规约编解码层基于自研的报文解析器,支持APCI和ASDU的完整解析。数据存储采用Json文件方式管理主站配置和物模型定义,使用Redis缓存实时遥测遥信值以支持快速查询。整体采用分层架构,包括通信接入层(asyncio)、业务服务层(物模型映射、配置管理)及数据访问层,支持Docker容器化部署。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!

下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论