namespace ZB.MOM.WW.OtOpcUa.Driver.FOCAS; /// /// Fanuc CNC controller series. Used by 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 /// InitializeAsync time surfaces the mismatch as a fast config error /// instead of a runtime read failure after the server's already running. /// /// /// Values chosen from the Fanuc FOCAS Developer Kit documented series /// matrix. Add a new entry + a row to when /// a new controller is targeted — the driver will refuse the device until both /// sides of the enum are filled in. /// Defaults to 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. /// public enum FocasCncSeries { /// No series declared; capability matrix is permissive (legacy behaviour). Unknown = 0, /// Series 0i-D — compact CNC, narrow macro + PMC ranges. Zero_i_D, /// Series 0i-F — successor to 0i-D; widened macro range, added Plus variant. Zero_i_F, /// Series 0i-MF / 0i-MF Plus — machining-centre variants of 0i-F. Zero_i_MF, /// Series 0i-TF / 0i-TF Plus — turning-centre variants of 0i-F. Zero_i_TF, /// Series 16i / 18i / 21i — mid-range legacy; narrow ranges, limited PMC letters. Sixteen_i, /// Series 30i — high-end; widest macro / PMC / parameter ranges. Thirty_i, /// Series 31i — subset of 30i (fewer axes, same FOCAS surface). ThirtyOne_i, /// Series 32i — compact 30i variant. ThirtyTwo_i, /// Power Motion i — motion-control variant; atypical macro coverage. PowerMotion_i, }