fix SoftNcRunner GM code normalization.
This commit is contained in:
@@ -94,6 +94,14 @@
|
||||
<h3 id="classes">
|
||||
Classes
|
||||
</h3>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Hi.NcParsers.Dependencys.CncBrandDependency.html">CncBrandDependency</a></dt>
|
||||
<dd><p>Explicit CNC controller brand identifier carried in
|
||||
<a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_NcDependencyList">NcDependencyList</a>.
|
||||
Use <code>ncDependencyList.OfType<CncBrandDependency>().FirstOrDefault()</code>
|
||||
to retrieve the brand.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html">ControllerParameterTableBase</a></dt>
|
||||
<dd><p>Base class for brand-specific controller parameter tables.
|
||||
@@ -111,11 +119,54 @@ and derived convenience properties.</li>
|
||||
CYCL DEF 247 Q339=N reads from <a class="xref" href="Hi.NcParsers.Dependencys.HeidenhainDatumTable.html#Hi_NcParsers_Dependencys_HeidenhainDatumTable_DatumPresetTable">DatumPresetTable</a>,
|
||||
CYCL DEF 7 #N reads from <a class="xref" href="Hi.NcParsers.Dependencys.HeidenhainDatumTable.html#Hi_NcParsers_Dependencys_HeidenhainDatumTable_DatumShiftTable">DatumShiftTable</a>.
|
||||
Each table maps an integer ID (1–20) to a Vec3d offset.</p>
|
||||
<p>
|
||||
On real Heidenhain controllers, preset and datum tables are separate
|
||||
disk files (e.g. <code>TNC:\table\preset.pr</code>, <code>*.d</code>) — distinct
|
||||
from MP-prefixed Machine Parameters (held by
|
||||
<a class="xref" href="Hi.NcParsers.Dependencys.Heidenhain.HeidenhainParameterTable.html">HeidenhainParameterTable</a>). HiNC mirrors that separation
|
||||
by keeping this dependency independent of <code>HeidenhainParameterTable</code>.
|
||||
</p>
|
||||
<p>
|
||||
Implements <a class="xref" href="Hi.NcParsers.Dependencys.IIsoCoordinateConfig.html">IIsoCoordinateConfig</a> by mapping the ISO/DIN
|
||||
G54–G59 codes to preset rows 1–6, the conventional Heidenhain
|
||||
compatibility mapping for ISO/DIN programs running on a Heidenhain.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Hi.NcParsers.Dependencys.IsoCoordinateAddressMap.html">IsoCoordinateAddressMap</a></dt>
|
||||
<dd><p>Fanuc-style ISO coordinate parameter address mapping.
|
||||
G54–G59 → #5221+ (stride 20, three consecutive numbers per entry for X/Y/Z),
|
||||
G54.1 P1–P48 → #7001+ (stride 20).
|
||||
Shared between <a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.html">FanucParameterTable</a> (which calls these
|
||||
“ParamId”) and <a class="xref" href="Hi.NcParsers.Dependencys.Syntec.SyntecParameterTable.html">SyntecParameterTable</a> (which calls them
|
||||
“PrId”) because both follow the same numeric scheme.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<h3 id="interfaces">
|
||||
Interfaces
|
||||
</h3>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Hi.NcParsers.Dependencys.IBlockSkipConfig.html">IBlockSkipConfig</a></dt>
|
||||
<dd><p>Runtime state of the controller's Block Delete / Block Skip switches.
|
||||
Present in <a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_NcDependencyList">NcDependencyList</a> exposes this to
|
||||
the runner so that blocks whose head carries <code>/</code> or <code>/N</code>
|
||||
(parsed by <a class="xref" href="Hi.NcParsers.ParsingSyntaxs.BlockSkipSyntax.html">BlockSkipSyntax</a> into
|
||||
<a class="xref" href="Hi.NcParsers.Keywords.BlockSkip.html">BlockSkip</a>) are skipped at semantic time.</p>
|
||||
<p>
|
||||
Layers are 1..9; Layer 1 corresponds to the bare <code>/</code> prefix.
|
||||
Controllers (Fanuc / Syntec / Mazak / Siemens) let each layer be
|
||||
toggled independently via panel switches or system parameters.
|
||||
</p>
|
||||
<p>
|
||||
When this dependency is absent from
|
||||
<a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_NcDependencyList">NcDependencyList</a>, no block is skipped
|
||||
(safest default: simulate the full machining). The syntax still
|
||||
consumes the <code>/</code> prefix so no <code>UnparsedText--Remaining</code>
|
||||
diagnostic is produced.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Hi.NcParsers.Dependencys.ICannedCycleConfig.html">ICannedCycleConfig</a></dt>
|
||||
<dd><p>Canned cycle configuration parameters.
|
||||
@@ -134,6 +185,22 @@ the default value in those cases.
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Hi.NcParsers.Dependencys.IHomeMcConfig.html">IHomeMcConfig</a></dt>
|
||||
<dd><p>G28 first reference position (home machine coordinate) per axis.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Hi.NcParsers.Dependencys.IIsoCoordinateConfig.html">IIsoCoordinateConfig</a></dt>
|
||||
<dd><p>ISO work coordinate offset provider.
|
||||
Maps a G-code work coordinate id (e.g. “G54”, “G59.2”, “G54.1P1”)
|
||||
to a machine-coordinate offset Vec3d.</p>
|
||||
<p>
|
||||
Implementations include
|
||||
<a class="xref" href="Hi.NcParsers.Dependencys.Generic.IsoCoordinateTable.html">IsoCoordinateTable</a> (brand-agnostic standalone storage),
|
||||
<a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.html">FanucParameterTable</a> / <a class="xref" href="Hi.NcParsers.Dependencys.Syntec.SyntecParameterTable.html">SyntecParameterTable</a>
|
||||
(parameter-table integration via real Fanuc/Syntec parameter numbers
|
||||
#5221+ for G54–G59 and #7001+ for G54.1 P1–P48),
|
||||
<a class="xref" href="Hi.NcParsers.Dependencys.Siemens.SiemensFrameTable.html">SiemensFrameTable</a> (Sinumerik <code>$P_UIFR</code> frames),
|
||||
and <a class="xref" href="Hi.NcParsers.Dependencys.HeidenhainDatumTable.html">HeidenhainDatumTable</a> (Heidenhain preset rows).
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
@@ -146,12 +213,36 @@ Compatible with Fanuc, Siemens, Heidenhain, Mazak, Okuma.</p>
|
||||
<dt><a class="xref" href="Hi.NcParsers.Dependencys.INcDependency.html">INcDependency</a></dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Hi.NcParsers.Dependencys.IPowerResettable.html">IPowerResettable</a></dt>
|
||||
<dd><p>Marks an <a class="xref" href="Hi.NcParsers.Dependencys.INcDependency.html">INcDependency</a> that holds volatile state which must be cleared
|
||||
when the controller performs a power reset (power off then on).</p>
|
||||
<p>
|
||||
Implementers should clear only the volatile subset they own (e.g. Fanuc common volatile
|
||||
macro variables <code>#100-#499</code>), and leave persistent state untouched
|
||||
(e.g. <code>#500-#999</code>, controller parameters).
|
||||
</p>
|
||||
<p>
|
||||
Call-frame local state (Fanuc <code>#1-#33</code>, Heidenhain <code>Q200-Q1199</code>) is NOT in scope —
|
||||
that lives in the <code>SyntaxPiece</code> JSON dataflow and is bounded by call activation, not power cycle.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Hi.NcParsers.Dependencys.IRapidFeedrateConfig.html">IRapidFeedrateConfig</a></dt>
|
||||
<dd><p>Provides per-axis rapid traverse feedrate for motion semantics.
|
||||
Implemented by <a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html">ControllerParameterTableBase</a> using
|
||||
brand-specific parameter numbers (e.g., Fanuc #1420, Siemens MD32000,
|
||||
Heidenhain MP1010).</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Hi.NcParsers.Dependencys.IStrokeLimitConfig.html">IStrokeLimitConfig</a></dt>
|
||||
<dd><p>Per-axis stroke (travel) limits.
|
||||
Unit is mm for linear axes, deg for rotary axes.
|
||||
Implemented by <a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html">ControllerParameterTableBase</a> using
|
||||
brand-specific parameter numbers (e.g., Fanuc #1300/#1320,
|
||||
Siemens MD36100/MD36110, Heidenhain MP420/MP430).</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
|
||||
Reference in New Issue
Block a user