98 lines
5.6 KiB
XML
98 lines
5.6 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" width="1800" height="1100" viewBox="0 0 1800 1100">
|
||
<defs>
|
||
<style>
|
||
text { font-family: "Noto Sans CJK SC", "Microsoft YaHei", Arial, sans-serif; fill: #172033; }
|
||
.title { font-size: 42px; font-weight: 700; }
|
||
.sub { font-size: 24px; fill: #475569; }
|
||
.box { stroke-width: 3; rx: 18; }
|
||
.file { fill: #eef6ff; stroke: #2563eb; }
|
||
.core { fill: #f4fbf7; stroke: #16a34a; }
|
||
.ui { fill: #fff7ed; stroke: #f97316; }
|
||
.data { fill: #f8fafc; stroke: #64748b; }
|
||
.warn { fill: #fef2f2; stroke: #ef4444; }
|
||
.head { font-size: 28px; font-weight: 700; }
|
||
.body { font-size: 20px; }
|
||
.small { font-size: 18px; fill: #475569; }
|
||
.line { stroke: #334155; stroke-width: 3; fill: none; marker-end: url(#arrow); }
|
||
.dash { stroke-dasharray: 8 7; }
|
||
</style>
|
||
<marker id="arrow" markerWidth="14" markerHeight="14" refX="12" refY="7" orient="auto" markerUnits="strokeWidth">
|
||
<path d="M 0 0 L 14 7 L 0 14 z" fill="#334155"/>
|
||
</marker>
|
||
</defs>
|
||
<rect width="1800" height="1100" fill="#ffffff"/>
|
||
<text x="60" y="70" class="title">xyzbc-trt 程序逻辑总图</text>
|
||
<text x="60" y="112" class="sub">从文件装载、运动学、HAL、界面、执行到证据采样的完整逻辑链路。</text>
|
||
|
||
<rect x="60" y="170" width="330" height="170" class="box file"/>
|
||
<text x="95" y="218" class="head">配置与程序文件</text>
|
||
<text x="95" y="262" class="body">xyzbc-trt.ini</text>
|
||
<text x="95" y="298" class="body">xyzbc-trt.xml</text>
|
||
<text x="95" y="334" class="body">switchkins_postgui.hal</text>
|
||
|
||
<rect x="60" y="380" width="330" height="210" class="box file"/>
|
||
<text x="95" y="428" class="head">演示与参数文件</text>
|
||
<text x="95" y="472" class="body">xyzbc_switchkins.ngc</text>
|
||
<text x="95" y="508" class="body">428/429/430 remap</text>
|
||
<text x="95" y="544" class="body">xyzbc-trt.tbl / xyzbc.var</text>
|
||
<text x="95" y="580" class="body">remap_subs/*.ngc</text>
|
||
|
||
<rect x="470" y="155" width="410" height="230" class="box core"/>
|
||
<text x="510" y="205" class="head">启动与装载</text>
|
||
<text x="510" y="250" class="body">rip-environment 设置 RIP 环境</text>
|
||
<text x="510" y="286" class="body">linuxcnc 读取 xyzbc-trt.ini</text>
|
||
<text x="510" y="322" class="body">HALFILE / POSTGUI_HALFILE 装配</text>
|
||
<text x="510" y="358" class="body">open_file = ./demos/xyzbc_switchkins.ngc</text>
|
||
|
||
<rect x="470" y="430" width="410" height="240" class="box core"/>
|
||
<text x="510" y="480" class="head">运动学与 HAL</text>
|
||
<text x="510" y="524" class="body">xyzbc-trt-kins.c</text>
|
||
<text x="510" y="560" class="body">switchkins.c / kinstype.is.N</text>
|
||
<text x="510" y="596" class="body">trtfuncs.c / xyzbc forward-inverse</text>
|
||
<text x="510" y="632" class="body">motion.switchkins-type <= motion.analog-out-03</text>
|
||
<text x="510" y="668" class="body">tool-offset / x-offset / z-offset / conventional-directions</text>
|
||
|
||
<rect x="965" y="155" width="370" height="230" class="box ui"/>
|
||
<text x="1000" y="205" class="head">界面与交互</text>
|
||
<text x="1000" y="249" class="body">AXIS 主界面</text>
|
||
<text x="1000" y="285" class="body">PyVCP SWITCHKINS 面板</text>
|
||
<text x="1000" y="321" class="body">MDI / 点动 / DRO / 程序</text>
|
||
<text x="1000" y="357" class="body">vismach-clear / 相机视图</text>
|
||
|
||
<rect x="965" y="430" width="370" height="240" class="box ui"/>
|
||
<text x="1000" y="480" class="head">三维机床模型</text>
|
||
<text x="1000" y="524" class="body">xyzbc-trt-gui.py</text>
|
||
<text x="1000" y="560" class="body">table-x / saddle-y / spindle-z</text>
|
||
<text x="1000" y="596" class="body">tilt-b / rotate-c / tool-offset</text>
|
||
<text x="1000" y="632" class="body">Three.js 等价模型</text>
|
||
<text x="1000" y="668" class="body">显示路径、刀具、工件、姿态</text>
|
||
|
||
<rect x="1405" y="205" width="330" height="205" class="box data"/>
|
||
<text x="1440" y="255" class="head">运行状态</text>
|
||
<text x="1440" y="299" class="body">task_state / interp_state</text>
|
||
<text x="1440" y="335" class="body">joint.*.pos-fb / DRO</text>
|
||
<text x="1440" y="371" class="body">kinstype.is-0/1/2</text>
|
||
|
||
<rect x="1405" y="470" width="330" height="205" class="box data"/>
|
||
<text x="1440" y="520" class="head">路径证据 JSON</text>
|
||
<text x="1440" y="564" class="body">previewPath / executionPath</text>
|
||
<text x="1440" y="600" class="body">samplePeriodMs = 20</text>
|
||
<text x="1440" y="636" class="body">screenshots / compare-report</text>
|
||
|
||
<rect x="470" y="760" width="1265" height="220" class="box warn"/>
|
||
<text x="510" y="812" class="head">关键约束</text>
|
||
<text x="510" y="856" class="body">1. switchkins 切换前必须同步解释器和 motion,程序中用 M428/M429/M430 或等价 HAL/MDI 触发。</text>
|
||
<text x="510" y="892" class="body">2. 真实系统与 Web 系统的路径采样周期必须一致,当前统一为 20 ms,禁止一端快一端慢。</text>
|
||
<text x="510" y="928" class="body">3. UI 只反映 HAL 和状态机,不直接篡改机床内部状态;所有操作必须回到 HAL/任务/运动学层。</text>
|
||
<text x="510" y="964" class="body">4. 五轴姿态、tooloffset、x/z offset、conventional-directions 与原型系统一致后,才能进入对比验收。</text>
|
||
|
||
<path d="M390 255 L470 255" class="line"/>
|
||
<path d="M390 490 L470 490" class="line"/>
|
||
<path d="M880 265 L965 265" class="line"/>
|
||
<path d="M880 545 L965 545" class="line"/>
|
||
<path d="M1335 255 L1405 255" class="line"/>
|
||
<path d="M1335 545 L1405 545" class="line"/>
|
||
<path d="M1130 395 L1130 430" class="line dash"/>
|
||
<path d="M1550 410 L1550 470" class="line"/>
|
||
</svg>
|