48 lines
2.3 KiB
C#
48 lines
2.3 KiB
C#
namespace ZB.MOM.WW.OtOpcUa.Driver.FOCAS;
|
|
|
|
/// <summary>
|
|
/// Fanuc CNC controller series. Used by <see cref="FocasCapabilityMatrix"/> to
|
|
/// gate which FOCAS addresses + value ranges the driver accepts against a given
|
|
/// CNC — the FOCAS API surface varies meaningfully between series (macro ranges,
|
|
/// PMC address letters, parameter numbers). A tag reference that's valid on a
|
|
/// 30i might be out-of-range on an 0i-MF; validating at driver
|
|
/// <c>InitializeAsync</c> time surfaces the mismatch as a fast config error
|
|
/// instead of a runtime read failure after the server's already running.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// <para>Values chosen from the Fanuc FOCAS Developer Kit documented series
|
|
/// matrix. Add a new entry + a row to <see cref="FocasCapabilityMatrix"/> when
|
|
/// a new controller is targeted — the driver will refuse the device until both
|
|
/// sides of the enum are filled in.</para>
|
|
/// <para>Defaults to <see cref="Unknown"/> when the operator doesn't specify;
|
|
/// the capability matrix treats Unknown as permissive (no range validation,
|
|
/// same as pre-matrix behaviour) so old configs don't break on upgrade.</para>
|
|
/// </remarks>
|
|
public enum FocasCncSeries
|
|
{
|
|
/// <summary>No series declared; capability matrix is permissive (legacy behaviour).</summary>
|
|
Unknown = 0,
|
|
|
|
/// <summary>Series 0i-D — compact CNC, narrow macro + PMC ranges.</summary>
|
|
Zero_i_D,
|
|
/// <summary>Series 0i-F — successor to 0i-D; widened macro range, added Plus variant.</summary>
|
|
Zero_i_F,
|
|
/// <summary>Series 0i-MF / 0i-MF Plus — machining-centre variants of 0i-F.</summary>
|
|
Zero_i_MF,
|
|
/// <summary>Series 0i-TF / 0i-TF Plus — turning-centre variants of 0i-F.</summary>
|
|
Zero_i_TF,
|
|
|
|
/// <summary>Series 16i / 18i / 21i — mid-range legacy; narrow ranges, limited PMC letters.</summary>
|
|
Sixteen_i,
|
|
|
|
/// <summary>Series 30i — high-end; widest macro / PMC / parameter ranges.</summary>
|
|
Thirty_i,
|
|
/// <summary>Series 31i — subset of 30i (fewer axes, same FOCAS surface).</summary>
|
|
ThirtyOne_i,
|
|
/// <summary>Series 32i — compact 30i variant.</summary>
|
|
ThirtyTwo_i,
|
|
|
|
/// <summary>Power Motion i — motion-control variant; atypical macro coverage.</summary>
|
|
PowerMotion_i,
|
|
}
|