This commit is contained in:
2026-09-09 18:06:21 +08:00
parent 161af68fe3
commit 45b9f9ed5d
79 changed files with 1167 additions and 1532 deletions
@@ -324,6 +324,35 @@ identity:
}
]
}</code></pre>
<p>The first block after a program end — <code>#Previous:</code> carries the
<code>ProgramEnd</code> section (<code>END PGM</code>, M2 or M30) next to the
still-active M128. This is the reset edge
(<a class="xref" href="Hi.NcParsers.LogicSyntaxs.ProgramEndSyntax.html">ProgramEndSyntax</a>): the TNC resets M128 / FUNCTION
TCPM at program end while the TOOL CALL length compensation stays,
so the block gets exactly the M129 hand-back:
#Previous:</p>
<pre><code class="lang-csharp">{
"ProgramEnd": { "Term": "END PGM" },
"ToolHeightCompensation": {
"Offset_mm": 120.5, "Term": "M128", "OffsetId": 2,
"PriorTerm": "TOOL CALL", "Delta_mm": 0.5, "FeedLimit": 6000
}
}</code></pre>
<p>#BeforeBuild:</p>
<pre><code class="lang-csharp">{}</code></pre>
<p>#AfterBuild:</p>
<pre><code class="lang-csharp">{
"ToolHeightCompensation": {
"Offset_mm": 120.5, "Term": "TOOL CALL", "OffsetId": 2, "Delta_mm": 0.5
},
"ProgramToMcTransform": [
{
"Source": "ToolHeightCompensation",
"Kind": "Static",
"Mat4d": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,120.5,1]
}
]
}</code></pre>