S1000D SNS 是什么?系统划分码、四级编码与 DMC 关联
SNS(Standard Numbering System,系统划分码)把设备按系统层级组织起来,是 S1000D 项目建立 DMC、DMRL 和出版物结构时经常使用的基础编码。它解决的是“信息属于哪个系统层级”,而不是给每个数据模块随意起一个编号。
SNS 解决什么问题?
在大型装备项目中,技术资料会覆盖动力、液压、飞控、电气、结构和保障设备等多个系统。如果只按文件夹或手册章节管理,系统边界容易在不同团队之间发生偏差。SNS 提供一套稳定的系统分解和编号方式,使数据模块能够按系统、子系统和更细的层级归类、检索和复用。
四级系统划分怎么理解?
工程项目常用“四级 SNS”来描述从较大系统到更细部位的层次。下面是便于沟通的抽象示意;具体层级名称、字段名和代码长度要以采用的 Issue、Schema、Data Dictionary 及项目规则为准。
| 层级 | 通常表达的范围 | 示例(仅示意) | 项目核对重点 |
|---|---|---|---|
| 第 1 级:系统 | 设备中相对独立的功能系统。 | 23 液压系统 | 系统边界、责任单位和系统清单是否已批准。 |
| 第 2 级:子系统 | 系统下的功能分支或主要组成部分。 | 10 压力供给 | 与功能分解、接口和维修任务范围保持一致。 |
| 第 3 级:更细系统层级 | 用于继续划分功能或设备单元。 | 02 泵组 | 不要把临时项目编号或版本号混入系统代码。 |
| 第 4 级:项目约定的细分层级 | 在需要时进一步定位组件或系统分支。 | 01 主泵支路 | 明确是否启用、代码表来源和与组件层级的关系。 |
四级并不意味着每个项目都必须把每一级都填满。空缺层级、保留值、未知值和特殊设备的表达,应按项目业务规则统一处理,避免作者各自决定。
SNS 常见字段与相关标签
SNS 不是脱离数据模块单独存在的标题字段。它通常通过 DMC 中的系统相关字段参与数据模块识别和检索,并与项目系统分解、DMRL 和出版物结构建立映射。以下名称用于帮助阅读 Schema 和项目规则,最终字段名和属性约束以正式版本为准。
| 字段或术语 | 通常表达的内容 | 检查重点 |
|---|---|---|
systemCode | DMC 中对应系统层级的代码。 | 是否来自已批准的 SNS 代码表,是否与型号系统清单一致。 |
subSystemCode | 系统下的子系统或下一级分类代码。 | 是否与上一级组合形成有效路径,是否存在重复或孤立代码。 |
subSubSystemCode | 更细的系统分支代码;有些项目会继续定义更细层级。 | 代码长度、可用范围和层级含义是否写入规则。 |
systemDiffCode | 与系统差异或项目差异相关的 DMC 字段,不等同于 SNS 层级。 | 不能把版本号、发布日期或临时状态码当作系统差异码。 |
| SNS 代码表 | 项目的系统层级、代码含义、状态和责任人清单。 | 保留历史版本,记录新增、停用、合并和拆分原因。 |
systemCode 等是 DMC 结构中的字段;SNS 是支撑这些字段含义的系统编号体系。看到字段名时,应同时核对采用的 Schema 和项目代码表,不要把某个工具界面的简称当成标准定义。一个维修手册的 SNS 编码示例
假设某型设备把液压系统划分为“压力供给—泵组—主泵支路”四级路径,项目代码表给出的示意路径可以写成:
系统:23 液压系统
└─ 子系统:10 压力供给
└─ 细分:02 泵组
└─ 分支:01 主泵支路
示意 SNS 路径:23-10-02-01
与 DMC 关联时,项目可以把路径中的系统层级映射到 DMC 的系统相关字段,再由信息类型、组件、变体和位置等字段共同形成数据模块身份。下面的片段只用于说明映射思路,不是可直接交付的完整 DMC:
<dmCode modelIdentCode="ABC" systemDiffCode="A" systemCode="23" subSystemCode="10" subSubSystemCode="02" /> <!-- 23-10-02-01 的第 4 级如何落位,须按采用的 Schema 与项目规则确认。 -->
如果一项“更换主泵”程序的内容边界属于该路径,DMRL、模块标题、DMC 和 PM 中的引用就应该使用同一套系统语义。后续系统拆分发生变化时,应通过变更流程评估对 DMC、引用、适用性和既有交付包的影响。
SNS 项目检查清单
- 边界:系统、子系统和更细层级是否来自已批准的产品分解,而不是作者临时命名?
- 格式:每一级代码长度、字符集、保留值和必填性是否与 Schema 和项目规则一致?
- 映射:SNS 与 DMC、DMRL、PM、文件名和旧资料编号是否有明确对应表?
- 唯一性:同一层级是否存在重复代码、同名异码或一号多义?停用代码是否会被重新使用?
- 可追溯:新增、合并、拆分和更名是否有批准记录,并能解释历史模块为什么采用旧路径?
- 校验:工具是否能拦截不存在的上级路径、非法组合以及 DMC 与 SNS 不一致的模块?
常见问题
S1000D 中的 SNS 是什么?
SNS 是 Standard Numbering System 的缩写,用于按设备系统层级组织和编号技术信息,为 DMC、DMRL 和出版物目录提供统一的系统边界。
SNS 一定是四级编码吗?
项目常把 SNS 描述为四级系统划分,但实际层级名称、代码长度、是否启用某一级以及代码表内容,都要以采用的 Issue、Schema、Data Dictionary 和项目业务规则为准。
SNS 和 DMC 有什么关系?
SNS 描述设备的系统层级,DMC 是数据模块的结构化身份。DMC 中的系统相关字段通常需要与批准的 SNS 建立映射,二者应保持可追溯的一致关系。
SNS 代码可以按公司习惯随意定义吗?
不能随意定义。项目可以在正式规范允许的范围内建立代码表和映射,但应经过批准并写入业务规则、DMC 编码规则和 DMRL。
SNS 编码项目启动时先检查什么?
先确认设备型号和系统分解边界、层级及代码长度、代码表责任人、与 DMC 和 DMRL 的映射、变更规则,以及旧资料迁移时的编号对应关系。