Archived
deploy.
This commit is contained in:
@@ -119,7 +119,15 @@ sub-section on this block, which
|
||||
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.CannedCycleResolveSyntax.html">CannedCycleResolveSyntax</a> resolves and the shared cycle
|
||||
syntaxes expand into a <a class="xref" href="Hi.NcParsers.Keywords.CompoundMotion.html">CompoundMotion</a>. POS coordinates
|
||||
override the stored X/Y; the POS Z is a pre-position, recorded but
|
||||
never fed into the hole-bottom slot. The ISO modal-lookback branch is
|
||||
never fed into the hole-bottom slot. Words carrying the klartext
|
||||
incremental stamp — POS words (<code>CYCL CALL POS IX+20</code>) and root
|
||||
words on the M99/M89 forms (<code>L IX+20 R0 FMAX M99</code> — the
|
||||
manual's hole-group shape), see
|
||||
<a class="xref" href="Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainIncrementalAxisWordUtil.html">HeidenhainIncrementalAxisWordUtil</a> — are resolved
|
||||
against the last programmed position here, on the spot: this syntax
|
||||
runs ahead of the shared <a class="xref" href="Hi.NcParsers.LogicSyntaxs.IncrementalResolveSyntax.html">IncrementalResolveSyntax</a> and
|
||||
consumes the words, so the per-word override would otherwise be lost
|
||||
and the hole drilled at the raw distance. The ISO modal-lookback branch is
|
||||
deliberately bypassed: it has no positioning gate, so an armed
|
||||
<a class="xref" href="Hi.NcParsers.Keywords.CannedCycle.html">CannedCycle</a> would re-execute on flag-only blocks —
|
||||
wrong for klartext.</li><li><b>Modal</b> (<code>M89</code>): sets <a class="xref" href="Hi.NcParsers.Keywords.Heidenhain.MachiningCycleDef.html#Hi_NcParsers_Keywords_Heidenhain_MachiningCycleDef_Modal">Modal</a>;
|
||||
@@ -136,7 +144,10 @@ Known divergences (recorded, corpus-benign): the cycle's mapped feed
|
||||
enters the modal <a class="xref" href="Hi.NcParsers.Keywords.Feedrate.html">Feedrate</a> section during expansion (ISO
|
||||
semantics; the Siemens MCALL precedent accepts the same leak); the
|
||||
final retract plane is the ISO G98 initial level, not Q204's second
|
||||
set-up clearance (Q204 is recorded in the definition store only).
|
||||
set-up clearance (Q204 is recorded in the definition store only) —
|
||||
and an incremental Z word chained off a cycle end (<code>L IZ..</code>,
|
||||
<code>CYCL CALL POS IZ..</code>) inherits that gap, since it adds to the
|
||||
simulated end plane.
|
||||
</p>
|
||||
Must run after the tilt/RTCP family and immediately before
|
||||
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.CannedCycleResolveSyntax.html">CannedCycleResolveSyntax</a>.
|
||||
@@ -151,6 +162,15 @@ program coordinates). Self-carrying every block (PlaneSelect pattern
|
||||
works without ModalCarry involvement; a CC with partial axes merges
|
||||
the missing components from the previous center. Must run before
|
||||
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.Heidenhain.HeidenhainCircularMotionSyntax.html">HeidenhainCircularMotionSyntax</a>.</p>
|
||||
<p>
|
||||
A <code>CC</code> stating no coordinates
|
||||
(<a class="xref" href="Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCcSyntax.html#Hi_NcParsers_ParsingSyntaxs_Heidenhain_HeidenhainCcSyntax_BareKey">BareKey</a>) takes the last programmed
|
||||
position, read at THIS block and frozen into the section — the
|
||||
documented klartext form whose purpose is that the tool moves away
|
||||
before the arc, so a later read at the arc block would take the arc's
|
||||
own start point instead. Being a definition, it replaces the modal
|
||||
center rather than inheriting the previous one's axes.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
@@ -165,12 +185,20 @@ the reverse) and both honor the single Group 01
|
||||
Gated by the <code>Parsing.C</code> statement marker (klartext arcs
|
||||
carry no G02/G03 and no modal arc continuation): the endpoint comes
|
||||
from the block's resolved <code>ProgramXyz</code>, the center from the
|
||||
modal <a class="xref" href="Hi.NcParsers.LogicSyntaxs.Heidenhain.HeidenhainCircleCenterSyntax.html">HeidenhainCircleCenterSyntax</a> section (implicit
|
||||
center = current position when no CC was ever given), and the
|
||||
modal <a class="xref" href="Hi.NcParsers.LogicSyntaxs.Heidenhain.HeidenhainCircleCenterSyntax.html">HeidenhainCircleCenterSyntax</a> section, and the
|
||||
direction from <code>DR-</code> (CW → G02) / <code>DR+</code> (CCW → G03). A
|
||||
closed arc on the active plane is a full circle. A missing DR warns
|
||||
(<code>Arc-DR–Missing</code>) and degrades to the modal linear move to the
|
||||
endpoint (chord).</p>
|
||||
closed arc on the active plane is a full circle. Two malformed shapes
|
||||
warn and degrade to the modal linear move to the endpoint (chord): a
|
||||
missing DR (<code>Arc-DR–Missing</code>), and a center sitting on the arc's
|
||||
own start point (<code>Arc-CircleCenter–OnStartPoint</code>) — a zero begin
|
||||
radius that emits no motion act at all while the endpoint still
|
||||
advances the modal position. A CC that states only ONE in-plane
|
||||
coordinate is not degraded: that arc has real geometry, and only the
|
||||
optimizer's splition refuses it (see below). The event is stamped with its
|
||||
<a class="xref" href="Hi.NcParsers.Keywords.IArcMotionDef.html#Hi_NcParsers_Keywords_IArcMotionDef_CenterSource">CenterSource</a>
|
||||
(<a class="xref" href="Hi.NcParsers.Keywords.Generic.ArcCenterSource.html#Hi_NcParsers_Keywords_Generic_ArcCenterSource_ModalCircleCenter">ModalCircleCenter</a> /
|
||||
<a class="xref" href="Hi.NcParsers.Keywords.Generic.ArcCenterSource.html#Hi_NcParsers_Keywords_Generic_ArcCenterSource_StartPoint">StartPoint</a>) because a C block never
|
||||
states its center — the NcOpt splition write-back reads it.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
@@ -193,7 +221,15 @@ in the transform chain instead of replacing each other. The shift is
|
||||
carried modally by this syntax itself: on blocks without a CYCL DEF,
|
||||
a numbered row re-resolves from the table and a direct shift carries
|
||||
its values forward. Cancelling is a zero shift
|
||||
(<code>CYCL DEF 7.1 X+0 Y+0 Z+0</code>).
|
||||
(<code>CYCL DEF 7.1 X+0 Y+0 Z+0</code>). A klartext I-prefixed word
|
||||
(<code>CYCL DEF 7.2 IY+5</code>, kept under its prefixed key in the record
|
||||
by the parser) shifts BY the value on top of the shift active on the
|
||||
previous block — the manual's "incremental values are always
|
||||
referenced to the datum which was last valid, this can be a datum
|
||||
which has already been shifted" — never a distance from the tool
|
||||
position, which is why it bypasses the
|
||||
<a class="xref" href="Hi.NcParsers.Keywords.PositioningOverride.html">PositioningOverride</a> /
|
||||
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.IncrementalResolveSyntax.html">IncrementalResolveSyntax</a> route entirely.
|
||||
</p>
|
||||
For DIN/ISO compatibility (G54–G59), use <a class="xref" href="Hi.NcParsers.LogicSyntaxs.IsoCoordinateOffsetSyntax.html">IsoCoordinateOffsetSyntax</a>
|
||||
in addition to this syntax in the Heidenhain syntax list.
|
||||
@@ -248,6 +284,46 @@ unchanged, so a fail-soft call never silently drops the retract.</li></ul>
|
||||
Must run after the shared cycle syntaxes
|
||||
(<a class="xref" href="Hi.NcParsers.LogicSyntaxs.DrillingCycleSyntax.html">DrillingCycleSyntax</a>/<a class="xref" href="Hi.NcParsers.LogicSyntaxs.PeckDrillingCycleSyntax.html">PeckDrillingCycleSyntax</a>)
|
||||
and before <a class="xref" href="Hi.NcParsers.LogicSyntaxs.McXyzSyntax.html">McXyzSyntax</a>.
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Hi.NcParsers.LogicSyntaxs.Heidenhain.HeidenhainLnOrientationSyntax.html">HeidenhainLnOrientationSyntax</a></dt>
|
||||
<dd><p>Heidenhain LN posture rules — the brand adapter between the
|
||||
<code>Parsing.LN</code> vector record (<a class="xref" href="Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLnSyntax.html">HeidenhainLnSyntax</a>)
|
||||
and the shared <a class="xref" href="Hi.NcParsers.LogicSyntaxs.OrientationVectorResolveSyntax.html">OrientationVectorResolveSyntax</a>. Applies
|
||||
the TNC640/TNC7 manual's rules verbatim:</p>
|
||||
<ul><li>T vector present + M128/FUNCTION TCPM active → the tool axis
|
||||
is T ("Tool keeps the set tool orientation").</li><li>T absent + RTCP active → the tool axis is the surface normal
|
||||
N ("the control maintains the tool perpendicular to the workpiece
|
||||
contour").</li><li>RTCP inactive → the T vector is ignored, exactly like the
|
||||
control ("the control ignores the direction vector T, even if it is
|
||||
defined in the LN block") — diagnosed as
|
||||
<code>Orientation-Vector--IgnoredNoTcpm</code>, posture untouched.</li></ul>
|
||||
The chosen vector is written (verbatim within the unit-length
|
||||
tolerance; normalized with a diagnostic beyond it) to the brand-agnostic
|
||||
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.OrientationVectorResolveSyntax.html#Hi_NcParsers_LogicSyntaxs_OrientationVectorResolveSyntax_ToolOrientationKey">ToolOrientationKey</a>
|
||||
section; the surface normal is always carried on
|
||||
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.OrientationVectorResolveSyntax.html#Hi_NcParsers_LogicSyntaxs_OrientationVectorResolveSyntax_SurfaceNormalKey">SurfaceNormalKey</a> —
|
||||
compensation along it (DR2 / 3D-ToolComp) is recognized, not
|
||||
simulated (<code>SurfaceNormal--CompNotSimulated</code>, first LN block of
|
||||
a run only).
|
||||
<p>
|
||||
RTCP activity is judged dual-source — the same-block Parsing words
|
||||
(M128 / FUNCTION TCPM, before <a class="xref" href="Hi.NcParsers.LogicSyntaxs.Heidenhain.HeidenhainRtcpSyntax.html">HeidenhainRtcpSyntax</a>
|
||||
consumes them; the same-block on+off contradiction resolves off, the
|
||||
P1 rule) OR the most recent
|
||||
<a class="xref" href="Hi.NcParsers.Keywords.IToolHeightCompensationDef.html">IToolHeightCompensationDef</a> owner term — so an LN block
|
||||
that itself activates RTCP is not silently skipped.
|
||||
</p>
|
||||
<p>
|
||||
Must run <b>after</b> <a class="xref" href="Hi.NcParsers.LogicSyntaxs.McAbcSyntax.html">McAbcSyntax</a> and <b>before</b>
|
||||
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.OrientationVectorResolveSyntax.html">OrientationVectorResolveSyntax</a> (the producer/consumer
|
||||
order) and before <a class="xref" href="Hi.NcParsers.LogicSyntaxs.Heidenhain.HeidenhainRtcpSyntax.html">HeidenhainRtcpSyntax</a> (which reads
|
||||
the resolved endpoint ABC for its Dynamic/Static marking).
|
||||
The vector is interpreted in the untilted program frame; combining
|
||||
LN with an active PLANE tilt is diagnosed
|
||||
(<code>Orientation-Vector--TiltedFrameAssumed</code>), not remapped.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
|
||||
Reference in New Issue
Block a user