S1000D SNS 是什么?系统划分码、四级编码与 DMC 关联

SNS(Standard Numbering System,系统划分码)把设备按系统层级组织起来,是 S1000D 项目建立 DMC、DMRL 和出版物结构时经常使用的基础编码。它解决的是“信息属于哪个系统层级”,而不是给每个数据模块随意起一个编号。

本文由北京重子科技 VizMan IETM 团队编写,最后更新:2026-09。页面用于中文学习与项目规划,不替代 S1000D 正式规范。

SNS 解决什么问题?

在大型装备项目中,技术资料会覆盖动力、液压、飞控、电气、结构和保障设备等多个系统。如果只按文件夹或手册章节管理,系统边界容易在不同团队之间发生偏差。SNS 提供一套稳定的系统分解和编号方式,使数据模块能够按系统、子系统和更细的层级归类、检索和复用。

先划边界,再编号码:SNS 代码表应从经过批准的设备系统分解开始。代码长度、层级数量、保留码和特殊系统的处理方式,都应写入项目规则,并由项目负责人维护。

四级系统划分怎么理解?

工程项目常用“四级 SNS”来描述从较大系统到更细部位的层次。下面是便于沟通的抽象示意;具体层级名称、字段名和代码长度要以采用的 Issue、Schema、Data Dictionary 及项目规则为准。

层级通常表达的范围示例(仅示意)项目核对重点
第 1 级:系统设备中相对独立的功能系统。23 液压系统系统边界、责任单位和系统清单是否已批准。
第 2 级:子系统系统下的功能分支或主要组成部分。10 压力供给与功能分解、接口和维修任务范围保持一致。
第 3 级:更细系统层级用于继续划分功能或设备单元。02 泵组不要把临时项目编号或版本号混入系统代码。
第 4 级:项目约定的细分层级在需要时进一步定位组件或系统分支。01 主泵支路明确是否启用、代码表来源和与组件层级的关系。

四级并不意味着每个项目都必须把每一级都填满。空缺层级、保留值、未知值和特殊设备的表达,应按项目业务规则统一处理,避免作者各自决定。

SNS 常见字段与相关标签

SNS 不是脱离数据模块单独存在的标题字段。它通常通过 DMC 中的系统相关字段参与数据模块识别和检索,并与项目系统分解、DMRL 和出版物结构建立映射。以下名称用于帮助阅读 Schema 和项目规则,最终字段名和属性约束以正式版本为准。

字段或术语通常表达的内容检查重点
systemCodeDMC 中对应系统层级的代码。是否来自已批准的 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 项目检查清单

  1. 边界:系统、子系统和更细层级是否来自已批准的产品分解,而不是作者临时命名?
  2. 格式:每一级代码长度、字符集、保留值和必填性是否与 Schema 和项目规则一致?
  3. 映射:SNS 与 DMC、DMRL、PM、文件名和旧资料编号是否有明确对应表?
  4. 唯一性:同一层级是否存在重复代码、同名异码或一号多义?停用代码是否会被重新使用?
  5. 可追溯:新增、合并、拆分和更名是否有批准记录,并能解释历史模块为什么采用旧路径?
  6. 校验:工具是否能拦截不存在的上级路径、非法组合以及 DMC 与 SNS 不一致的模块?
验收建议:不要只抽查代码格式。选取一个描述模块、一个维修程序、一个零件信息模块和一个故障隔离模块,沿 SNS → DMC → DMRL → PM → 交付包完整走一遍,才能验证层级和引用真正可用。

常见问题

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 的映射、变更规则,以及旧资料迁移时的编号对应关系。

相关页面