第1章:系统需求分析——功能需求与非功能需求
大家好,我是老张。做储能监控系统这些年,踩过的坑比吃过的盐还多。今天咱们聊聊系统需求分析,这是整个方案的根基。根基不稳,后面全是白搭。
我记得刚入行那会儿,有个项目急着上线,需求文档写得马马虎虎。结果呢?上线第一天,告警系统就炸了——误报率高达40%。运维兄弟半夜被叫起来,差点没把我骂死。从那以后,我养成了一个习惯:需求分析阶段,宁可多花一周,绝不赶一天。
2.1 功能需求:三大核心模块
储能电站监控系统,说白了就干三件事:看数据、报异常、做操作。我习惯把它们拆成三个模块来讲。
2.1.1 数据采集
数据采集是系统的眼睛。眼睛瞎了,后面啥都别谈。
采集什么数据?我列个表,大家看看:
| 数据类型 | 具体参数 | 采集频率 | 备注 |
|---|---|---|---|
| 电气参数 | 电压、电流、功率、频率 | 100ms | PCS和BMS都需要 |
| 电池状态 | SOC、SOH、单体电压、温度 | 1s | 重点关注单体一致性 |
| 环境参数 | 温湿度、烟感、水浸 | 5s | 消防联动用 |
| 运行状态 | 开关状态、运行模式、故障码 | 事件触发 | 变化才上报 |
这里有个坑,我必须要说。采集频率不是越高越好。我曾经有个项目,把电压采集设成了10ms一次。结果呢?数据量太大,数据库直接撑爆了。后来改成100ms,配合变化上报,问题就解决了。
2.1.2 告警管理
告警系统是电站的神经。神经要敏感,但不能过敏。
我一般把告警分成三级:
- 一级告警(紧急):电池热失控、短路、绝缘故障。需要立即停机,声光报警。
- 二级告警(重要):SOC过低、单体压差过大、通信中断。需要运维人员2小时内处理。
- 三级告警(一般):温度偏高、功率波动、数据异常。记录日志,定期巡检。
告警处理这块,我建议加个告警抑制功能。为什么?你想想看,一个电池簇出问题,可能同时触发几十条告警。如果不做抑制,运维人员根本分不清主次。我习惯的做法是:同类告警只显示第一条,后续的自动归并。
2.1.3 控制操作
控制是系统的双手。但双手不能乱动,得听指挥。
控制功能主要包括:
- 远程启停:启动/停止PCS、BMS、空调等设备
- 模式切换:手动模式、自动模式、调度模式
- 参数设置:充放电功率、SOC限值、保护阈值
- 紧急停机:一键切断所有设备,优先级最高
这里我要强调一点:控制操作必须有权限管理。我曾经见过一个项目,操作员误点了紧急停机,整个电站停了半小时。后来我们加了双人确认机制——操作必须两个人同时确认才能执行。
2.2 非功能需求:三个硬指标
功能需求是"做什么",非功能需求是"做得怎么样"。后者往往比前者更难满足。
2.2.1 实时性
储能电站对实时性的要求,比普通工业系统高得多。为什么?因为电池的反应速度是以毫秒计的。
我一般这样定义实时性指标:
| 指标项 | 要求 | 说明 |
|---|---|---|
| 数据采集延迟 | <200ms | 从传感器到数据库 |
| 告警响应时间 | <500ms | 从事件发生到界面显示 |
| 控制指令延迟 | <100ms | 从点击到设备执行 |
| 界面刷新频率 | 1s | 关键数据实时更新 |
嗯,这里要注意。实时性不是越快越好。我见过有人把界面刷新设成100ms,结果CPU占用率飙到90%,其他功能全卡死了。合理的做法是:关键数据高频刷新,非关键数据低频刷新。
2.2.2 可靠性
可靠性是储能系统的生命线。一个不可靠的监控系统,比没有监控更可怕——因为它会给你虚假的安全感。
我总结了几条可靠性设计原则:
- 冗余设计:关键设备双机热备,通信链路双路冗余
- 故障自愈:系统能自动检测故障,并尝试恢复
- 数据持久化:所有数据实时写入数据库,防止丢失
- 离线缓存:网络中断时,本地缓存数据,恢复后自动同步
2.2.3 安全性
安全性分两层:功能安全和信息安全。
功能安全,说白了就是防止系统误操作导致事故。我习惯的做法是:
- 控制指令加校验码,防止通信错误
- 操作日志全记录,谁做了什么一清二楚
- 紧急停机按钮独立于主系统,物理隔离
信息安全,主要是防黑客。储能电站一旦被攻击,后果不堪设想。我建议:
- 系统部署在专用网络,不连公网
- 所有通信加密,用TLS 1.2以上
- 用户权限分级,最小权限原则
- 定期安全审计,打补丁
2.3 典型用户场景
光说需求太抽象,咱们来看几个真实场景。
场景一:日常巡检
运维人员小张每天早上第一件事,就是打开监控系统看数据。他关心的是:昨晚有没有告警?SOC是否正常?设备运行状态如何?系统要能给他一个一键巡检功能,把所有关键数据汇总到一个页面。
场景二:异常处理
凌晨三点,系统突然弹出告警:3号电池簇温度异常。运维值班人员老李被叫醒。他需要:查看告警详情、定位故障设备、远程降功率运行、通知现场人员处理。整个过程要在5分钟内完成。
场景三:调度响应
电网调度中心发来指令:要求储能电站15分钟内增加5MW出力。值班员小王需要在监控系统上:确认当前可用容量、调整充放电策略、下发控制指令、监控执行结果。系统要能一键响应,自动计算最优策略。
2.4 知识体系总览
说了这么多,咱们用一张图来总结一下本章的核心内容:
这张图把功能需求和非功能需求的关系讲得很清楚。功能需求是骨架,非功能需求是血肉。两者缺一不可。
好了,本章的内容就到这里。需求分析这块,我建议大家多花点时间。前期想得越细,后期改得越少。记住一句话:需求分析省下的时间,都会在开发阶段加倍还回来。
公众号:蓝海资料掘金营,微信deep3321