Sinumerik 828D Machine Data & Setting Data
What Machine Data Is
Machine data (MD) is Siemens' equivalent of Fanuc parameters — the configuration values that define how the control and machine behave. Setting data (SD) is the operator-adjustable subset, roughly equivalent to Fanuc's SETTING page. Every entry has both a number and a plain-text identifier (e.g., MD10240 $MN_SCALING_SYSTEM_IS_METRIC), and that $-prefixed identifier is how you read the value from a part program.
The number tells you the scope, and the prefix matches it:
| Number Range | Prefix | Scope | Notes |
|---|---|---|---|
| 9000–9999 | — | Display (HMI) machine data | Screen behavior, language, tooltips; not read from part programs |
| 10000–18999 | $MN_ | General NC machine data | One value for the whole control (axis names, scaling, memory) |
| 20000–28999 | $MC_ | Channel-specific machine data | Per machining channel (G-code defaults, tool management, R-parameter count) |
| 30000–38999 | $MA_ | Axis-specific machine data | One value per axis/spindle (speeds, accel, limits, backlash) |
| 41000–41999 | $SN_ | General setting data | Operator-level; JOG increments and speeds |
| 42000–42999 | $SC_ | Channel setting data | Operator-level; per-channel behavior |
| 43000–43999 | $SA_ | Axis setting data | Operator-level; e.g., G25/G26 spindle speed limits |
| 51000–53999 | $MNS_ / $MCS_ / $MAS_ | Cycle machine data | Configure Siemens standard cycles and ShopMill/ShopTurn screens |
| 54000–55999 | $SNS_ / $SCS_ / $SAS_ | Cycle setting data | Operator-level cycle behavior (e.g., input feed limits) |
| p / r parameters | p1082, r0002, … | SINAMICS drive parameters | Live in the drive, not the NC; p = adjustable, r = read-only display |
Coming from Fanuc: think of general/channel/axis MD as Fanuc's system, path, and axis-type parameters; setting data as the SETTING page; and drive p-parameters as the servo/spindle amplifier parameters. The big usability difference is that Siemens data has readable names on the control — you search for MAX_AX_VELO instead of memorizing a number.
Activation Types — When a Change Takes Effect
Every MD has an activation type shown in its data screen. This is the number-one thing that trips up people new to Siemens: you change a value, nothing happens, and the reason is you haven't performed the required activation action yet.
| Code | Activation | What it takes | Priority |
|---|---|---|---|
po | POWER ON | “Reset (po)” softkey (NCK reset) or cycling control power. A full machine power cycle is not usually required — the softkey restarts the NC. | Highest |
cf | NEW_CONF | “Activate MD” softkey, or the NEWCONF command in a part program. Axis-specific MDs only activate once the affected axis/spindle is stopped and the channels of its mode group are in Reset. | ↓ |
re | RESET | Program-end reset (M02/M30) or the <RESET> key. | ↓ |
so | IMMEDIATELY | Effective as soon as you enter the value. Most setting data works this way. | Lowest |
Rough Fanuc mapping: POWER ON ≈ parameters that demand a power cycle, IMMEDIATELY ≈ setting-type parameters that just take. NEW_CONF has no direct Fanuc equivalent — it's a deliberate “apply my batch of edits now” step.
Access Levels (Siemens' Answer to PWE)
Instead of Fanuc's single PWE switch, Siemens uses tiered access levels. Each MD lists a read/write pair (e.g., 7/2 = anyone can read, Service password or better to write). Lower number = more privileged.
| Level | Who | Unlocked by |
|---|---|---|
| 0 | Siemens (System) | System password |
| 1 | Manufacturer (OEM) | Manufacturer password |
| 2 | Service | Service password |
| 3 | User | User password (this is the level most shops run maintenance at) |
| 4–7 | Operator | Keyswitch positions 3 down to 0 |
Setting data is deliberately placed at operator-friendly levels (many are 7/7), which is exactly why it exists as a separate class: things an operator should be able to change without a service password.
Machine Data Worth Knowing
All numbers below verified against the Siemens 828D Machine Data List Manual (08/2018, SW 4.8 SP3). Activation shown in parentheses.
| MD / SD | Identifier | What it does |
|---|---|---|
| Scaling & Axis Configuration | ||
| 10240 | $MN_SCALING_SYSTEM_IS_METRIC | Basic system metric (1) or inch (0) — the control's native unit system, not just a G70/G71 default (po) |
| 10260 | $MN_CONVERT_SCALING_SYSTEM | How the control handles switching the basic system in MD10240 |
| 10000 | $MN_AXCONF_MACHAX_NAME_TAB | Machine axis names (X1, Y1, Z1, …) (po) |
| 20050 | $MC_AXCONF_GEOAX_ASSIGN_TAB | Which channel axes are the geometry axes X/Y/Z |
| 20070 | $MC_AXCONF_MACHAX_USED | Which machine axes belong to this channel (po) |
| 20080 | $MC_AXCONF_CHANAX_NAME_TAB | Axis names as programmed in this channel |
| 20100 | $MC_DIAMETER_AX_DEF | Declares the transverse (diameter-programmed) axis on lathes (po) |
| Startup, Reset & Reference | ||
| 20700 | $MC_REFP_NC_START_LOCK | NC start disable without reference point — whether you can cycle-start before homing (re). Fanuc equivalent: ZRN interlock behavior |
| 20110 | $MC_RESET_MODE_MASK | Bitmask defining what state the control returns to after reset / program end (re) |
| 20150 | $MC_GCODE_RESET_VALUES | Default G-code of every G group at reset (re). Fanuc equivalent: parameter 3402's power-on G-code defaults |
| 34100 | $MA_REFP_SET_POS | Reference point position per axis for incremental encoders (re) |
| Speeds, Accel & Limits (axis) | ||
| 32000 | $MA_MAX_AX_VELO | Maximum axis velocity, mm/min or rev/min (cf) |
| 32300 | $MA_MAX_AX_ACCEL | Maximum axis acceleration, m/s² (cf) |
| 32450 | $MA_BACKLASH | Backlash compensation on direction reversal (cf). Fanuc equivalent: parameter 1851 |
| 35100 | $MA_SPIND_VELO_LIMIT | Absolute maximum spindle speed the drive will ever be given (re) |
| 36100 / 36110 | $MA_POS_LIMIT_MINUS / _PLUS | 1st software limit switches (cf). Fanuc equivalent: 1320/1321 stored stroke limits |
| Memory: R-Parameters, User Variables, Frames | ||
| 28050 | $MC_MM_NUM_R_PARAM | Number of channel R-parameters (default 100: R0–R99) (po). Fanuc equivalent: sizing the #100/#500 common-variable pools |
| 28020 | $MC_MM_NUM_LUD_NAMES_TOTAL | Number of local user (LUD) variables available to programs (po) |
| 28080 | $MC_MM_NUM_USER_FRAMES | Number of settable work offsets/frames, default 5, max 100 (po). Fanuc equivalent: number of extended work offsets (G54.1 Pn) |
| 18118 / 18120 / 18130 | $MN_MM_NUM_GUD_MODULES / _NAMES_NCK / _NAMES_CHAN | GUD (global user data) capacity: modules, NCK-global names, channel names (po) |
| Tool Management | ||
| 18080 | $MN_MM_TOOL_MANAGEMENT_MASK | Reserves memory for tool management step by step (po) |
| 20310 | $MC_TOOL_MANAGEMENT_MASK | Activates tool management functions in the channel (po) |
| 20360 | $MC_TOOL_PARAMETER_DEF_MASK | Defines how tool parameters (wear, offsets) are interpreted (po) |
| Setting Data (operator-writable) | ||
| SD41200 | $SN_JOG_SPIND_SET_VELO | Spindle speed used in JOG mode (so) |
| SD42600 | $SC_JOG_FEED_PER_REV_SOURCE | Controls feed-per-rev behavior while jogging (so) |
| SD43210 / SD43220 | $SA_SPIND_MIN_VELO_G25 / $SA_SPIND_MAX_VELO_G26 | Programmable spindle speed floor/ceiling — these are the values G25/G26 write (so) |
Warning: the 18xxx/28xxx memory-configuration MDs reallocate buffered NC memory at the next power-on. Changing them can wipe R-parameters, GUDs, and other retained data — back up (create a series archive) first. Same spirit as the Fanuc PWE warning, bigger blast radius.
Machine Data in Part Programs
Unlike Fanuc, where reading a parameter from a macro means PRM reads or #-variable gymnastics, Sinumerik part programs read machine data directly by identifier. Axis-specific data takes an axis name in brackets. Setting data at your access level can be written from a program too.
; Read general machine data
IF $MN_SCALING_SYSTEM_IS_METRIC == 1
MSG("CONTROL BASIC SYSTEM IS METRIC")
ENDIF
; Axis-specific MD takes the axis in brackets
R1 = $MA_MAX_AX_VELO[X1] ; max velocity of X1
R2 = $MA_POS_LIMIT_PLUS[Z1] ; Z+ software limit
; Setting data is writable at operator level
$SA_SPIND_MAX_VELO_G26[S1] = 4000 ; same effect as G26 S4000
; Apply NEW_CONF machine data changed from a program
NEWCONF
Where those program variables live is itself machine data: MD28050 sizes the R-parameter pool, MD28020 the local user variables, and the MD181xx GUD data set how many named global variables you can define. If a DEF in a GUD file fails to activate, you've most likely hit the limit in MD18120/MD18130.
See also: Fanuc Parameters for the Fanuc side of this comparison and Fanuc System Variables for the runtime-variable analog to Siemens' $-identifiers.
References
- Siemens, SINUMERIK 828D Machine Data — List Manual, 08/2018, 6FC5397-4DP40-6BA1 (CNC SW 4.8 SP3), Siemens AG.
Have a question or want to contribute?
Contact us with corrections, additions, or topics you'd like covered.
Get in Touch