Class SiemensLoopFrame
One entry on the SiemensLoopFrames stack. Identity is
(Kind, FilePath, BeginLineNo) — the file path disambiguates a
loop line in the main program from the same line number inside an
inlined subprogram, and lets the terminator refuse a cross-file
mismatch.
public class SiemensLoopFrame
- Inheritance
-
SiemensLoopFrame
- Inherited Members
- Extension Methods
Fields
KindFor
Kind value for FOR frames.
public const string KindFor = "FOR"
Field Value
KindLoop
Kind value for LOOP frames.
public const string KindLoop = "LOOP"
Field Value
KindRepeat
Kind value for REPEAT/UNTIL frames.
public const string KindRepeat = "REPEAT"
Field Value
KindWhile
Kind value for WHILE frames.
public const string KindWhile = "WHILE"
Field Value
Properties
AdvancePending
FOR frames only: set by the ENDFOR back-jump just before it
rewinds, cleared by the FOR head on arrival. Distinguishes the
legitimate iteration re-arrival (advance the counter) from a
re-entry via GOTOF/GOTOB while the frame is still on
the stack — Sinumerik restarts the construct in that case, so the
FOR head drops the stale frame and re-initialises.
public bool AdvancePending { get; set; }
Property Value
BeginLineNo
0-based file line index of the loop-entry block — the back-jump target.
public int BeginLineNo { get; set; }
Property Value
End
FOR frames only: inclusive end bound resolved once at loop entry.
public double End { get; set; }
Property Value
FilePath
Source-level file path of the loop-entry block (Sentence.FilePath relative form).
public string FilePath { get; set; }
Property Value
Kind
Construct kind: one of the Kind* constants.
public string Kind { get; set; }
Property Value
Value
FOR frames only: current counter value.
public double Value { get; set; }
Property Value
Var
FOR frames only: loop variable name.
public string Var { get; set; }