docs(产品需求·屏板链路): 提交用户的两处删除,并把删除留下的引用衔接补平

删除由用户本人在并行会话里做,本笔按「整理并收工提交」指令代提交;
Lead 只做引用衔接与形态整理,未改其结论。

产品需求设计文档 §2.4.1 范围外表删掉「屏板(板件本体)」一行后,X 表实为
X1 双核分工 / X2 工具链 / X3 一次设备接口 / X4 独立计量通道。正文里 14 处
仍按旧号引用(旧 X4 指一次设备、旧 X5 指电度、X1~X5、X4 / X5、X1~X3 等),
已逐处按新号改写;变更记录里 v1.2 / v1.3 等历史行按「冻结不回改」保留旧号
(口径 docs/编号规范.md §5.5)。

两处依赖「屏板本体是范围外项」的表述随之改写:屏板链路已从范围外项移入
范围内待做(规格 §5.16,执行规划 docs/任务规划/屏板链路.md),主机侧链路与
参考 1:1 同构、不属替代方案;不在本仓实现的只剩屏板板件硬件本体(独立工程
DTU-LCD)。§9.1 解除表的「算力 / 形态」行同步去掉对已删行的引用。

屏板链路.md:§0 风险表删掉「250 kbps 收发器上限」(已解除)与「PA10 未接线」
(已撤销)两行后,剩余两项重编号为 1、2;表格单元补一个空格成「竖线 空格 号」
形态,与全仓表格写法一致。

