# 工业接口协议附件

| 项目 | 内容 |
|------|------|
| **适用对象** | 代理商 · 最终客户 · 招标技术包 |
| **文档名称** | 工业接口协议附件 |
| **文档编号** | `DOC-Q3000-IF-CN-011` |
| **型号** | **QYTS-3000-BG-T-S** |
| **配套** | 随箱《用户指南（发货完整版）》 |
| **用途** | PLC / SCADA / 电力时码集成；端子丝印与电缆以随箱硬件图纸为准 |
| **文档版本** | 1.0（对齐固件 V4.9.x：Modbus 寄存器地图 + IRIG-B120） |

---

## 0. 大纲

1. [总则与通道分工](#1-总则与通道分工)
2. [RS-485 Modbus RTU](#2-rs-485-modbus-rtu)
3. [IRIG-B120 DCLS](#3-irig-b120-dcls)
4. [TTL 1PPS（对照）](#4-ttl-1pps对照)
5. [联调与验收建议](#5-联调与验收建议)
6. [修订记录](#6-修订记录)

---

## 1. 总则与通道分工

本机多通道**并行**，精度与时间形态**不可互相套用**：

| 通道 | 形态 | 典型用途 | 客户协议细节 |
|------|------|----------|--------------|
| RJ45 NTP | 协议时间戳 | PC / NVR / 交换机 | 见用户指南 |
| **RS-485 Modbus** | 寄存器绝对时间（UTC，含 ms） | PLC / 触摸屏 / SCADA | **本文 §2** |
| **IRIG-B120** | DCLS 时码 | 电力 / 传统时码设备 | **本文 §3** |
| TTL 1PPS | 秒脉冲沿 | 示波器 / 采集卡秒沿 | 本文 §4（简） |

正式授时请在设备 **LK GNSS / LOCK** 后使用。未锁定时日历字段或时码仍可能输出，但**不得**作为联锁/计量依据。

---

## 2. RS-485 Modbus RTU

### 2.1 电气与串口（出厂）

| 项目 | 规格 |
|------|------|
| 拓扑 | 半双工 RS-485 |
| 信号 | A / B（极性以丝印为准）；建议总线**共地** |
| 方向控制 | 设备侧 DE/RE 自动切换（主站无需管 DE） |
| 波特率 | **9600**（出厂） |
| 数据位 | 8 |
| 校验 | **无（N）** |
| 停止位 | **1** |
| 终端电阻 | 总线两端 **120 Ω**（按现场规范） |
| 线缆 | 屏蔽双绞；长线注意共模与接地 |

> 端子编号、浪涌防护与隔离以随箱原理图/接线表为准；本文不替代硬件图纸。

### 2.2 从站与功能码

| 项目 | 值 |
|------|-----|
| 从站地址（Slave ID） | **0x01**（1） |
| 客户侧推荐 | 读保持寄存器 **FC 0x03** |
| 兼容 | 读输入寄存器 **FC 0x04**（与 FC03 **同一映射**） |
| 写单寄存器 FC 0x06 | **仅产线保留**，客户侧请勿使用（见 §2.6） |

CRC：标准 Modbus RTU CRC16（多项式 0xA001，初值 0xFFFF，**低字节在前**）。

### 2.3 字节序与多字寄存器

- 每个 Modbus 寄存器 = **1 个 16 位字**。
- **32 位量**（相位偏移、NTP 计数）占用**连续两字**，顺序为：**高字在前（低地址）、低字在后**（大端字序 / big-endian word order）。
- **有符号 16/32 位**按二进制补码解释。

### 2.4 保持寄存器地图（地址从 0 起）

| 地址 | 名称 | 类型 | 单位 / 范围 | 说明 |
|------|------|------|-------------|------|
| 0–1 | `phase_offset_ns` | int32（两字） | ns | 内部 PPS 相位/漂移监测（高字@0，低字@1）；**非**客户端 NTP 精度 |
| 2 | `freq_offset_ppb` | int16 | ppb | 频率偏移估计 |
| 3 | `pps_signal_health` | uint16 | 0–100 | PPS 健康度（百分） |
| 4 | `gnss_sat_count` | uint16 | 星数 | 当前用于定位的卫星数（以设备聚合为准） |
| 5 | `system_state` | uint16 | 见下表 | 系统授时状态 |
| 6–7 | `ntp_serve_cnt` | uint32（两字） | 次 | NTP 应答累计（高字@6，低字@7） |
| 8 | `rtc_temp_c100` | int16 | 0.01 ℃ | RTC 温度×100；失败时为 `0x8000` |
| 9 | `cpu_load_pct` | uint16 | 0–100 | CPU 负载百分 |
| **10** | **year** | uint16 | 如 2026 | **UTC 年** |
| **11** | **month** | uint16 | 1–12 | UTC 月 |
| **12** | **day** | uint16 | 1–31 | UTC 日 |
| **13** | **hour** | uint16 | 0–23 | UTC 时 |
| **14** | **minute** | uint16 | 0–59 | UTC 分 |
| **15** | **second** | uint16 | 0–59 | UTC 秒 |
| **16** | **millisecond** | uint16 | **0–999** | UTC 毫秒（亚秒分辨上限 **1 ms**） |
| 17 | `gnss_l26t_factory_status` | uint16 | 产线状态 | **产测保留**；客户可读可忽略 |

**寄存器总数：** 18（地址 0–17）。

#### `system_state`（地址 5）

| 值 | 含义 | 客户建议 |
|----|------|----------|
| 0 | BOOT — 上电/初始化 | 不作为正式源 |
| 1 | HSI_FALLBACK — 时钟降级 | 不作为正式源 |
| 2 | SYNCING — 收敛中 | 可预读，正式联锁慎用 |
| **3** | **LOCKED — 已锁定** | **正式授时** |
| 4 | HOLDOVER — 守时 | 按工艺决定是否继续信任 |

### 2.5 推荐读法（PLC）

**仅要日历时间（常用）：**

- 起始地址 **10**，数量 **7**（年…毫秒）  
- 或起始 **10**，数量 **8**（含地址 17，可丢弃）

**要状态门控 + 时间：**

- 起始地址 **5**，数量 **12**（state + … + ms），或分两次读：先读 `system_state==3`，再读 10–16。

**轮询周期：** 建议 **≥ 1 Hz**。更快轮询**不会**提高亚秒分辨率（仍为 1 ms）。

**与 1PPS 联用：** 寄存器给绝对时间；秒沿对齐用独立 **1PPS OUT**。勿期望 A/B 线输出秒脉冲。

### 2.6 产线写功能（客户勿用）

| 功能 | 说明 |
|------|------|
| FC06 写地址 17 = `0x4C26` | 触发 L26-T 产线 NVM 相关流程；**仅厂内产测窗口** |
| 其它写 | 未向客户开放 |

客户工程请只配置 **FC03/FC04 读**。误写可能导致异常或被拒绝。

### 2.7 读例（示意）

请求（从站 1，FC03，起始 10，数量 7）十六进制示意：

```text
01 03 00 0A 00 07 CRC_L CRC_H
```

正常响应：`01 03 0E` + 14 字节数据（7 寄存器）+ CRC。  
数据区按寄存器顺序：year, month, day, hour, minute, second, millisecond（各 2 字节，**高字节在前**）。

异常响应：功能码最高位置 1，附异常码（如非法地址 `0x02`）。

---

## 3. IRIG-B120 DCLS

### 3.1 接口概要

| 项目 | 规格 |
|------|------|
| 格式 | **IRIG-B120**，**DCLS**（直流电平移位 / 脉宽编码） |
| 码率 | **100 bit/s**（每秒一帧，每比特 10 ms） |
| 电气（板级） | MCU 侧 TTL → 串联电阻 → **5 V** 缓冲（如 SN74LVC1G126）→ **BNC / 端子** |
| 逻辑电平 | 以随箱硬件规格为准（典型为缓冲后 5 V 逻辑幅度） |
| 时间基准 | 帧与内部有效 **PPS 秒沿**同步重建；内容为 **UTC** 时分秒与年积日等 |
| 使用前提 | 建议在 **LOCK** 下联调与验收 |

接线、BNC 中心极/外壳接地、电缆阻抗以图纸为准。

### 3.2 帧内容（符合 B120 惯例）

每秒 **100** 位；位置标识 **P** 位于 0, 9, 19, …, 99。主要时间域：

| 域 | 说明 |
|----|------|
| 秒 / 分 / 时 | BCD |
| 年积日（DOY） | BCD（1–366） |
| SBS | 当日秒数的直二进制字段（与标准 B120 布局一致） |
| 未用位 | 填 0 |

脉宽编码（DCLS）：

| 符号 | 高电平典型宽度 |
|------|----------------|
| 逻辑 0 | 2 ms 高 + 8 ms 低 |
| 逻辑 1 | 5 ms 高 + 5 ms 低 |
| 标记 P | 8 ms 高 + 2 ms 低 |

> 位域细节以 **IRIG 标准 / 接收机手册** 为准；本附件确认本机输出为 **B120 DCLS**，可供标准 IRIG-B 接收设备解码。厂内实现细节不必作为客户集成条件。

### 3.3 与其它通道关系

- IRIG **不替代** Modbus 的“年月日可读寄存器”，也不替代以太网 NTP。  
- 需要 PLC 日历数字时用 **Modbus**；需要传统时码口时用 **IRIG**；需要硬件秒沿时用 **1PPS**。

### 3.4 验收提示

1. 设备 LOCK 后，用合格 IRIG-B 接收机或示波器观察 DCLS 波形。  
2. 核对接收机解码的时分秒与设备 Web/Modbus UTC 一致（允许链路与接收机延迟）。  
3. **不要**用 `ping` 或 Windows 时间面板验收 IRIG。

---

## 4. TTL 1PPS（对照）

| 项目 | 规格 |
|------|------|
| 电平 | **3.3 V TTL**（以规格书为准） |
| 频率 | 1 Hz（有效 GNSS PPS 驱动下） |
| 用途 | 秒沿同步、仪器触发 |
| 与 Modbus | 脉冲 = 秒边界；日历 = 寄存器 / NTP |

勿与 RS-485 A/B 或 IRIG 端子混接。

---

## 5. 联调与验收建议

| 步骤 | 动作 | PASS |
|------|------|------|
| 1 | 天线定位，前面板 **LOCK** | 绿色锁定 |
| 2 | Modbus：9600 8N1，站号 1，FC03 读 10–16 | 年月日时合理，ms∈0–999 |
| 3 | 读地址 5 | 正式投运时期望 **3（LOCKED）** |
| 4 | （可选）IRIG 接接收机 | 解码时间与 UTC 一致 |
| 5 | （可选）1PPS 示波器 | 1 Hz 边沿稳定 |

精度分层与工业场景能力对照见用户指南 **附录 D**。

---

## 6. 修订记录

| 日期 | 版本 | 变更 |
|------|------|------|
| 2026-07-19 | 1.0 | 首版起草：Modbus 全表 + IRIG-B120 接口级说明 |

---

*本附件随设备发货；若与设备实测行为不一致，以已发布固件与铭牌为准并回改本文。*
