From 0de96bbc728f2d12d27a22b658e43f951662cb13 Mon Sep 17 00:00:00 2001 From: wangdequan Date: Mon, 21 Sep 2026 19:52:31 +0800 Subject: [PATCH] Keep G-code matched to imported AC or BC machine type --- .../program-compatibility/bc-running.png | Bin 0 -> 184834 bytes .../program-compatibility/boats.report.json | 18 +++++ .../program-compatibility/browser.report.json | 15 ++++ .../program-compatibility/catalog.report.json | 72 ++++++++++++++++++ .../program-compatibility/replace.report.json | 8 ++ .../program-compatibility/step.report.json | 18 +++++ .../program-compatibility/worker.report.json | 18 +++++ docs/glb-machine-manager/01-项目功能内容.md | 2 + .../02-项目程序开发详细步骤.md | 2 + docs/glb-machine-manager/03-推进台账.md | 8 ++ docs/glb-machine-manager/04-任务矩阵.md | 1 + docs/glb-machine-manager/05-验收证据.md | 17 +++++ docs/glb-machine-manager/06-决策记录.md | 4 + docs/glb-machine-manager/README.md | 2 +- .../test_machine_program_compatibility.mjs | 38 +++++++++ web/react/src/App.tsx | 18 ++++- web/react/src/legacy.d.ts | 1 + web/worker/sim-session.mjs | 15 ++++ web/worker/test_trt_program_compatibility.mjs | 32 ++++++++ .../program-machine-compatibility.mjs | 30 ++++++++ 20 files changed, 315 insertions(+), 4 deletions(-) create mode 100644 coverage/glb-machine-manager/program-compatibility/bc-running.png create mode 100644 coverage/glb-machine-manager/program-compatibility/boats.report.json create mode 100644 coverage/glb-machine-manager/program-compatibility/browser.report.json create mode 100644 coverage/glb-machine-manager/program-compatibility/catalog.report.json create mode 100644 coverage/glb-machine-manager/program-compatibility/replace.report.json create mode 100644 coverage/glb-machine-manager/program-compatibility/step.report.json create mode 100644 coverage/glb-machine-manager/program-compatibility/worker.report.json create mode 100644 scripts/test_machine_program_compatibility.mjs create mode 100644 web/worker/test_trt_program_compatibility.mjs create mode 100644 web/workspace/program-machine-compatibility.mjs diff --git a/coverage/glb-machine-manager/program-compatibility/bc-running.png b/coverage/glb-machine-manager/program-compatibility/bc-running.png new file mode 100644 index 0000000000000000000000000000000000000000..f41387ad8efef06191102801f7c10f5252a6472e GIT binary patch literal 184834 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%0DOrHxhnrHUG_fwgu?E=TZCw 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 z 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 G_rCxvqni%^ literal 0 HcmV?d00001 diff --git a/coverage/glb-machine-manager/program-compatibility/boats.report.json b/coverage/glb-machine-manager/program-compatibility/boats.report.json new file mode 100644 index 0000000..a0b588a --- /dev/null +++ b/coverage/glb-machine-manager/program-compatibility/boats.report.json @@ -0,0 +1,18 @@ +{ + "schema": "boat-trt-programs.v1", + "status": "verified", + "rows": [ + { + "coordinates": "XYZAC", + "program": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc", + "status": "completed", + "rotary": "a" + }, + { + "coordinates": "XYZBC", + "program": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzbc.ngc", + "status": "completed", + "rotary": "b" + } + ] +} diff --git a/coverage/glb-machine-manager/program-compatibility/browser.report.json b/coverage/glb-machine-manager/program-compatibility/browser.report.json new file mode 100644 index 0000000..9159bc9 --- /dev/null +++ b/coverage/glb-machine-manager/program-compatibility/browser.report.json @@ -0,0 +1,15 @@ +{ + "report_id": "TRT-PROGRAM-COMPAT-BROWSER", + "status": "verified", + "url": "http://127.0.0.1:5180/", + "checks": [ + "AC to BC model import replaces source/path/preview with BC boat program", + "renamed AC file rejected on BC; previous loaded taskfile remains intact", + "editor reload also rejects wrong-axis program without replacing loaded taskfile", + "same-type reimport preserves custom compatible program", + "BC to AC model import loads AC boat", + "manager apply also switches program to matching BC family", + "BC machine runs BC G-code after home; header/controller/program agree" + ], + "errors": [] +} diff --git a/coverage/glb-machine-manager/program-compatibility/catalog.report.json b/coverage/glb-machine-manager/program-compatibility/catalog.report.json new file mode 100644 index 0000000..1c1bc0c --- /dev/null +++ b/coverage/glb-machine-manager/program-compatibility/catalog.report.json @@ -0,0 +1,72 @@ +{ + "schema": "rtcp-program-catalog-load.v1", + "status": "verified", + "programs": [ + { + "id": "trt-boat-xyzac", + "coordinates": "XYZAC", + "source_hash": "fnv1a64:bdc95b491cd714d9", + "preview_segments": 1825 + }, + { + "id": "trt-impeller-xyzac", + "coordinates": "XYZAC", + "source_hash": "fnv1a64:76b5e2017a1b0a93", + "preview_segments": 4492 + }, + { + "id": "trt-xyzac-switchkins", + "coordinates": "XYZAC", + "source_hash": "fnv1a64:522e219683194ad2", + "preview_segments": 29 + }, + { + "id": "trt-xyzac-switchkins-test-1", + "coordinates": "XYZAC", + "source_hash": "fnv1a64:f1d649350d9dd63d", + "preview_segments": 17 + }, + { + "id": "trt-xyzac-switchkins-test-2", + "coordinates": "XYZAC", + "source_hash": "fnv1a64:00aebdd97af4c5d8", + "preview_segments": 32 + }, + { + "id": "trt-xyzac-switchkins-test-3", + "coordinates": "XYZAC", + "source_hash": "fnv1a64:cf7e5987249c1bf8", + "preview_segments": 3 + }, + { + "id": "gmoccapy-boat-xyzac", + "coordinates": "XYZAC", + "source_hash": "fnv1a64:9d09b727bef67c7c", + "preview_segments": 1825 + }, + { + "id": "gmoccapy-impeller-xyzac", + "coordinates": "XYZAC", + "source_hash": "fnv1a64:3e4cbd31dd06ec9c", + "preview_segments": 4492 + }, + { + "id": "trt-boat-xyzbc", + "coordinates": "XYZBC", + "source_hash": "fnv1a64:b1887a8c8fd29012", + "preview_segments": 1820 + }, + { + "id": "trt-xyzbc-switchkins", + "coordinates": "XYZBC", + "source_hash": "fnv1a64:622cce6b5c7277f1", + "preview_segments": 29 + }, + { + "id": "gmoccapy-boat-xyzbc", + "coordinates": "XYZBC", + "source_hash": "fnv1a64:7cef899039522872", + "preview_segments": 1820 + } + ] +} diff --git a/coverage/glb-machine-manager/program-compatibility/replace.report.json b/coverage/glb-machine-manager/program-compatibility/replace.report.json new file mode 100644 index 0000000..c14b140 --- /dev/null +++ b/coverage/glb-machine-manager/program-compatibility/replace.report.json @@ -0,0 +1,8 @@ +{ + "schema": "xyzac-program-replacement.v1", + "status": "verified", + "first_segments": 1, + "failed_segments": 0, + "second_segments": 1, + "old_preview_retained_after_failure": false +} diff --git a/coverage/glb-machine-manager/program-compatibility/step.report.json b/coverage/glb-machine-manager/program-compatibility/step.report.json new file mode 100644 index 0000000..5c613e9 --- /dev/null +++ b/coverage/glb-machine-manager/program-compatibility/step.report.json @@ -0,0 +1,18 @@ +{ + "schema": "xyzac-step-flow.v2", + "status": "verified", + "source": [ + "axis.py::task_step", + "emctaskmain.cc::EMC_TASK_PLAN_STEP_TYPE", + "sim_linuxcnc_tp_step_line" + ], + "phases": [ + "start_pause", + "source_line_pause", + "source_line_motion", + "motion_step_pending", + "terminal" + ], + "duplicate_step_idempotent": true, + "completed_and_aborted_rerun": true +} diff --git a/coverage/glb-machine-manager/program-compatibility/worker.report.json b/coverage/glb-machine-manager/program-compatibility/worker.report.json new file mode 100644 index 0000000..304927f --- /dev/null +++ b/coverage/glb-machine-manager/program-compatibility/worker.report.json @@ -0,0 +1,18 @@ +{ + "report_id": "TRT-PROGRAM-COMPAT-WORKER", + "status": "verified", + "rows": [ + { + "coordinates": "XYZAC", + "load_rejected": true, + "legacy_execution_rejected": true, + "generic_allowed": true + }, + { + "coordinates": "XYZBC", + "load_rejected": true, + "legacy_execution_rejected": true, + "generic_allowed": true + } + ] +} diff --git a/docs/glb-machine-manager/01-项目功能内容.md b/docs/glb-machine-manager/01-项目功能内容.md index 9d11bd7..93ee0d4 100644 --- a/docs/glb-machine-manager/01-项目功能内容.md +++ b/docs/glb-machine-manager/01-项目功能内容.md @@ -56,3 +56,5 @@ 17. 工程工作台:独立滚动的结构/运动/标定页签,固定预览与底部操作区;层级搜索、轴定位、相机预设;30 步草稿撤销/重做;单轴步进;无效输入保持上一个有效值并禁止应用/导出。 18. MGR-19:对话框第一步独立选择设计机床类型 XYZAC/XYZBC;控制面板切换不覆盖设计草稿。机型限制轴绑定、运动验证和标定。保存完整机床 GLB,供控制面板“导入机床模型”自动识别机型并使用。 + +19. MGR-20:导入/应用跨机型模型时同步加载目标机型默认 G 代码,程序路径、源码、预览与运行机型保持一致;同机型标定保留兼容程序。不兼容轴程序在加载及执行入口拒绝。 diff --git a/docs/glb-machine-manager/02-项目程序开发详细步骤.md b/docs/glb-machine-manager/02-项目程序开发详细步骤.md index 632eb0a..c576246 100644 --- a/docs/glb-machine-manager/02-项目程序开发详细步骤.md +++ b/docs/glb-machine-manager/02-项目程序开发详细步骤.md @@ -21,3 +21,5 @@ 15. `MGR-18`:工作区布局与层级导航;草稿历史/资源生命周期;数值错误状态和机型标定校验;重复选中输入回归;桌面/窄屏/矮屏及 AC/BC 实时驱动验收。 16. `MGR-19`:把机型纳入草稿/撤销历史;添加首步机型选择;切换清理不适用倾转绑定;完整模型打开恢复机型;下载前调用控制面板读取器校验;验证从 AC 工作区导入 BC GLB 自动切换及 MILL700 两机型保存/运动闭环。 + +17. `MGR-20`:修正 applyGeometry 跨机型程序选择;加载前读取并验证目标程序;添加 Worker 轴兼容门控;测试双向模型导入、管理器应用、自定义程序保留、文件/编辑器拒绝和旧程序运行门控。 diff --git a/docs/glb-machine-manager/03-推进台账.md b/docs/glb-machine-manager/03-推进台账.md index 191792f..ce0eec9 100644 --- a/docs/glb-machine-manager/03-推进台账.md +++ b/docs/glb-machine-manager/03-推进台账.md @@ -111,3 +111,11 @@ - 打开已保存完整机床作为单一文档事务,自动恢复文件中的机型、关节、层级、物理零点、RTCP 参数;原草稿可撤销恢复。普通 GLB 部件导入仍为追加。 - 保存入口改为“保存机床模型 GLB”,使用 `inspectMachineGlb` 和 32 MiB 限制校验结果,确保标准导入器可读取;成功消息提示去控制面板“导入机床模型”加载。 - E15 针对跨机型闭环测试通过:在 AC 控制器下设计 BC、切换撤销、保存、重新打开、控制面板标准导入自动识别 BC。MILL700 两机型实测通过,分别 8 个同时五轴运动 tick、浏览器 warning/error=0。保存两份完整 GLB 验收示例;MGR-19 verified。 + +## R14 / 2026-09-21 / 机型与 G 代码匹配 + +- 根因:模型导入/管理器应用经 `applyGeometry` 更换工作区后,仍使用旧 `programText/programPath` 重载,导致 BC 运行 AC 程序。 +- 跨机型时在工作区提交前准备目标机型 catalog 默认程序,验证资源和轴兼容性;提交后同步程序编辑器、路径、预览和 Worker。同机型保留兼容自定义程序。 +- 新增共享 `programMachineMismatch`:检查文件机型标识和有效块中的不支持 A/B 轴字,忽略注释、命名参数、O 标签及表达式内部。通用三轴程序继续可用,不改写 A/B 指令。 +- Worker 在 PROGRAM_LOAD 以及 RUN/STEP/RESUME 检查源程序与展开子程序;覆盖绕过 UI 和旧恢复程序。门控缓存源文本/机型/路径,避免每帧重复扫描大程序。 +- E16 本地验证通过:AC→BC、BC→AC、管理器应用、错轴文件/编辑器拒绝、同机型保留、自定义程序与正确 BC 运行。11 个可加载 RTCP 目录程序、程序替换和单步回归通过。 diff --git a/docs/glb-machine-manager/04-任务矩阵.md b/docs/glb-machine-manager/04-任务矩阵.md index c55ba94..c9a81a8 100644 --- a/docs/glb-machine-manager/04-任务矩阵.md +++ b/docs/glb-machine-manager/04-任务矩阵.md @@ -22,3 +22,4 @@ |MGR-17 单自由度与运行轴映射|verified|MGR-16|每节点固定或唯一 XYZABC 自由度;单值编辑;JSON 保存到场景/底座;单 GLB 完整应用;导出往返与 AC/BC 实时轴映射验收| |MGR-18 工程化工作台体验|verified|MGR-17|层级搜索与定位、绑定总览、撤销/重做、输入校验、步骤页签、视图预设、单轴步进、实时跟随锁定、响应式布局和失败导入保护通过| |MGR-19 对话框机型与保存整机|verified|MGR-18|先在对话框选择设计机型;绑定/标定受机型约束;草稿独立/可撤销;保存完整 GLB 可由控制面板导入并自动切换机型| +|MGR-20 机型程序一致性|verified|MGR-19|导入/应用跨机型时加载目标默认程序;同机型保留;错轴程序加载/运行/单步/继续拒绝;AC↔BC 浏览器及 Worker 验收通过| diff --git a/docs/glb-machine-manager/05-验收证据.md b/docs/glb-machine-manager/05-验收证据.md index a5f2b1b..7038a0d 100644 --- a/docs/glb-machine-manager/05-验收证据.md +++ b/docs/glb-machine-manager/05-验收证据.md @@ -157,3 +157,20 @@ |`saved-models/MILL700-xyzbc.glb`|`3b87cb8504815c13127608c513eacb3536e1be1c10f9a58fcd59920939fbe0c1`| - E15 线上验证通过:`https://49.232.250.35:58015/`,代码 `338500d`,资源 `index-C8kh60HL.js`;独立选型、切换撤销、保存完整 GLB、标准导入自动切换及物理零点恢复全部 verified、浏览器错误 0。报告 `machine-type/cloud.report.json`、`machine-type/deployment.report.json`。 + +## E16 / R14 / 机型与 G 代码一致性 + +- `node scripts/test_machine_program_compatibility.mjs`:TRT-PROGRAM-COMPAT-BROWSER verified;AC→BC 与 BC→AC 标准模型导入同步默认程序、管理器应用同步、改名错误轴文件拒绝、编辑器重载拒绝、同机型保留通用程序、回零后 BC 执行 BC 程序;浏览器 warning/error=0。 +- `node web/worker/test_trt_program_compatibility.mjs`:TRT-PROGRAM-COMPAT-WORKER verified;两机型分别检查零值/参数轴指令、忽略注释与参数名称、加载拒绝不替换旧程序、旧状态 RUN/STEP/RESUME 拒绝、允许通用程序。 +- 回归:`test_rtcp_program_catalog_load.mjs`(11 个主程序);`test_xyzac_program_replace.mjs`;`test_xyzac_step_flow.mjs`,全部 verified。TypeScript 和生产构建通过。 + +|证据(相对 program-compatibility)|SHA-256| +|---|---| +|`browser.report.json`|`c931be222b8c3f541174c26f9892083481f9dfe5c75a372e3d20b222b8a9e89f`| +|`worker.report.json`|`986fb9e127894aaf477ac6e5879c06b7084a112c840549532d39fdd6d3e8694e`| +|`catalog.report.json`|`ff2e32be3b006e2d8de902012ed89724aada54c425503027ae5e027eaf9cafe2`| +|`replace.report.json`|`fe92778b144b226cea1e91393d10e4905cfd5becf56ba9b3021b5842514c8aa7`| +|`step.report.json`|`a109eceb646fe5b974c3ac668150c19d2bbedfc2c59dd9ee702fdad46402738d`| +|`bc-running.png`|`2d4f3a6e64a230155b761df4ef15db81b99b5664e8f5d9c71857e30939ac691a`| + +- `node web/worker/test_boat_trt_programs.mjs`:AC/BC 船形程序均完整运行至 completed;报告 `program-compatibility/boats.report.json`。 diff --git a/docs/glb-machine-manager/06-决策记录.md b/docs/glb-machine-manager/06-决策记录.md index a0f3f20..5631f40 100644 --- a/docs/glb-machine-manager/06-决策记录.md +++ b/docs/glb-machine-manager/06-决策记录.md @@ -67,3 +67,7 @@ GLB 树节点 ID 使用导入时的子节点索引路径,不使用可能重复 ## D17 / 设计类型属于机床文档 机型保存在 MachineDraft,控制面板当前类型只用于首次创建时的默认值和实时数据匹配。后续面板切换不得覆盖草稿。切换设计类型不自动把 A 轴重新命名为 B:保留通用轴及模型,清除不兼容绑定,提示重新配置,并允许撤销。标定保留并按新机型验证,不静默丢弃。完整机床 GLB 打开为一次替换事务,自动恢复文件机型,原草稿可撤销。保存 GLB 必须先通过标准导入器格式/机型校验;JSON 是辅助参数文件,完整可导入交付物为 GLB。 + +## D18 / 跨机型加载匹配程序,不转换旋转轴 + +工作区切换会改变解释器轴语义,不能继续加载旧机型的 G 代码。跨机型导入/应用自动使用目标机型 catalog 指定的默认程序,目标资源在提交配置前读取和校验;同机型标定保留兼容源程序。禁止通过把 A 文本替换为 B 冒充程序适配。加载和执行门控由 Worker 再次校验,注释和参数名不算轴指令。校验范围是 AC/BC 机型隔离,完整 G 代码解析仍由 LinuxCNC WASM 负责。 diff --git a/docs/glb-machine-manager/README.md b/docs/glb-machine-manager/README.md index 88b9d72..dfc23b5 100644 --- a/docs/glb-machine-manager/README.md +++ b/docs/glb-machine-manager/README.md @@ -11,7 +11,7 @@ 现有整机 GLB + 内嵌 URDF 导入能力继续保留。新管理器生成与现有 `linuxcnc.machine/1` 相同的严格结构,再通过已有配置、Worker、WASM 和 Three.js 投影链运行。 -当前状态:MGR-19 对话框选择机型/整机保存已 verified;MGR-17、MGR-18 已 verified;MGR-01 至 MGR-16 已完成历史验收,MILL700 实测覆盖照明、Z-up、132 节点树、拖放、节点原点、关节局部坐标系、节点相对父级平移旋转、模型删除、轴绑定、XYZ/AC 层级运动和 WebGL 资源降级。最新台账 R13,证据 `GLB-MGR-E01/E02/E05/E07/E08/E09/E10/E12/E13/E14/E15` 位于 `coverage/glb-machine-manager/`。 +当前状态:MGR-20 机型程序一致性 verified;MGR-19 对话框选择机型/整机保存已 verified;MGR-17、MGR-18 已 verified;MGR-01 至 MGR-16 已完成历史验收,MILL700 实测覆盖照明、Z-up、132 节点树、拖放、节点原点、关节局部坐标系、节点相对父级平移旋转、模型删除、轴绑定、XYZ/AC 层级运动和 WebGL 资源降级。最新台账 R14,证据 `GLB-MGR-E01/E02/E05/E07/E08/E09/E10/E12/E13/E14/E15/E16` 位于 `coverage/glb-machine-manager/`。 文档: diff --git a/scripts/test_machine_program_compatibility.mjs b/scripts/test_machine_program_compatibility.mjs new file mode 100644 index 0000000..7bfe449 --- /dev/null +++ b/scripts/test_machine_program_compatibility.mjs @@ -0,0 +1,38 @@ +import assert from 'node:assert/strict'; +import { mkdir,readFile,writeFile } from 'node:fs/promises'; +import { pathToFileURL } from 'node:url'; +const imported=await import(pathToFileURL(process.env.PLAYWRIGHT_MODULE??'/home/mes006/.npm/_npx/e41f203b7505f1fb/node_modules/playwright/index.js')); +const browser=await(imported.default??imported).chromium.launch({headless:true,executablePath:'/usr/bin/google-chrome',args:['--no-sandbox','--use-angle=swiftshader','--enable-unsafe-swiftshader']}); +const page=await browser.newPage({viewport:{width:1440,height:900}});const c=id=>page.locator(`[data-axis-control="${id}"]`); +const out=new URL('../coverage/glb-machine-manager/program-compatibility/',import.meta.url);await mkdir(out,{recursive:true}); +const report={report_id:'TRT-PROGRAM-COMPAT-BROWSER',status:'running',url:process.env.MACHINE_MANAGER_URL??'http://127.0.0.1:5180/',checks:[],errors:[]}; +page.on('pageerror',e=>report.errors.push(e.message)); +page.on('console',m=>{if(['error','warning'].includes(m.type()))report.errors.push(m.text());}); +const idle=()=>page.waitForFunction(()=>document.querySelector('main.axis-app')?.dataset.axisProgramLoading==='false'&&document.querySelector('main.axis-app')?.dataset.axisStateSource==='linuxcnc-wasm',null,{timeout:60000}); +const checkProgram=async(coordinates)=>{ + const path=`boat-${coordinates.toLowerCase()}.ngc`; + assert.match(await c('workspace-case-select').inputValue(),new RegExp(`${coordinates.toLowerCase()}-trt.ini`)); + await page.waitForFunction(path=>document.querySelector('main.axis-app')?.dataset.axisProgramPath?.endsWith(path),path); + assert.match(await page.locator('.case-status').textContent(),new RegExp(path)); + const text=await c('program-editor').inputValue();assert.match(text,new RegExp(`${coordinates[3]}[-+0-9.]`,'i')); + const other=coordinates[3]==='A'?'B':'A'; assert.equal(new RegExp(`\\b${other}[-+0-9.]`,'i').test(text.replace(/\([^)]*\)/g,'').replace(/;.*/g,'')),false); +}; +const importBc=async()=>{await c('machine-glb-settings').click();await c('machine-glb-file').setInputFiles(new URL('../coverage/glb-machine-manager/machine-type/test-xyzbc.glb',import.meta.url).pathname);await idle();await page.waitForFunction(()=>document.querySelector('[data-axis-control="workspace-case-select"]')?.value.includes('xyzbc-trt'));await page.keyboard.press('Escape');}; +try{ + await page.goto(report.url);await idle();await checkProgram('XYZAC'); + await importBc();await checkProgram('XYZBC');report.checks.push('AC to BC model import replaces source/path/preview with BC boat program'); + await c('program-file-input').setInputFiles({name:'renamed.ngc',mimeType:'text/plain',buffer:Buffer.from('G21 G90\nG1 X1 A0 C10 F120\nM2\n')});await idle();assert.match(await page.locator('.case-status').textContent(),/不匹配/);assert.match(await page.locator('main.axis-app').getAttribute('data-axis-program-path'),/boat-xyzbc.ngc$/); + report.checks.push('renamed AC file rejected on BC; previous loaded taskfile remains intact'); + const beforeReload=await c('program-editor').inputValue();await c('program-editor').fill('G21 G90\nG1 A10 F120\nM2\n');await c('toolbar-reload').click();await idle();assert.match(await page.locator('.preview-load-indicator').textContent(),/不匹配/);assert.match(await page.locator('main.axis-app').getAttribute('data-axis-program-path'),/boat-xyzbc.ngc$/);await c('program-editor').fill(beforeReload); + report.checks.push('editor reload also rejects wrong-axis program without replacing loaded taskfile'); + const generic='G21 G90\nG1 X1 Y2 F120\nM2\n';await c('program-file-input').setInputFiles({name:'generic.ngc',mimeType:'text/plain',buffer:Buffer.from(generic)});await idle(); + await importBc();assert.equal(await c('program-editor').inputValue(),generic);assert.equal(await page.locator('main.axis-app').getAttribute('data-axis-program-path'),'browser/generic.ngc');report.checks.push('same-type reimport preserves custom compatible program'); + await c('machine-glb-settings').click();await c('machine-glb-ac').click();await idle();await page.keyboard.press('Escape');await checkProgram('XYZAC');report.checks.push('BC to AC model import loads AC boat'); + await c('program-file-input').setInputFiles({name:'wrong-b.ngc',mimeType:'text/plain',buffer:Buffer.from('G21 G90\nG1 B0 X1 F120\nM2\n')});await idle();assert.match(await page.locator('.case-status').textContent(),/不匹配/); + await c('workspace-load-boat').click();await idle();await checkProgram('XYZAC'); + // Saved model applied from manager must follow the same configuration transaction. + await c('machine-manager-settings').click();await c('machine-manager-files').setInputFiles(new URL('../coverage/glb-machine-manager/machine-type/test-xyzbc.glb',import.meta.url).pathname);await page.waitForFunction(()=>document.querySelector('[data-axis-control="machine-manager-type"]')?.value==='XYZBC');await c('machine-manager-apply').click();await idle();await page.keyboard.press('Escape');await checkProgram('XYZBC');report.checks.push('manager apply also switches program to matching BC family'); + await c('toolbar-power').click();await page.waitForFunction(()=>document.querySelector('main.axis-app')?.dataset.axisStateMachine==='ON');await c('manual-home-all').click();await page.waitForFunction(()=>document.querySelector('main.axis-app')?.dataset.axisHomed==='[true,true,true,true,true]',null,{timeout:60000});await c('toolbar-run').click();await page.waitForFunction(()=>document.querySelector('main.axis-app')?.dataset.axisProgramStatus==='running');await checkProgram('XYZBC');await page.waitForFunction(()=>Number(document.querySelector('main.axis-app')?.dataset.axisCurrentLine)>0 && JSON.parse(document.querySelector('.xyzac-machine-view')?.dataset.xyzacJoints??'[]').some(v=>Math.abs(v)>1e-6),null,{timeout:60000});await page.screenshot({path:new URL('bc-running.png',out).pathname}); + report.checks.push('BC machine runs BC G-code after home; header/controller/program agree');assert.deepEqual(report.errors,[]);report.status='verified'; +}catch(e){report.status='failed';report.error=e.stack;await page.screenshot({path:new URL('failure.png',out).pathname}).catch(()=>{});throw e;}finally{await writeFile(new URL('browser.report.json',out),JSON.stringify(report,null,2)+'\n');await browser.close();} +console.log(JSON.stringify(report)); diff --git a/web/react/src/App.tsx b/web/react/src/App.tsx index 91d6a0b..fd61753 100644 --- a/web/react/src/App.tsx +++ b/web/react/src/App.tsx @@ -18,6 +18,7 @@ import { XyzacDiagnostics, XyzacLiveParameters, XyzacProgramPane, XyzacTrtPanel import { projectXyzacPanel, type XyzacOperationTrace } from "./xyzac-panel-contract"; import { DEFAULT_MACHINE, MACHINE_DEFINITIONS, machineDefinition } from "../../workspace/machine-definitions.mjs"; import { RtcpProgramLibrary, type RtcpProgram } from "./RtcpProgramLibrary"; +import { assertProgramMachine } from "../../workspace/program-machine-compatibility.mjs"; import { MachineManagerPanel } from "./MachineManagerPanel"; export const SELECTED_XYZAC_CASE = DEFAULT_MACHINE.entrypoint; @@ -536,6 +537,13 @@ export function App() { const bundle = typeof source === "function" ? await source() : source; readTrtGeometry(bundle); const nextModel = model ? model.current : importedMachine ? updateImportedMachineGeometry(importedMachine, bundle) : null; + const targetMachine = machineDefinition(bundle.entrypoint); + if (!targetMachine) throw new Error("目标机床类型无法识别"); + const machineChanged = targetMachine.coordinates !== selectedMachine.coordinates; + const nextProgramPath = machineChanged ? targetMachine.program : programPath; + const nextProgramSource = machineChanged ? normalizeProgramSource(bundle.files?.[nextProgramPath] ?? "") : programText; + if (!nextProgramSource.trim()) throw new Error("目标机型程序资源缺失"); + assertProgramMachine(nextProgramSource, targetMachine.coordinates, nextProgramPath); const configuration = toWorkerConfiguration(bundle); startPreviewProgress("机床参数"); workspaceRequested = true; @@ -545,9 +553,11 @@ export function App() { setCasePath(bundle.entrypoint); setImportedMachine(nextModel); if (model) model.committed = true; - const loaded = await operationController.execute("PROGRAM_LOAD", { source: programText, path: programPath }, { gate: false }); - finishPreviewProgress(programPath, loaded.response); - setCommandStatus("机床参数已应用,程序已重新解析,待重新回零"); + setProgramText(nextProgramSource); setProgramPath(nextProgramPath); + const loaded = await operationController.execute("PROGRAM_LOAD", { source: nextProgramSource, path: nextProgramPath }, { gate: false }); + finishPreviewProgress(nextProgramPath, loaded.response); + setCaseStatus(`${targetMachine.coordinates}: ${nextProgramPath} loaded through linuxcnc-wasm`); + setCommandStatus(machineChanged ? `已切换为 ${targetMachine.coordinates} 并加载对应程序,请重新回零` : "机床参数已应用,程序已重新解析,待重新回零"); } catch (error) { if (workspaceRequested) failPreviewProgress(error instanceof Error ? error.message : String(error)); else setCommandStatus(`机床配置未应用:${error instanceof Error ? error.message : String(error)}`); @@ -656,6 +666,7 @@ export function App() { .then(() => { if (!latestLoadGate.current.enabled) throw new Error(latestLoadGate.current.reason); markPreviewProgress(38, "wasm", "LinuxCNC WASM 正在解析刀具路径"); + assertProgramMachine(programText, selectedMachine.coordinates, programPath); return operationController.execute("PROGRAM_LOAD", { source: programText, path: programPath }, { state: axisState, gate: false }); }) .then((operation) => { @@ -683,6 +694,7 @@ export function App() { if (!source.trim()) throw new Error("program_file_empty"); if (!latestLoadGate.current.enabled) throw new Error(latestLoadGate.current.reason); const path = file.name === "3D_Chips.ngc" ? "linuxcnc/nc_files/3D_Chips.ngc" : `browser/${file.name}`; + assertProgramMachine(source, selectedMachine.coordinates, path); setProgramText(source); setProgramPath(path); setCommandStatus("PROGRAM_LOAD pending: waiting for LinuxCNC WASM preview"); diff --git a/web/react/src/legacy.d.ts b/web/react/src/legacy.d.ts index f71c403..8f54f4d 100644 --- a/web/react/src/legacy.d.ts +++ b/web/react/src/legacy.d.ts @@ -1,4 +1,5 @@ declare module "*.mjs" { + export function assertProgramMachine(source: string, coordinates: string, path?: string): void; export const WEB_SETTINGS: typeof import("../../workspace/web-settings.json"); export function axisImagePath(name: string, base?: string): string; export function readTrtConfiguration(configuration: { entrypoint: string; files: Record }): { kinematics: { coordinates: string; axis_limits: Record; axis_velocity_limits: Record }; home_limits: Record }; diff --git a/web/worker/sim-session.mjs b/web/worker/sim-session.mjs index 00bef50..02d9e67 100644 --- a/web/worker/sim-session.mjs +++ b/web/worker/sim-session.mjs @@ -1,3 +1,4 @@ +import { programMachineMismatch } from "../workspace/program-machine-compatibility.mjs"; import { exportNativeCheckpoint, restoreNativeCheckpoint, validateNativeCheckpoint } from "./native-checkpoint.mjs"; import { ReplayTimeline, fnv1a64 } from "./replay.mjs"; import { capabilities, validateLimit } from "./capabilities.mjs"; @@ -373,6 +374,8 @@ export class SimSession { const path = `${basePath.replace(/\/demos$/, "")}/${suffix}`; const source = this.workspaceFiles[path]; if (typeof source !== "string") return { status: "error", code: "program_subroutine_missing", path }; + const mismatch = programMachineMismatch(source, coordinates, path); + if (mismatch) return { status: "error", code: "program_machine_mismatch", reason: mismatch, path }; const added = this.xyzacProgram.addSubroutine(name, source, path); if (added.status !== "verified") return added; } @@ -604,6 +607,18 @@ export class SimSession { } xyzacCommandGate(input) { + const coordinates = this.machineDefinition?.coordinates ?? DEFAULT_MACHINE.coordinates; + let mismatch = ""; + if (input.kind === "PROGRAM_LOAD") { + mismatch = programMachineMismatch(input.payload?.source ?? input.payload?.text ?? input.payload?.program_source, coordinates, input.payload?.path); + } else if (["PROGRAM_RUN", "PROGRAM_STEP", "PROGRAM_RESUME"].includes(input.kind)) { + const source = this.xyzacProgram.executionSource || this.xyzacProgram.source; + const path = this.xyzacProgram.path; + const previous = this.programCompatibility; + if (!previous || previous.source !== source || previous.path !== path || previous.coordinates !== coordinates) this.programCompatibility = { source, path, coordinates, mismatch: programMachineMismatch(source, coordinates, path) }; + mismatch = this.programCompatibility.mismatch; + } + if (mismatch) return { enabled: false, reason: mismatch, action: PANEL_GATE_ACTIONS[input.kind] ?? null }; const task = this.task.export(); const program = this.xyzacProgram.snapshot(); const io = this.xyzacIo?.canonical?.() ?? {}; diff --git a/web/worker/test_trt_program_compatibility.mjs b/web/worker/test_trt_program_compatibility.mjs new file mode 100644 index 0000000..f2e3681 --- /dev/null +++ b/web/worker/test_trt_program_compatibility.mjs @@ -0,0 +1,32 @@ +import assert from 'node:assert/strict'; +import { readFile } from 'node:fs/promises'; +import createModule from '../../build-wasm/linuxcnc-sim-core.js'; +import { loadSimulationCase, toWorkerConfiguration } from '../workspace/sim-case-loader.mjs'; +import { SimSession, CONTEXT_ID } from './sim-session.mjs'; +import { programMachineMismatch } from '../workspace/program-machine-compatibility.mjs'; +for (const [coordinates, forbidden] of [['XYZAC','B'], ['XYZBC','A']]) { + for (const value of ['0','-12','[1+2]','#1',' #']) assert.match(programMachineMismatch(`G1X2${forbidden}${value}\nM2`,coordinates,'renamed.ngc'),/不匹配/); + for (const source of ['(A10 B20)\nG1X1 ; A30 B40\nM2','#=2\nG1X#\nM2','G1X[ABS[-1]+ATAN[1]/[2]]\nM2','O sub\nG1X1\nO endsub']) assert.equal(programMachineMismatch(source,coordinates,'generic.ngc'),''); +} +const fetchImpl=async(url)=>{try{const body=await readFile(new URL(`../../${String(url).replace(/^\//,'')}`,import.meta.url));return{ok:true,text:async()=>body.toString()};}catch{return{ok:false,text:async()=>''};}}; +const core=await createModule({wasmBinary:await readFile(new URL('../../build-wasm/linuxcnc-sim-core.wasm',import.meta.url))}); +const session=new SimSession(core,{sessionId:'compatibility'});let seq=0; +const send=(kind,payload={})=>session.accept({schema_version:1,context_id:CONTEXT_ID,session_id:session.sessionId,kind,seq:++seq,operation_id:`compat-${seq}`,payload}); +send('HELLO');send('SESSION_ATTACH');const rows=[]; +for(const coordinates of ['XYZAC','XYZBC']){ + const bundle=await loadSimulationCase({path:`linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/${coordinates.toLowerCase()}-trt.ini`,fetchImpl}); + assert.equal(send('LOAD_WORKSPACE',{root_path:'/workspace',configuration:toWorkerConfiguration(bundle)}).kind,'COMMAND_RESULT'); + const own=coordinates[3],other=own==='A'?'B':'A'; + assert.equal(send('PROGRAM_LOAD',{source:`G21 G90\nG1 X1 ${own}5 C3 F120\nM2\n`,path:'compatible.ngc'}).kind,'COMMAND_RESULT'); + const previous=session.xyzacProgram.source; + for(const source of [`G1${other}0 F120\nM2\n`,`G1${other}#1 F120\nM2\n`]){ + const rejected=send('PROGRAM_LOAD',{source,path:'renamed.ngc'});assert.equal(rejected.kind,'ERROR');assert.match(rejected.payload.gate_reason,/不匹配/);assert.equal(session.xyzacProgram.source,previous); + } + // Simulate a legacy/recovered taskfile bypassing the loading gate. + session.xyzacProgram.source=`G1 ${other}10 F120\nM2\n`;session.xyzacProgram.executionSource=session.xyzacProgram.source; + for(const kind of ['PROGRAM_RUN','PROGRAM_STEP','PROGRAM_RESUME']){const rejected=send(kind);assert.equal(rejected.kind,'ERROR');assert.match(rejected.payload.gate_reason,/不匹配/);} + session.xyzacProgram.source=previous;session.xyzacProgram.executionSource=previous; + assert.equal(send('PROGRAM_LOAD',{source:'(A and B mentioned in comments)\nG21 G90\nG1 X1 F120\nM2\n',path:'generic.ngc'}).kind,'COMMAND_RESULT'); + rows.push({coordinates,load_rejected:true,legacy_execution_rejected:true,generic_allowed:true}); +} +console.log(JSON.stringify({report_id:'TRT-PROGRAM-COMPAT-WORKER',status:'verified',rows})); diff --git a/web/workspace/program-machine-compatibility.mjs b/web/workspace/program-machine-compatibility.mjs new file mode 100644 index 0000000..82c7049 --- /dev/null +++ b/web/workspace/program-machine-compatibility.mjs @@ -0,0 +1,30 @@ +// This is a machine-family guard, not a replacement for the LinuxCNC parser. +// Ignore comments, named parameters, O labels and bracket expression contents; +// inspect address words at block level, including zero and parameter values. +export function programMachineMismatch(source, coordinates, path = "") { + if (!["XYZAC", "XYZBC"].includes(coordinates) || typeof source !== "string") return ""; + const family = String(path).match(/xyz[ab]c/ig)?.map((s) => s.toUpperCase()) ?? []; + if (family.some((value) => value !== coordinates)) return `程序机型不匹配:${path} 不适用于 ${coordinates}`; + let comment = 0, bracket = 0, semicolon = false, named = false, code = ""; + for (const char of source) { + if (char === '\n' || char === '\r') { semicolon = false; code += '\n'; continue; } + if (semicolon) continue; + if (char === '(') { comment++; continue; } + if (comment) { if (char === ')') comment--; continue; } + if (char === ';') { semicolon = true; continue; } + if (char === '<') { named = true; code += ' '; continue; } + if (named) { if (char === '>') named = false; continue; } + if (char === '[') { if (!bracket) code += '['; bracket++; continue; } + if (bracket) { if (char === ']') bracket--; continue; } + code += char; + } + const forbidden = coordinates === "XYZBC" ? "A" : "B"; + const pattern = new RegExp(`${forbidden}\\s*(?=[+\\-\\d.#\\[])`, "i"); + const lines = code.split('\n'); + const index = lines.findIndex((line) => pattern.test(line)); + return index < 0 ? "" : `程序机型不匹配:${coordinates} 不支持 ${forbidden} 轴指令(第 ${index + 1} 行),请选择对应机型的 G 代码`; +} +export function assertProgramMachine(source, coordinates, path = "") { + const error = programMachineMismatch(source, coordinates, path); + if (error) throw new Error(error); +}