5.1 程序库与版本
5.1.1 适用范围
Section titled “5.1.1 适用范围”本节规定加工程序在本系统中的组织方式、版本状态的流转规则,以及版本内容的比对与取出方法。 适用于编程员、审批员与管理员。
5.1.2 对象层次
Section titled “5.1.2 对象层次”本系统按程序库、程序、版本三层组织加工程序,层次关系见图 5-1。
程序库(审批策略的施加单位) └── 程序(零件号 + 工序,构成人员识别的身份) └── 版本(不可变内容 + 线性版本号)图 5-1 程序库、程序、版本的层次关系
各层的职责如下:
a) 程序库规定其下程序所需的审批人数、能否自审自批、是否自动放行;
b) 程序规定身份信息,包括名称、零件号、工序、适用机型与说明;
c) 版本承载内容。版本内容在上传后不可更改,可变更的仅为其状态。

图 5-2 程序库页面
程序库页面支持按程序库筛选,按名称、零件号、工序检索。「已发布版本」列显示当前执行下发时 将发出的版本号。
5.1.3 版本状态
Section titled “5.1.3 版本状态”版本状态的流转按图 5-3 的规定执行,各状态的允许操作按表 5-3 的规定。
上传 ────► 草稿 ──提交审批──► 待审批 ──批准──► 已发布 ▲ │ │ └──────驳回────────┘ 废弃│ ▼ 废弃图 5-3 版本状态转换
表 5-3 版本状态与允许操作
| 状态 | 允许的操作 | 限制 |
|---|---|---|
| 草稿 | 提交审批、废弃 | 不允许下发 |
| 待审批 | 由审批人批准或驳回 | 作者可查阅,不得自行改为已发布 |
| 已发布 | 下发至机台 | 同一程序可同时存在多个已发布版本,下发时须指定版本号 |
| 废弃 | 查阅历史 | 不出现在可下发列表中 |
程序整体亦可废弃,用于该程序退役的情形。废弃的程序默认不在列表中显示。
5.1.4 版本来源
Section titled “5.1.4 版本来源”版本行的「来源」标签标明该版本的产生方式,是追溯的关键依据,取值按表 5-4 的规定。
表 5-4 版本来源
| 来源 | 产生方式 |
|---|---|
| 上传 | 由人员从 CAM 系统或编辑器上传 |
| 机边捕获 | 滚动镜像发现受管文件在机床侧被改动后自动捕获(见 5.6) |
| 采纳 | 机床上原本未受管的文件被采纳进程序库时建立的基线(见 5.6) |

图 5-4 程序详情页面的版本列表
5.1.5 内容去重与内容哈希
Section titled “5.1.5 内容去重与内容哈希”版本内容按 SHA-256 值寻址存储,内容完全一致的版本在底层仅存储一份。 滚动镜像每日为全部机台产生的快照中绝大多数为重复内容,因此不显著增加存储占用。
版本详情中的内容哈希是排查内容一致性问题的判定依据,可与传输记录中的「转换后哈希」 与「回读哈希」逐一对照。
5.1.6 版本比对
Section titled “5.1.6 版本比对”操作步骤:
a) 在版本表最右侧的「对比」列勾选任意两个版本;
b) 界面给出并排差异视图,删除行标红,新增行标绿;
c) 审批评审弹窗默认展示待审批版本与其上一版本的差异。

图 5-5 版本差异比对视图
5.1.7 变体分组
Section titled “5.1.7 变体分组”零件号与工序相同、但因机床控制系统不同而分别编制的多个程序(例如 FANUC 版与西门子版),
由本系统以 零件号::工序 作为变体分组键在界面上归组显示。
5.1.8 内容下载与外流记录
Section titled “5.1.8 内容下载与外流记录”版本行的「下载」按钮取出该版本的原始内容。
每一次正文查看或下载均写入一条 version.view 审计记录,记录操作人、时间、来源 IP 与版本号。
该记录用于回答程序内容的流向问题,不构成对查看行为的限制。审计查询方法见 5.9。
5.1.9 权限要求
Section titled “5.1.9 权限要求”表 5-5 程序库相关权限
| 操作 | 所需权限 | 具备该权限的角色 |
|---|---|---|
| 查阅程序列表与元数据 | programs.read |
编程员、审批员、只读、管理员 |
| 查阅正文、下载内容 | programs.content.view |
编程员、审批员、管理员 |
| 仅查阅已发布版本 | programs.read.released |
操作工及以上 |
| 新建程序、上传版本、废弃 | programs.write |
编程员、管理员 |
| 提交审批 | versions.submit |
编程员、管理员 |
上述权限可按程序库范围授予,例如仅在试制程序库内授予编程员权限。 角色与权限的完整定义见 6.1。
