Table of Contents

Class Vars

Namespace
Hi.NcParsers.Keywords
Assembly
HiMech.dll

JSON section schema for per-block variable storage. Each sub-property names a sub-section that holds a { “#nnn”: value } dictionary keyed by Fanuc-style variable id.

The sub-sections partition the variable space by lifetime:

  • Local#1-#33, scope: macro call frame (pushed/popped by G65 / G66 / M99).
  • Volatile#100-#499, non-retained common; carries block-to-block, cleared by ProgramEndCleanSyntax on M02 / M30.
  • SystemControl#3000-#3999, controller-side system variables; offline-only round-trip record (real controller effects such as clock reset / alarm trigger / message pause are not simulated).

The property types are JsonObject rather than strongly-typed dictionaries because each sub-section's keys are dynamic Fanuc variable ids (#100, #5001, …) discovered at parse time, not a fixed schema. This class exists solely to give the section name and sub-keys stable nameof() targets — instances are never constructed at runtime.

public class Vars
Inheritance
Vars
Inherited Members
Extension Methods

Properties

Local

Macro-local sub-section (#1-#33).

public JsonObject Local { get; set; }

Property Value

JsonObject

SystemControl

System-control sub-section (#3000-#3999).

public JsonObject SystemControl { get; set; }

Property Value

JsonObject

Volatile

Non-retained common sub-section (#100-#499).

public JsonObject Volatile { get; set; }

Property Value

JsonObject