Class Vars
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 byProgramEndCleanSyntaxon 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
SystemControl
System-control sub-section (#3000-#3999).
public JsonObject SystemControl { get; set; }
Property Value
Volatile
Non-retained common sub-section (#100-#499).
public JsonObject Volatile { get; set; }