소스 검색

周期功图:7/8/9号机按厂家偏移校准各缸相位

18922397810 5 일 전
부모
커밋
f7a87d8ad1
3개의 변경된 파일과 85개의 추가작업 그리고 6개의 파일을 삭제
  1. 17 3
      backend/app/services/data_service.py
  2. 17 3
      viewer/backend/services/indicator_service.py
  3. 51 0
      角度偏移记录.md

+ 17 - 3
backend/app/services/data_service.py

@@ -106,7 +106,20 @@ CYLINDER_PHASE_DEGREE = {
     "五缸": 240.0,
     "六缸": 120.0,
 }
-CYLINDER_PHASE_OVERRIDE = {"二缸": 24.0, "三缸": 146.0, "四缸": 147.0, "五缸": 265.0, "六缸": 265.0}
+UNIT_PHASE_OVERRIDE = {
+    "7": {
+        "一缸": 141.0, "二缸": 160.0, "三缸": 280.0,
+        "四缸": 280.0, "五缸": 40.0, "六缸": 40.0,
+    },
+    "8": {
+        "一缸": 8.0, "二缸": 23.0, "三缸": 138.0,
+        "四缸": 145.0, "五缸": 262.0, "六缸": 262.0,
+    },
+    "9": {
+        "一缸": 16.0, "二缸": 27.0, "三缸": 153.0,
+        "四缸": 153.0, "五缸": 269.0, "六缸": 269.0,
+    },
+}
 PHASE_ROTATION_UNITS = frozenset({"7", "8", "9"})
 
 DEMO_POINT_NAME = "7号机组一缸压力盖侧"
@@ -159,8 +172,9 @@ def _phase_degrees(point_name: str, keyphase_info: Any = None) -> float:
     if unit not in PHASE_ROTATION_UNITS:
         return 0.0
     cylinder = _point_cylinder(point_name or "")
-    if cylinder in CYLINDER_PHASE_OVERRIDE:
-        return CYLINDER_PHASE_OVERRIDE[cylinder]
+    unit_override = UNIT_PHASE_OVERRIDE.get(unit)
+    if unit_override and cylinder in unit_override:
+        return unit_override[cylinder]
     angle = _keyphase_angle(keyphase_info)
     if angle is not None:
         return angle

+ 17 - 3
viewer/backend/services/indicator_service.py

@@ -28,7 +28,20 @@ PISTON_ROD_DIAMETER_MM = 78.0
 CLEARANCE_VOLUME_L_BY_BORE = {490.0: 1.51, 390.0: 0.74, 360.0: 0.62}
 # 7/8/9 号机各缸相位角(月度报告/沁水压缩机参数20250102.docx)。
 CYLINDER_PHASE_DEGREE = {"一": 0.0, "二": 0.0, "三": 120.0, "四": 240.0, "五": 240.0, "六": 120.0}
-CYLINDER_PHASE_OVERRIDE = {"二": 24.0, "三": 146.0, "四": 147.0, "五": 265.0, "六": 265.0}
+UNIT_PHASE_OVERRIDE = {
+    "7": {
+        "一": 141.0, "二": 160.0, "三": 280.0,
+        "四": 280.0, "五": 40.0, "六": 40.0,
+    },
+    "8": {
+        "一": 8.0, "二": 23.0, "三": 138.0,
+        "四": 145.0, "五": 262.0, "六": 262.0,
+    },
+    "9": {
+        "一": 16.0, "二": 27.0, "三": 153.0,
+        "四": 153.0, "五": 269.0, "六": 269.0,
+    },
+}
 PHASE_ROTATION_UNITS = frozenset({"7", "8", "9"})
 PULSES_PER_REVOLUTION = 8
 MIN_SAMPLES = 60
@@ -77,8 +90,9 @@ def keyphase_angle(keyphase_info) -> float | None:
 def phase_degrees(unit: str, cylinder: str, keyphase_info=None) -> float:
     if unit not in PHASE_ROTATION_UNITS:
         return 0.0
-    if cylinder in CYLINDER_PHASE_OVERRIDE:
-        return CYLINDER_PHASE_OVERRIDE[cylinder]
+    unit_override = UNIT_PHASE_OVERRIDE.get(unit)
+    if unit_override and cylinder in unit_override:
+        return unit_override[cylinder]
     angle = keyphase_angle(keyphase_info)
     if angle is not None:
         return angle

+ 51 - 0
角度偏移记录.md

@@ -0,0 +1,51 @@
+# 压缩机各缸角度偏移记录
+
+用途:记录参考软件/厂家给出的各缸角度偏移(`键相8-0-x` 中的 x),以及代码当前实际使用的显示相位。
+
+## 9号机(厂家提供,已按顺序 1–6 缸)
+
+厂家图片给出的偏移:`8-0-16`、`8-0-27`、`8-0-153`、`8-0-153`、`8-0-269`、`8-0-269`。
+
+| 缸 | 厂家偏移角 | 文档相位 | 文件名键相 | 之前参考0°校准值 | 当前实际使用 |
+|---|---|---|---|---|---|
+| 1缸 | 16° | 0° | 0° | 0° | **16°** |
+| 2缸 | 27° | 0° | 0° | 24° | **27°** |
+| 3缸 | 153° | 120° | 135° | 146° | **153°** |
+| 4缸 | 153° | 240° | 135° | 147° | **153°** |
+| 5缸 | 269° | 240° | 270° | 265° | **269°** |
+| 6缸 | 269° | 120° | 265° | 265° | **269°** |
+
+说明:
+
+- “厂家偏移角”以本表为准,代码里 9 号机 1–6 缸直接使用该值。
+- “文档相位”来自 `月度报告/沁水压缩机参数20250102.docx`。
+- “文件名键相”来自原始采集文件名 `键相8-0-x`。
+- “之前参考0°校准值”是按参考软件 0° 压力读数反推的值,仅作对照;现已改为厂家值。
+
+## 7号机(厂家提供,已按顺序 1–6 缸)
+
+厂家图片给出的偏移:`8-0-141`、`8-0-160`、`8-0-280`、`8-0-280`、`8-0-40`、`8-0-40`。
+
+| 缸 | 厂家偏移角 | 文档相位 | 文件名键相 | 当前实际使用 |
+|---|---|---|---|---|
+| 1缸 | 141° | 0° | 135° | **141°** |
+| 2缸 | 160° | 0° | 135° | **160°** |
+| 3缸 | 280° | 120° | 270° | **280°** |
+| 4缸 | 280° | 240° | 270° | **280°** |
+| 5缸 | 40° | 240° | 45° | **40°** |
+| 6缸 | 40° | 120° | 盖45°/轴135° | **40°** |
+
+说明:7 号机 6 缸的盖侧/轴侧文件名键相不一致,代码统一按厂家偏移 40° 处理。
+
+## 8号机(厂家提供,已按顺序 1–6 缸)
+
+厂家图片给出的偏移:`8-0-8`、`8-0-23`、`8-0-138`、`8-0-145`、`8-0-262`、`8-0-262`。
+
+| 缸 | 厂家偏移角 | 文档相位 | 文件名键相 | 当前实际使用 |
+|---|---|---|---|---|
+| 1缸 | 8° | 0° | 0° | **8°** |
+| 2缸 | 23° | 0° | 0° | **23°** |
+| 3缸 | 138° | 120° | 135° | **138°** |
+| 4缸 | 145° | 240° | 135° | **145°** |
+| 5缸 | 262° | 240° | 270° | **262°** |
+| 6缸 | 262° | 120° | 270° | **262°** |