系统补充知识
特征配置中col_item 的解释逻辑
示例数据:AA002,AA003,AA005,,&AA004,AA011,AA016,AA017,AB001,AB002,AA018,AA015
这段 col_item 会先用 & 分成“公共采集项”和“螺栓采集项”两部分:
1 | |
第一部分:公共采集项
解析位置固定,对应关系来自 EquipCondContextLoader.java (line 48) 和具体 Loader 的 itemDefinition():
| 位置 | 配置值 | 参数名称 | 含义 |
|---|---|---|---|
| 0 | AA002 |
result_identifier |
结果编号 |
| 1 | AA003 |
sn |
产品 SN |
| 2 | AA005 |
tighten_status |
拧紧状态 |
| 3 | 空 | station_identifier |
工位产品识别号,未配置 |
| 4 | 空 | product_type |
产品/机型类型,未配置 |
虽然代码使用的是普通 split(","),会丢弃末尾空字符串,但循环发现第 4、5 个位置不存在时,会自动补成 "",所以最终仍然是两个空参数。
假设当前设备编码是 EQUIP01,短采集项编码会补全为:
1 | |
补全逻辑在 EquipCondContextLoader.java (line 85):
AA002这种短编码,会转换成C-{设备编码}-AA002- 如果本身已经是由 6 段组成的完整编码,则原样使用
- 空字符串保持为空
第二部分:单螺栓采集项
这一部分先用分号 ; 分隔多个螺栓配置,再用逗号分隔每个螺栓的字段。当前没有分号,所以只配置了一个螺栓/轴。
按照 eccTorqueAngleSimplifyLoader 的解析规则:
| 位置 | 配置值 | 用途 |
|---|---|---|
| 0 | AA004 |
程序名采集项,作为 boltItemMap 的 key |
| 1 | AA011 |
结果扭矩 |
| 2 | AA016 |
螺栓开始时间戳 |
| 3 | AA017 |
螺栓结束时间戳 |
| 4 | AB001 |
扭矩曲线 |
| 5 | AB002 |
角度曲线 |
| 6 | AA018 |
螺栓位置编号/过程编号 |
| 7 | AA015 |
结果角度 |
对应解析代码在 EccTorqueAngleSimplifyLoader.java (line 29)。
补全设备编码后,写入计算上下文的 bolt 参数类似:
1 | |
后续计算时:
- 使用
AA016、AA017切分每次拧紧的时间范围。 - 使用
AA004获取程序名并匹配模型参数。 - 使用
AA018获取螺栓过程/位置编号。 - 使用
AA011获取最终扭矩。 - 使用
AB001、AB002获取扭矩和角度曲线。 - 使用
AA015获取最终角度,代码位置在 TorqueAngleSimplifyCalcStep.java (line 91)。
需要注意:第 8 项 AA015 只有 eccTorqueAngleSimplifyLoader 会加入列表并用于计算最终角度。如果该特征模型的 loader_class 是旧的 eccTorqueAngleLoader 或 eccTorqueLoader,这一项会被忽略。因此最终要结合 t_dict_feature_model.loader_class 确认。
系统补充知识
https://luischen.github.io/2026/08/13/manulism-work/20_Domain_Knowledge/22 曲线质量分析/09 系统补充知识/