This commit is contained in:
2026-09-11 03:46:11 +08:00
parent 45b9f9ed5d
commit b7f55aa631
114 changed files with 3646 additions and 576 deletions
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="Class SiemensCycle800TiltSyntax | HiAPI-C# 2025 ">
<meta name="description" content="Siemens CYCLE800 (swivel cycle): resolves the tilted work plane from the positional arguments captured by and composes it into as the shared entry — the Siemens sibling of its XmlDoc promises. Unlike Fanuc G68.2 (plane only), CYCLE800 also positions the rotary axes implicitly (the G53.1 half): with wired, the tilt normal is solved to machine ABC and written into , and the block gets a non-modal rapid with Term = &amp;ldquo;CYCLE800&amp;rdquo; (mirroring ). Argument layout (HardNc reference NcArgCycle800): CYCLE800(FR, TC, ST, MODE, X0, Y0, Z0, A, B, C, X1, Y1, Z1, DIR [, FR_I, DMODE]) — 15- and 16-arg post variants both occur in the corpus. MODE is bit-coded: bits 7-6 select the swivel mode (00 axis-by-axis, 01 solid angle, 10 projection angle, 11 direct rotary), bit pairs 1-0/3-2/5-4 select each angle&#39;s axis (01=X, 10=Y, 11=Z). The motion-convention matrix is T(X1,Y1,Z1) &#183; R &#183; T(X0,Y0,Z0) (row-vector; the post-rotation zero offset applies innermost). ST units digit 1 composes additively onto the current programmable frame; FR/FR_I retraction and DIR solution preference are recorded in the section but not simulated (DIR = 0 suppresses the rotary positioning, per the control&#39;s frame-only variant). Cancel forms — bare CYCLE800, empty parentheses, the single-argument CYCLE800(0), or swivel-data-record name TC = &quot;0&quot; — reset the tilt to the shared inactive sentinel (Term = &quot;G69&quot; + identity entry, HardNc&#39;s convention). An in-between argument count (1–9 with a live TC) is treated as a truncated/unmodeled capture, not a cancel — warning + visible residue, so a mis-parsed call can never silently drop an active swivel. The rotary axes are not re-positioned on cancel: the retract/re-orient behavior depends on the machine&#39;s swivel data record, which does not exist offline; corpus programs follow the cancel with explicit G0 A.. C.. moves anyway. Fail-soft: a non-numeric argument (machine-runtime variable) leaves the Parsing.CYCLE800 residue visible and applies no transform (Coord-Tilt--003); an IK failure keeps the euler tilt and skips positioning (Coord-Tilt--004); a rotating CYCLE800 on a machine without kinematics/rotary axes keeps the tilt and warns (Coord-Tilt--005). Must run before (which owns the once-per-block modal carry and composes additive AROT/ATRANS onto this cycle&#39;s fresh matrix) and before the coordinate-offset syntaxes (chain order: frame entry ahead of CoordinateOffset).">
<meta name="description" content="Siemens CYCLE800 (swivel cycle): resolves the tilted work plane from the positional arguments captured by and composes it into as the shared entry — the Siemens sibling of its XmlDoc promises. Unlike Fanuc G68.2 (plane only), CYCLE800 also positions the rotary axes implicitly (the G53.1 half): with wired, the tilt normal is solved to machine ABC and written into , and the block gets a non-modal rapid with Term = &amp;ldquo;CYCLE800&amp;rdquo; (mirroring ). Argument layout (HardNc reference NcArgCycle800): CYCLE800(FR, TC, ST, MODE, X0, Y0, Z0, A, B, C, X1, Y1, Z1, DIR [, FR_I, DMODE]) — 15- and 16-arg post variants both occur in the corpus. MODE is bit-coded: bits 7-6 select the swivel mode (00 axis-by-axis, 01 solid angle, 10 projection angle, 11 direct rotary), bit pairs 1-0/3-2/5-4 select each angle&#39;s axis (01=X, 10=Y, 11=Z). The motion-convention matrix is T(X1,Y1,Z1) &#183; R &#183; T(X0,Y0,Z0) (row-vector; the post-rotation zero offset applies innermost). ST units digit 1 composes additively onto the current programmable frame; FR/FR_I retraction and DIR solution preference are recorded in the section but not simulated (DIR = 0 suppresses the rotary positioning, per the control&#39;s frame-only variant). Cancel forms — bare CYCLE800, empty parentheses, the single-argument CYCLE800(0), or swivel-data-record name TC = &quot;0&quot; — reset the tilt to the shared inactive sentinel (Term = &quot;G69&quot; + identity entry, HardNc&#39;s convention). An in-between argument count (1–9 with a live TC) is treated as a truncated/unmodeled capture, not a cancel — warning + visible residue, so a mis-parsed call can never silently drop an active swivel. The rotary axes are not re-positioned on cancel: the retract/re-orient behavior depends on the machine&#39;s swivel data record, which does not exist offline; corpus programs follow the cancel with explicit G0 A.. C.. moves anyway. Fail-soft: a non-numeric argument (machine-runtime variable) leaves the Parsing.CYCLE800 residue visible and applies no transform (Coord-Tilt--Cycle800NonNumericArgument; an undocumented 1–9 argument spelling is left as residue the same way, as Coord-Tilt--003); an IK failure keeps the euler tilt and skips positioning (Coord-Tilt--004); a rotating CYCLE800 on a machine without kinematics/rotary axes keeps the tilt and warns (Coord-Tilt--005). Must run before (which owns the once-per-block modal carry and composes additive AROT/ATRANS onto this cycle&#39;s fresh matrix) and before the coordinate-offset syntaxes (chain order: frame entry ahead of CoordinateOffset).">
<link rel="icon" href="../img/HiAPI.favicon.ico">
<link rel="stylesheet" href="../public/docfx.min.css">
<link rel="stylesheet" href="../public/main.css">
@@ -142,7 +142,9 @@ cancel with explicit <code>G0 A.. C..</code> moves anyway.
<p>
Fail-soft: a non-numeric argument (machine-runtime variable) leaves
the <code>Parsing.CYCLE800</code> residue visible and applies no transform
(<code>Coord-Tilt--003</code>); an IK failure keeps the euler tilt and
(<code>Coord-Tilt--Cycle800NonNumericArgument</code>; an undocumented 1–9
argument spelling is left as residue the same way, as
<code>Coord-Tilt--003</code>); an IK failure keeps the euler tilt and
skips positioning (<code>Coord-Tilt--004</code>); a rotating CYCLE800 on a
machine without kinematics/rotary axes keeps the tilt and warns
(<code>Coord-Tilt--005</code>).