验证(实测,纯文档不涉及构建与真机):check_doc_links --all --sections-strict
通过(210 个文档);check_ids --strict 校验 1~6 无错误,可判定 7006/8039 =
87.15%(基线 86.0%),不可判定 1033 处(上限 1166;本笔 +3 来自改写后的号提及);
check_bom_drift / check_mojibake / check_coding_standard 与 git diff --check
均 rc=0。
This commit is contained in:
2026-10-28 11:48:12 +08:00
parent 155bd5e1e8
commit e94ce92c9f
2 changed files with 23 additions and 44 deletions
+21 -40
View File
@@ -171,34 +171,15 @@ flowchart LR
|---|---|---|---|---|
| X1 | 双核 ARM + DSP 分工 | OMAP-L138(ARM 跑通信/HMI,DSP 跑保护) | 单核 Cortex-M4F 按任务划分承担 | 芯片形态 |
| X2 | 实时操作系统与工具链 | VxWorks 5.x + CCS | FreeRTOS V10.3.1 + Keil ARMCC | 平台形态 |
| X3 | 就地屏板(**板件本体**) | 专用屏板:主机侧**无任何屏 / 键 GPIO**,屏与键全在独立板件上(**RS-485 屏板通道为主 + TCP 7003 镜像**,§5.16) | 不产屏板:只实现**主机侧链路**(串口屏板通道 + TCP 7003 推流 + 按键回注);**屏板通道独立立项,不随 §5.10 冻结** | 交付物形态(屏板非本产品交付范围) |
| X4 | 一次设备接口 | KO / KI 板卡(出口、开入、硬压板) | V0.1 无该硬件(§4.6 H3) | 硬件缺失 |
| X5 | 独立计量通道 | 专用计量芯片(电度) | 无(跨转换器无同刻,§4.6 H1) | 硬件缺失 |
| X3 | 一次设备接口 | KO / KI 板卡(出口、开入、硬压板) | V0.1 无该硬件(§4.6 H3) | 硬件缺失 |
| X4 | 独立计量通道 | 专用计量芯片(电度) | 无(跨转换器无同刻,§4.6 H1) | 硬件缺失 |
> **X1~X5 是范围外项的全部。** 除此以外**不存在"参考有、我们决定不做"的能力**——
> v1.1 曾把故障录波、开入开出、多规约、SNTP 等列为"非本期/不做",与 1:1 复刻口径冲突,
> 本版已全部改为"未开始"并入 §9。
>
> ⚠ **X3 口径更正(2026-10-28)**:v1.3 及更早把参考写成"**板载** LCD + 按键",据此把本产品的
> 远端推流说成"等价替代"——**这是错的,两处都错**。参考工程源码里主机侧**没有任何屏 / 键的 GPIO 访问**:
> `KeyGet()` / `WriteScreenByByte()` / `LCD_LED_Update()` / `getRs485Key()` / `anyNewKey()`
> 这 5 个"碰硬件"的函数**全树只有声明、没有实现**(由屏板 BSP 库提供);按键轮询函数名就叫
> `Key_Rs485_Process()`(注释"轮询从485传来的按键值");屏板插槽号 `CN_SLOT_DISP = 0`
> (注释"显示板插槽号固定为0")。即:**参考的屏和键同样在一独立板件上、同样靠链路传输**。
> 本产品与参考**同构**,不是替代;落在范围外的只有那块**屏板硬件本身**。完整复刻规格见 §5.16。
>
> **多色显示不在本表内(不是范围外能力)**:参考与本产品**都是单色链路**——
> 参考 `CN_RDISP_TYPE_MONO = TRUE`、`CN_RDISP_MEMSIZE = (X>>3)*Y`,本产品屏板 1 bpp。
> 7003 `INIT` 里那 13 B 颜色字段(颜色位 + RGB 三色)是参考遗留的**死常量**,
> `RDisp_LcdColor_To_Mono()` 在单色构建下也是**空转**。本产品**直接删除这 13 B**
> (INIT 由 29 B → **16 B**,§5.16.5),**不属于"决定不做"的能力**。
> **X1~X4 是范围外项的全部。** 除此以外**不存在"参考有、我们决定不做"的能力**—
### 2.5 1:1 复刻基线(参考源码能力清单)
**判定口径**:本节所有"参考能力"的数字,**一律从参考工程源码的常量表与模块文件中直接统计**,
不引用参考项目自带的 `docs/` 与 `项目分析文档/`——那些是二手描述,与源码存在偏差
**判定口径**:本节所有"参考能力"的数字,**一律从参考工程源
(实测已发现"89 个元件模块"实为 45 个、定值"约 260 项"实为 249 项两处偏差)。
每行均标注"源码出处",可原样复核。
#### 2.5.1 复刻基线三要素
@@ -217,8 +198,8 @@ flowchart LR
| 4 | 遥测 YC | `APP/EquipCfg/Const_Ana.c` `g_tYcIndexTab` | **31 点** | 9 点(`0x4011~0x4018` + `0x401D`) | 🔶 |
| 5 | 遥测模型 | 同上 `g_tAnaModelTab` | 35 行 | 0 | ⬜ |
| 6 | 电度 YM | 同上 `g_tYmIndexTab` | **8 种** | 0 | ⬜ |
| 7 | 开入 KI | `APP/EquipCfg/Const_IO.c` `g_tInputModelTab` | **138 点** | 0(无硬件,X4) | ⬜ |
| 8 | 开出 KO | 同上 `g_tOutputModelTab` | **31 点** | 0(无硬件,X4) | ⬜ |
| 7 | 开入 KI | `APP/EquipCfg/Const_IO.c` `g_tInputModelTab` | **138 点** | 0(无硬件,X3) | ⬜ |
| 8 | 开出 KO | 同上 `g_tOutputModelTab` | **31 点** | 0(无硬件,X3) | ⬜ |
| 9 | 动作事件 | `APP/EquipCfg/Const_Rec.c` `g_tActRecTab` | **33 条**(421~453) | 7 类记录(`App/log/sys_log.h`) | 🔶 |
| 10 | 录波测量通道 | 同上 `g_tMeasureModelTab` | **65 通道** | 0 | ⬜ |
| 11 | 软压板 | `APP/EquipCfg/Const_Soft.c` `g_tSoftTab` | **9 面**(表容量 32) | 1 面(`PS_GLOBAL_EN`) | 🔶 |
@@ -232,7 +213,7 @@ flowchart LR
| 19 | 双核分工 | `CLS100_Arm/`、`CLS100_Dsp/` | ARM + DSP | 单核(X1) | — |
| 20 | 远端屏与按键链路 | `HMI/RemoeDisp/RemoDispBus.c`、`HMI/Dsp/Key.c`、`HMI/Dsp/Disp_Pub.c`;屏板侧 `DTU-LCD` | **串口屏板通道**(显存 3200 B + **状态灯 4 B 位掩码**下行 / 键号上行)+ **TCP 7003 镜像** | 7003 四命令已通;**串口屏板通道整条缺失**(协议已按屏板源码定版,见 §5.16.2);INIT 应答 8 B(参考 29 B,其中 13 B 颜色信息**不对齐**)、无断点续传、无链路监视、缺 F1/F2 | 🔶 |
> **读法**:🔶 / ⬜ 行**全部是待办**,逐条对应 §9.1;`—` 只出现在 X1~X5 不可移植项上。
> **读法**:🔶 / ⬜ 行**全部是待办**,逐条对应 §9.1;`—` 只出现在 X1~X4 不可移植项上。
> 本表是范围判定的唯一出处,§9 不再重复解释"为什么缺"。
#### 2.5.3 104 地址空间(段基址逐字对齐)
@@ -347,9 +328,9 @@ tTimer_NoUI 无压无流判据(CN_
| 归因 | 涉及条目 | 解除方式 |
|---|---|---|
| **外部资源**(标准源、端子变比) | 定值标定、保护判据解卡 | 两点标定(§9.2 第 4 步) |
| **硬件缺失**(X4 / X5) | 开入 138、开出 31、电度 8、同期、三相通道 | V0.2 硬件 |
| **硬件缺失**(X3 / X4) | 开入 138、开出 31、电度 8、同期、三相通道 | V0.2 硬件 |
| **立项未排** | 录波、多规约、SNTP、记录 5 页、定值铺开 | 按 §9.2 顺序 |
| **算力 / 形态**(X1~X3) | 双核分工、VxWorks、屏板本体 | 不解除;其中 **X3 的主机侧链路已 1:1 同构**(§5.16),不属"替代方案" |
| **算力 / 形态**(X1 / X2) | 双核分工、VxWorks | 不解除。**屏板链路已从范围外项移入范围内待做**(规格 §5.16,执行规划 docs/任务规划/屏板链路.md):主机侧链路与参考 1:1 同构,不属"替代方案" |
> **结论**:本产品与参考产品的差距**全部是"进度"而非"范围"**——没有一项是"参考有而我们不做"。
> 已对齐的是**软件骨架**(采样节拍、相量算法、定值模型、104 上行、SOE 落盘、自检闭锁);
@@ -969,7 +950,7 @@ sequenceDiagram
|---|---|---|
| 多主站 / 双链路冗余 | 单连接 socket 语义;后连优先需 net 层扩展 | 规模型 |
| 归一化值 / 标度化值上送 | 点表要求短浮点(系数 1),无需另做 | 不适用 |
| 双点遥信带时标 | V0.1 双点恒 IV,无意义 | 随开入硬件(X4) |
| 双点遥信带时标 | V0.1 双点恒 IV,无意义 | 随开入硬件(X3) |
| 定值区切换 / 定值文件下装 | 产品未定义多定值区(参考有 4 区) | 规模型 |
| 文件传输(目录 / 读文件 / 录波) | 录波子系统未开始 | 规模型 |
| 固有参数 `8001H~800AH` | 字符串类无法短浮点上送 | 规模型 |
@@ -982,7 +963,7 @@ sequenceDiagram
> **全树只有声明、没有实现**(由屏板 BSP 库提供);按键轮询函数名即 `Key_Rs485_Process()`
> (注释"轮询从485传来的按键值");屏板插槽号 `CN_SLOT_DISP = 0`(注释"显示板插槽号固定为0")。
> 结论:**屏和键都在一块独立的屏板板件上,主机只负责"送帧 + 收键"**。本产品与参考同构,
> 唯一落在范围外的是那块**屏板硬件本身**(§2.4.1 X3)。
> 不在本仓实现的只剩那块**屏板板件硬件本体**(独立工程 DTU-LCD);主机侧"送帧 + 收键"链路是**范围内待做**(§5.16)。
>
> **两条通道,串口为主、网络为镜像**:参考把**同一份显存**同时喂给两个出口——**串口屏板通道**
> (`LCD_LED_Update` 变化驱动 + `WriteScreenByByte` 500 ms 兜底)和**网络显示总线**(TCP 7003)。
@@ -1646,12 +1627,12 @@ mac=00:00:00:00:00:00
| `4012` / `4013` / `4016~4018` | `1Ub`/`1Uc`/`1Ib`/`1Ic`/`1I0` | 快照(STM32 侧,削顶) | ❌ 恒 IV |
| `4019~401C` | `1P`/`1Q`/`1S`/`1Pf` | 需跨转换器同刻 | ❌ 恒 IV(V0.2) |
| `401D` | `1f` 频率 | 测频结果 | ✅(未收敛则 IV) |
| `4010` / `401E` / `401F` | `UBA` 后备电源 / `V1`/`V2` 直流 | 无硬件通道 | ❌ 未入表(X4) |
| `4010` / `401E` / `401F` | `UBA` 后备电源 / `V1`/`V2` 直流 | 无硬件通道 | ❌ 未入表(X3) |
> **与参考的差额**:参考 `g_tYcIndexTab` 共 **31 点**——双回线各三相电流/电压(12)、双回线各三组
> 线电压(6)、双回零序电流/电压(3)、频率(1)、直流 2 路(2)、有功/无功/视在/功率因数
> 单相 3 + 三相 1(4)、电度 8 种另列。本产品 9 点,缺的是**第二回线、线电压、零序双回与
> 功率四量**——前者等通道(X5),后两者等标定后的功率运算。
> 功率四量**——前者等通道(X4),后两者等标定后的功率运算。
**遥信(`0x0001` 段起,V0.1 定义 33 点)**:`1~4` 开关位置(双点,恒 IV)、`5~14` 预留(IV)、
`15` 故障总、`16~18` 过流 Ⅰ/Ⅱ/Ⅲ 段、`19~20` 零序过流 Ⅰ/Ⅱ(IV)、`21~22` 接地故障/重载(IV)、
@@ -1929,9 +1910,9 @@ pre-commit run --all-files
| 条目 | 对应 §2.5.2 | 现状 | 缺的是 | 解除条件 |
|---|---|---|---|---|
| **标定闭锁** | 1~3 | 9 个元件、定值、闭锁链、SOE、104 上送全部就绪,但 `ADC_CAL_F_VALID` 未置位 → 判据整体停走 | **外部资源**:子板/端子板变比 + 标准源 | 端子变比确认 → 8 通道两点标定 → VALID 置位(届时自动解卡,无需改代码) |
| **出口与开入** | 7、8 | 无硬件;保护动作只体现为遥信 + SOE;遥控开关量否定确认 | **硬件 + 立项**:出口继电器、开入回路、回读自检 | 开入开出作为独立模块立项(不可移植项 X4 解除) |
| **出口与开入** | 7、8 | 无硬件;保护动作只体现为遥信 + SOE;遥控开关量否定确认 | **硬件 + 立项**:出口继电器、开入回路、回读自检 | 开入开出作为独立模块立项(不可移植项 X3 解除) |
| **三相与同期** | 4、12 | 建接口不使能(B/C 相与 `IN` 削顶、跨转换器无同刻) | **V0.2 硬件** | 8 路电气量全接 TPAFE + 中点偏置 |
| **电度计量** | 6 | 未实现(功率积分需跨转换器同刻) | **V0.2 硬件** | 同上(不可移植项 X5 解除) |
| **电度计量** | 6 | 未实现(功率积分需跨转换器同刻) | **V0.2 硬件** | 同上(不可移植项 X4 解除) |
| **对下采集** | 17(子站侧) | `rs485_task.c` 空桩、未建任务、协议族未实现;整簇冻结 | **决策 + 门禁**:用户已决定暂缓 | 先修「单缓冲包撕裂」「TX 超时拉 DE 未等 TC」→ 接消费者 |
| **第三方送检** | 17 | 自有主站工具往返已通过 | **标定 + 第三方环境** | 标定闭锁解除后送检 |
@@ -2140,7 +2121,7 @@ pre-commit run --all-files
> 这是**馈线自动化(FA)的核心**:失电分闸 → 得电合闸 → 联络转供。对应元件
> `NoVolTrip` / `HaveVolCls` / `ConnectBrkCls` / `FaultIsola` / `FaultRecov` 五个模块。
> 无开入(开关位置)与出口(分合闸)时**无法闭环**,属 X4 依赖项。
> 无开入(开关位置)与出口(分合闸)时**无法闭环**,属 X3 依赖项。
**重合闸 `AutoReCls`(16 项)**:重合闸投退、充电时间(0~100000 s)、重合闸次数(0~3)、
一次 / 二次 / 三次重合闸时间(0~60000 s)、重合闸闭锁时间(0~9900 s)、整组复归时间、
@@ -2149,14 +2130,14 @@ pre-commit run --all-files
> 参考支持**三次重合**且每次时间独立可整定,充电时间与整组复归时间分离——这三项
> 是"重合闸能不能用"的关键(无充电时间 = 每次跳闸都立即重合,会连击)。
> 依赖出口(合闸)与开入(开关位置),属 X4 依赖项。
> 依赖出口(合闸)与开入(开关位置),属 X3 依赖项。
**同期 `SYN`(13 项,FTU 型专属)**:检无压投退、检同期投退、频差 / 角差 / 压差 / 滑差闭锁投退
(4 项)、检无压定值(1000~9999 V)、检频差定值(0~200,0.01 Hz)、检角差定值(1~180°)、
检压差定值(0~9999 V)、检频率滑差值(0~200 Hz/s)、开关合闸时限(0~200 s)、整组复归时间。
> 需**两路电压同刻**(母线侧 + 线路侧)才能算角差与频差——本产品 V0.1 只有一个转换器的
> 电压通道,属 X4 / H1 依赖项。
> 电压通道,属 X3 / H1 依赖项。
**录波启动 `WAVESTART`(12 项)**:电流启动投退 / 定值(0~10000 A)、低压启动投退 / 定值
(0~10000 V)、零压启动投退 / 定值(0~30000 V)、零流启动投退 / 定值(0~1000 A)、
@@ -2256,7 +2237,7 @@ pre-commit run --all-files
### 9.6 开入 / 开出复刻明细(138 + 31 → 本产品 0)
参考把"开入"分成四类,本产品**一个都没有**(无硬件,不可移植项 X4)。
参考把"开入"分成四类,本产品**一个都没有**(无硬件,不可移植项 X3)。
**开入 138 点的构成**:
@@ -2279,7 +2260,7 @@ pre-commit run --all-files
| 信号类 | **20** | 事故信号 `SignTV`、运行 `SignRun`、通信中断 `SignCOMM`、硬件故障 `SignHW`、储能 `SignCN`、电池欠压 `SignBatQY`、失电 `SignSD`、过负荷 `SignGL`、接地 `SignJD`、闭锁 `SignBM`、备用 `SignBS`、自检 `SignCHK`、重合 `SignCH`、备用 3 个 `SignBAK1~3`、告警 `SignALM`、保护动作 `SignPro`、就地 FA `SignJDFA`、集中 FA `SignJZFA` |
> 本产品当前**保护动作只体现为遥信 + SOE**,没有任何物理出口。这在"保护测控装置"的
> 定义里是硬缺口:保护判据做得再准,不跳闸就等于没保护。X4 解除前,`YX` 里的
> 定义里是硬缺口:保护判据做得再准,不跳闸就等于没保护。X3 解除前,`YX` 里的
> 动作类遥信必须**如实标 IV**,不能让主站误以为已跳闸。
---
@@ -2461,7 +2442,7 @@ pre-commit run --all-files
|---|---|---|
| 越限记录 | 越限判据(`MeaLimit` 10 项定值 + `YcOverLimit` 元件) | 可先做判据、后做记录 |
| 闭锁记录 | 闭锁源已具备(四源闭锁,§5.12),**只缺记录落点** | ✅ **最该先补**——现在闭锁发生了但无记录,现场排障靠猜 |
| COS 记录 | 开入(X4) | ❌ |
| COS 记录 | 开入(X3) | ❌ |
| 顺控记录 / 顺控执行明细 | 顺控功能(参考 `YKRly.c` 63 KB 的顺控执行引擎) | ❌ 整功能未立项 |
> **闭锁记录是本表里性价比最高的一项**:闭锁源(未标定 / 采样故障 / 定值校验和 / 软压板退出)