Archived
438 lines
25 KiB
HTML
438 lines
25 KiB
HTML
<!DOCTYPE html>
|
||
<html>
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<title>Namespace Hi.NcParsers.Dependencys | HiAPI-C# 2025 </title>
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<meta name="title" content="Namespace Hi.NcParsers.Dependencys | HiAPI-C# 2025 ">
|
||
|
||
|
||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||
<link rel="stylesheet" href="../public/docfx.min.css">
|
||
<link rel="stylesheet" href="../public/main.css">
|
||
<meta name="docfx:navrel" content="../toc.html">
|
||
<meta name="docfx:tocrel" content="toc.html">
|
||
|
||
<meta name="docfx:rel" content="../">
|
||
|
||
|
||
|
||
<meta name="loc:inThisArticle" content="In this article">
|
||
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
|
||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||
<meta name="loc:tocFilter" content="Filter by title">
|
||
<meta name="loc:nextArticle" content="Next">
|
||
<meta name="loc:prevArticle" content="Previous">
|
||
<meta name="loc:themeLight" content="Light">
|
||
<meta name="loc:themeDark" content="Dark">
|
||
<meta name="loc:themeAuto" content="Auto">
|
||
<meta name="loc:changeTheme" content="Change theme">
|
||
<meta name="loc:copy" content="Copy">
|
||
<meta name="loc:downloadPdf" content="Download PDF">
|
||
|
||
<script type="module" src="./../public/docfx.min.js"></script>
|
||
|
||
<script>
|
||
const theme = localStorage.getItem('theme') || 'auto'
|
||
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
|
||
</script>
|
||
|
||
</head>
|
||
|
||
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
|
||
<header class="bg-body border-bottom">
|
||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||
<div class="container-xxl flex-nowrap">
|
||
<a class="navbar-brand" href="../index.html">
|
||
<img id="logo" class="svg" src="../img/HiAPI.logo.png" alt="">
|
||
|
||
</a>
|
||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||
<i class="bi bi-three-dots"></i>
|
||
</button>
|
||
<div class="collapse navbar-collapse" id="navpanel">
|
||
<div id="navbar">
|
||
<form class="search" role="search" id="search">
|
||
<i class="bi bi-search"></i>
|
||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||
</form>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</nav>
|
||
</header>
|
||
|
||
<main class="container-xxl">
|
||
<div class="toc-offcanvas">
|
||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||
<div class="offcanvas-header">
|
||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||
</div>
|
||
<div class="offcanvas-body">
|
||
<nav class="toc" id="toc"></nav>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="content">
|
||
<div class="actionbar">
|
||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||
<i class="bi bi-list"></i>
|
||
</button>
|
||
|
||
<nav id="breadcrumb"></nav>
|
||
</div>
|
||
|
||
<article data-uid="Hi.NcParsers.Dependencys">
|
||
|
||
<h1 id="Hi_NcParsers_Dependencys" data-uid="Hi.NcParsers.Dependencys" class="text-break">Namespace Hi.NcParsers.Dependencys</h1>
|
||
<div class="markdown level0 summary"></div>
|
||
<div class="markdown level0 conceptual"></div>
|
||
<div class="markdown level0 remarks"></div>
|
||
|
||
<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_PipelineNcDependencyList">PipelineNcDependencyList</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.
|
||
Provides shared data structures, XML IO, and <a class="xref" href="Hi.NcParsers.Dependencys.IHomeMcConfig.html">IHomeMcConfig</a></p>
|
||
<ul>
|
||
<li><a class="xref" href="Hi.NcParsers.Dependencys.IMachineAxisConfig.html">IMachineAxisConfig</a> implementations.
|
||
Subclasses define brand-specific parameter numbers, XML attribute names,
|
||
and derived convenience properties.</li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
<dl class="jumplist">
|
||
<dt><a class="xref" href="Hi.NcParsers.Dependencys.HeidenhainDatumTable.html">HeidenhainDatumTable</a></dt>
|
||
<dd><p>Heidenhain datum preset and datum shift tables.
|
||
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.HeidenhainDatumTableProxy.html">HeidenhainDatumTableProxy</a></dt>
|
||
<dd><p>Get-or-create <a class="xref" href="Hi.NcParsers.Dependencys.INcDependencyProxy.html">INcDependencyProxy</a> for <a class="xref" href="Hi.NcParsers.Dependencys.HeidenhainDatumTable.html">HeidenhainDatumTable</a>:
|
||
a placeholder in the shared <a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_PipelineNcDependencyList">PipelineNcDependencyList</a> that
|
||
resolves the host project's own per-case datum preset / datum shift tables.</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>
|
||
<dl class="jumplist">
|
||
<dt><a class="xref" href="Hi.NcParsers.Dependencys.MCodeEffects.html">MCodeEffects</a></dt>
|
||
<dd><p>What one machine-declared M-code does. Real-machine OEM M-codes are
|
||
frequently composite — e.g. an <code>M13</code> that means “spindle CW +
|
||
flood coolant on” — so a declaration carries every effect the code
|
||
performs rather than a single meaning, and additionally an
|
||
<a class="xref" href="Hi.NcParsers.Dependencys.MCodeEffects.html#Hi_NcParsers_Dependencys_MCodeEffects_UnmodeledNote">UnmodeledNote</a> for the parts this simulation does not
|
||
model. Declaring only the known parts and staying loud about the rest
|
||
keeps a composite code from being half-consumed silently.
|
||
Stored per machine in
|
||
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_MCodeDeclarations">MCodeDeclarations</a> and
|
||
consumed by <a class="xref" href="Hi.NcParsers.LogicSyntaxs.MCodeExpansionSyntax.html">MCodeExpansionSyntax</a>, which
|
||
expands the declared code into the canonical ISO flags the regular
|
||
consumers already understand.</p>
|
||
</dd>
|
||
</dl>
|
||
<dl class="jumplist">
|
||
<dt><a class="xref" href="Hi.NcParsers.Dependencys.StrokeLimitUtil.html">StrokeLimitUtil</a></dt>
|
||
<dd><p>Load-time audit helpers for <a class="xref" href="Hi.NcParsers.Dependencys.IStrokeLimitConfig.html">IStrokeLimitConfig</a>: which
|
||
machine-coordinate axes the chain has, and which of them the stroke limit
|
||
check cannot judge because no limit is configured. Both checks — the
|
||
per-block <a class="xref" href="Hi.NcParsers.Semantics.StrokeLimitCheckSemantic.html">StrokeLimitCheckSemantic</a> and the per-step
|
||
<a class="xref" href="Hi.NcParsers.Dependencys.IStrokeLimitConfig.html#Hi_NcParsers_Dependencys_IStrokeLimitConfig_CheckStrokeLimit_Hi_Geom_DVec3d_System_IProgress_Hi_Common_Messages_IMessage__">CheckStrokeLimit(DVec3d, IProgress<IMessage>)</a> — compare only axes that
|
||
carry a limit, so a machine file without limits passes every position
|
||
silently while <code>EnableStrokeLimitCheck</code> reads as on. The session
|
||
begin reports that gap once through these helpers.</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_PipelineNcDependencyList">PipelineNcDependencyList</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_PipelineNcDependencyList">PipelineNcDependencyList</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.
|
||
Implemented by brand-specific parameter tables
|
||
(e.g., <a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.html">FanucParameterTable</a> for Fanuc #4002,
|
||
<a class="xref" href="Hi.NcParsers.Dependencys.Syntec.SyntecParameterTable.html">SyntecParameterTable</a> for Syntec Pr4002)
|
||
and by <a class="xref" href="Hi.NcParsers.Dependencys.Generic.FallbackConfig.html">FallbackConfig</a> as a safety net.</p>
|
||
<p>
|
||
Siemens and Heidenhain specify peck clearance per-call
|
||
(CYCLE83 parameter / CYCL DEF), so their tables do not implement
|
||
this interface. The <a class="xref" href="Hi.NcParsers.Dependencys.Generic.FallbackConfig.html">FallbackConfig</a> provides
|
||
the default value in those cases.
|
||
</p>
|
||
</dd>
|
||
</dl>
|
||
<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.IIndexingPositionConfig.html">IIndexingPositionConfig</a></dt>
|
||
<dd><p>Indexing-axis position table: maps 1-based indexing position numbers to
|
||
axis coordinates for axes that only take up discrete stations (Hirth
|
||
couplings, indexing rotary tables, turret-style workholders). Consumed
|
||
by the coded-position coordinate functions (Siemens
|
||
<code>CAC()</code>/<code>CIC()</code>/<code>CDC()</code>/<code>CACP()</code>/<code>CACN()</code> —
|
||
unwrapped by <a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Siemens.SiemensAcIcSyntax.html">SiemensAcIcSyntax</a>,
|
||
resolved by <a class="xref" href="Hi.NcParsers.LogicSyntaxs.McAbcSyntax.html">McAbcSyntax</a> /
|
||
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.IncrementalResolveSyntax.html">IncrementalResolveSyntax</a> via
|
||
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.CodedPositionUtil.html">CodedPositionUtil</a>).
|
||
Implemented by <a class="xref" href="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.html">SiemensMachineDataTable</a> using the
|
||
Siemens machine data (MD30500 <code>$MA_INDEX_AX_ASSIGN_POS_TAB</code> per
|
||
axis; global tables MD10910/MD10930; equidistant MD30501–MD30503).</p>
|
||
<p>
|
||
Positions are expressed in the axis' native units (degrees for rotary,
|
||
mm for linear) in the coordinate frame the axis word itself is written
|
||
in — machine coordinates for rotary words, program coordinates for
|
||
linear words. Position numbering is 1-based: number 1 is the first
|
||
table entry (the Siemens machine-data help and alarm texts count this
|
||
way; the 0-based value range printed in some programming-manual
|
||
editions describes the machine-data array index, not the programmable
|
||
number).
|
||
</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">
|
||
<dt><a class="xref" href="Hi.NcParsers.Dependencys.IMCodeDeclarationConfig.html">IMCodeDeclarationConfig</a></dt>
|
||
<dd><p>Machine-declared M-code map: what each machine-specific (OEM/PLC) M-code
|
||
does, as <a class="xref" href="Hi.NcParsers.Dependencys.MCodeEffects.html">MCodeEffects</a> — possibly several effects per code
|
||
(tool change, spindle direction, coolant) plus a note for behavior this
|
||
simulation does not model. Consumed by
|
||
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.MCodeExpansionSyntax.html">MCodeExpansionSyntax</a>, which expands declared
|
||
codes into the canonical ISO flags ahead of the regular consumers.
|
||
Machine-level (per-case parameter table) rather than brand vocabulary —
|
||
implemented by <a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html">ControllerParameterTableBase</a>, alongside the
|
||
narrower <a class="xref" href="Hi.NcParsers.Dependencys.ISpindleControlConfig.html">ISpindleControlConfig</a> face over the same storage.</p>
|
||
</dd>
|
||
</dl>
|
||
<dl class="jumplist">
|
||
<dt><a class="xref" href="Hi.NcParsers.Dependencys.IMachineAxisConfig.html">IMachineAxisConfig</a></dt>
|
||
<dd><p>Machine axis configuration: which axes exist and their types.
|
||
Compatible with Fanuc, Siemens, Heidenhain, Mazak, Okuma.</p>
|
||
</dd>
|
||
</dl>
|
||
<dl class="jumplist">
|
||
<dt><a class="xref" href="Hi.NcParsers.Dependencys.INcDependency.html">INcDependency</a></dt>
|
||
<dd><p>Marker interface for objects that participate in the NC dependency list resolved by the soft-NC runtime.</p>
|
||
</dd>
|
||
</dl>
|
||
<dl class="jumplist">
|
||
<dt><a class="xref" href="Hi.NcParsers.Dependencys.INcDependencyListHost.html">INcDependencyListHost</a></dt>
|
||
<dd><p>Hosts a per-case <a class="xref" href="Hi.NcParsers.Dependencys.INcDependency.html">INcDependency</a> list that
|
||
<a class="xref" href="Hi.NcParsers.Dependencys.INcDependencyProxy.html">INcDependencyProxy</a> placeholders in a shared
|
||
<a class="xref" href="Hi.NcParsers.SoftNcRunner.html">SoftNcRunner</a> resolve their data against. Implemented by the
|
||
object owning both the shared runner and the varied setting data —
|
||
e.g. <code>MachiningProject</code>.</p>
|
||
</dd>
|
||
</dl>
|
||
<dl class="jumplist">
|
||
<dt><a class="xref" href="Hi.NcParsers.Dependencys.INcDependencyProxy.html">INcDependencyProxy</a></dt>
|
||
<dd><p>An <a class="xref" href="Hi.NcParsers.Dependencys.INcDependency.html">INcDependency</a> placeholder that resolves the <em>real</em>
|
||
dependency lazily at pipeline-build time instead of carrying the data
|
||
itself. Lets a shared <a class="xref" href="Hi.NcParsers.SoftNcRunner.html">SoftNcRunner</a> hold only the fixed
|
||
pipeline logic while the frequently-varied data lives on the owning
|
||
<a class="xref" href="Hi.NcParsers.Dependencys.INcDependencyListHost.html">INcDependencyListHost</a> (e.g. a <code>MachiningProject</code>).</p>
|
||
<p>
|
||
"Maker and taker": <a class="xref" href="Hi.NcParsers.Dependencys.INcDependencyProxy.html#Hi_NcParsers_Dependencys_INcDependencyProxy_GetNcDependency">GetNcDependency()</a> either constructs the
|
||
dependency on demand (maker) or fetches one from the host wired by
|
||
<a class="xref" href="Hi.NcParsers.Dependencys.INcDependencyProxy.html#Hi_NcParsers_Dependencys_INcDependencyProxy_InitNcDependencyHost_Hi_NcParsers_Dependencys_INcDependencyListHost_">InitNcDependencyHost(INcDependencyListHost)</a> (taker). A get-or-create proxy does
|
||
both — it takes the host's instance when present and otherwise makes one,
|
||
installing it into the host list so it persists and is editable per case.
|
||
</p>
|
||
<p>
|
||
A proxy may carry runtime-only state (the wired host, a memoized resolved
|
||
dependency). That state is host-wired per run and MUST NOT be written by
|
||
<a class="xref" href="Hi.Common.XmlUtils.IMakeXmlSource.html#Hi_Common_XmlUtils_IMakeXmlSource_MakeXmlSource_System_String_System_String_System_Boolean_">MakeXmlSource(string, string, bool)</a> — same
|
||
runtime-only posture as <a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.ProjectFolderDependency.html">ProjectFolderDependency</a>.
|
||
</p>
|
||
</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.ISpindleControlConfig.html">ISpindleControlConfig</a></dt>
|
||
<dd><p>Machine-specific spindle control codes: maps custom spindle direction
|
||
M-codes to <a class="xref" href="Hi.Numerical.SpindleDirection.html">SpindleDirection</a> — e.g., an ultrasonic spindle
|
||
started by <code>M203</code> (CW) and stopped by <code>M205</code> (STOP) instead of
|
||
ISO M03/M05. Consulted by
|
||
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.SpindleSpeedSyntax.html">SpindleSpeedSyntax</a> in addition to the
|
||
built-in ISO defaults (M03/M04/M05), which always stay in effect;
|
||
a configured code wins over its ISO meaning when both match.
|
||
Machine-level (per-case parameter table) rather than brand vocabulary —
|
||
implemented by <a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html">ControllerParameterTableBase</a> as a
|
||
spindle-direction face over its
|
||
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_MCodeDeclarations">MCodeDeclarations</a> storage
|
||
(the multi-effect <a class="xref" href="Hi.NcParsers.Dependencys.IMCodeDeclarationConfig.html">IMCodeDeclarationConfig</a> map), so one
|
||
code is never half-recognized by two separate maps.</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">
|
||
<dt><a class="xref" href="Hi.NcParsers.Dependencys.IToolChangeTriggerConfig.html">IToolChangeTriggerConfig</a></dt>
|
||
<dd><p>Machine-level tool-change trigger mode. Machining centers with a
|
||
magazine treat a bare <code>T</code> word as pre-selection only (the magazine
|
||
rotates, no feed axis moves) and change the tool on the trigger M-code;
|
||
lathes/turret machines index the turret — and thereby change the tool —
|
||
on the <code>T</code> word itself. Real controllers declare this per machine
|
||
(e.g. Siemens MD22550 <code>$MC_TOOL_CHANGE_MODE</code>, where 0 means the
|
||
<code>T</code> word performs the change). Consulted by
|
||
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.ToolChangeSyntax.html">ToolChangeSyntax</a>; machine-level (per-case
|
||
parameter table) rather than brand vocabulary — implemented by
|
||
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html">ControllerParameterTableBase</a>. Custom trigger M-codes are
|
||
the separate <a class="xref" href="Hi.NcParsers.Dependencys.IMCodeDeclarationConfig.html">IMCodeDeclarationConfig</a> concern
|
||
(<a class="xref" href="Hi.NcParsers.Dependencys.MCodeEffects.html#Hi_NcParsers_Dependencys_MCodeEffects_IsToolChange">IsToolChange</a>).</p>
|
||
</dd>
|
||
</dl>
|
||
<dl class="jumplist">
|
||
<dt><a class="xref" href="Hi.NcParsers.Dependencys.IToolOffsetConfig.html">IToolOffsetConfig</a></dt>
|
||
<dd><p>Tool offset configuration indexed by a single integer offset number.
|
||
Applies to Fanuc (H/D numbers), Heidenhain (tool number), Mazak, Okuma,
|
||
and other ISO-compatible controllers where one integer selects the offset row.</p>
|
||
<p>
|
||
For Siemens (840D/Sinumerik) where offsets are addressed by
|
||
(tool number, cutting edge D number), see
|
||
<a class="xref" href="Hi.NcParsers.Dependencys.Siemens.ISiemensToolOffsetConfig.html">ISiemensToolOffsetConfig</a>.
|
||
</p>
|
||
</dd>
|
||
</dl>
|
||
<dl class="jumplist">
|
||
<dt><a class="xref" href="Hi.NcParsers.Dependencys.IToolingMcConfig.html">IToolingMcConfig</a></dt>
|
||
<dd><p>Machine position axes move to during tool change (M06).</p>
|
||
</dd>
|
||
</dl>
|
||
<h3 id="enums">
|
||
Enums
|
||
</h3>
|
||
<dl class="jumplist">
|
||
<dt><a class="xref" href="Hi.NcParsers.Dependencys.AxisType.html">AxisType</a></dt>
|
||
<dd><p>Axis type: linear (translation), rotary (rotation), or spindle (speed/positioning dual mode).</p>
|
||
</dd>
|
||
</dl>
|
||
|
||
|
||
</article>
|
||
|
||
<div class="contribution d-print-none">
|
||
</div>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="affix">
|
||
<nav id="affix"></nav>
|
||
</div>
|
||
</main>
|
||
|
||
<div class="container-xxl search-results" id="search-results"></div>
|
||
|
||
<footer class="border-top text-secondary">
|
||
<div class="container-xxl">
|
||
<div class="flex-fill">
|
||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||
</div>
|
||
</div>
|
||
</footer>
|
||
</body>
|
||
</html>
|