Class RadiusCompPlaneChange
Classifies a plane selection (G17/G18/G19) that arrives while cutter radius compensation is still active — the case a real control refuses. Fanuc stops with alarm PS0037 CAN NOT CHANGE PLANE IN CRC, which covers both a plane code inside the compensation mode and a plane code sharing its block with the G40 that cancels it; Siemens and Heidenhain have equivalents. Neither engine can honour such a change: the corner between the two blocks is built from one block's running axis on the old plane and the other's on the new one, so the path around the change mixes two planes — and the block after it is offset on a plane the block before it never saw. The diagnostics built from this class exist to name that; they never change the path.
The check is on the plane actually resolving differently from the previous block's, so a plane code that re-selects the plane already in force stays silent, as does the plane code on the block that starts the region (a control accepts that one — compensation is not active yet).
public static class RadiusCompPlaneChange
- Inheritance
-
RadiusCompPlaneChange
- Inherited Members
Fields
DiagnosticId
Diagnostic id shared by the SoftNc and HardNc compensation paths.
public const string DiagnosticId = "RadiusComp--PlaneChangeInRegion"
Field Value
Methods
TryDescribe(string, string, string, out string, out Dictionary<string, object>)
Describes a plane change inside a compensation region: returns the
constant notification text and a value-carrying
detail when fromPlane and
toPlane differ, and false when they agree (a
re-select of the plane already in force) or either is unknown.
public static bool TryDescribe(string fromPlane, string toPlane, string compensationTerm, out string text, out Dictionary<string, object> detail)
Parameters
fromPlanestringPlane code in force on the previous block (G17/G18/G19).
toPlanestringPlane code this block resolves to.
compensationTermstringThe G code the region runs under (G41/G42).
textstringConstant notification text (fold-stable), or null.
detailDictionary<string, object>The two planes and the compensation mode, or null.