一、先说清:两者都在 SRAM,但管的事完全不同
新手最容易问的是「SD 和 MD 不都是数据吗,有什么不一样」。一句话回答:
- MD(Machine Data,机床数据):定义这台机器本身是什么——有几个轴、轴名叫什么、电机怎么接、速度上限多少、精度补偿多少。它是机床的配置,调试时定下来就不该随便动。
- SD(Setting Data,设定数据):定义这批活怎么跑——JOG 倍率、手动转速、空运行进给、某些循环的输入值。它是操作员的日常旋钮,随时可调、风险低。
从 FANUC 转过来可以这样类比:
| SINUMERIK | FANUC 对应 | 谁改 |
|---|---|---|
| 通用 MD($MN_) | 系统类参数 | 调试 / 服务 |
| 通道 MD($MC_) | 路径类参数 | 调试 / 服务 |
| 轴 MD($MA_) | 轴类参数 | 调试 / 服务 |
| SD($SN_ / $SC_ / $SA_) | SETTING 画面 / 部分保持型参数 | 操作员 |
最大的可用性差别:SINUMERIK 的每个数据除了编号,还有一个可读的标识符(如 MD10240 $MN_SCALING_SYSTEM_IS_METRIC)。在零件程序里读值用的是这个 $ 前缀的标识符,而在 HMI 上可以直接搜名字,不必背编号。

说明:以下号段以西门子官方 SINUMERIK 功能手册的数据区总览为准。具体某个 MD/SD 的编号、默认值和可选范围随软件版本而异,动手前请以本机 HMI 上该数据的当前值和随机文档为准。
二、号段规则:看数字就知道作用域
SINUMERIK 的数据编号自带作用域信息,这是它比”纯编号”好用的地方。前缀的第二个字母表示子区域:
| 号段范围 | 前缀 | 含义 | 说明 |
|---|---|---|---|
| 200 – 9999 | $MM_ | 显示机床数据 | 屏幕行为、语言、提示;不从零件程序读 |
| 10000 – 18999 | $MN_ | 通用机床数据 | 整个控制系统一份(轴名、缩放、内存配置) |
| 19000 – 19999 | — | 预留 | — |
| 20000 – 28999 | $MC_ | 通道专用机床数据 | 每个加工通道一份(G 代码默认值、刀具管理、R 参数个数) |
| 29000 – 29999 | — | 预留 | — |
| 30000 – 38999 | $MA_ | 轴专用机床数据 | 每个轴/主轴一份(速度、加速度、限位、反向间隙) |
| 39000 – 39999 | — | 预留 | — |
| 41000 – 41999 | $SN_ | 通用设定数据 | 操作员级;JOG 增量与速度 |
| 42000 – 42999 | $SC_ | 通道专用设定数据 | 操作员级;按通道的行为 |
| 43000 – 43999 | $SA_ | 轴专用设定数据 | 操作员级;例如 G25/G26 主轴转速限制 |
前缀怎么读:
| 符号 | 含义 |
|---|---|
$ | 系统变量 |
| 第 1 个字母 | M = 机床数据(MD);S = 设定数据(SD) |
| 第 2 个字母 | M = 显示/操作面板;N = 通用;C = 通道;A = 轴/主轴 |
举例:$MA_JOG_VELO 读作「轴类机床数据 – JOG 速度」;$SA_SPIND_S 读作「轴/主轴类设定数据 – 主轴速度」。

三、MD:定义机器本身的物理与功能配置
MD 回答的是「这台机床长什么样、能干什么」。
| MD | 名称 | 含义 |
|---|---|---|
| 10000 | AXCONF_NAME_TAB | 机床所有物理轴名(如 X1) |
| 10240 | SCALING_SYSTEM_IS_METRIC | 测量系统为公制 |
| 20000 | CHAN_NAME | 通道名,如 CHAN1 |
| 20050[ n ] | AXCONF_GEOAX_ASSIGN_TAB | 该通道所用的几何轴序号 |
| 20070[ n ] | AXCONF_MACHAX_USED | 该通道存在的机床轴序号 |
| 20080[ n ] | AXCONF_CHANAX_NAME_TAB | 该通道内编程用的轴名 |
| 30100 | CTRLOUT_SEGMENT_NR | 设定值输出段号(=0 本地总线段,模拟输出) |
| 30110 | CTRLOUT_MODULE_NR | 设定值输出模块号 |
| 30130 | CTRLOUT_TYPE | 设定值输出类型(1=模拟,0=数字) |
| 30240 | ENC_TYPE | 反馈类型(1 增量 / 4 绝对值 / 0 无) |
| 32000 | MAX_AX_VELO | 手动最大轴速 |
| 32020 | JOG_VELO | JOG 速度 |
| 35035 | SPIND_FUNCTION_MASK | 主轴功能掩码(bit5 / bit4 的说明见第四节) |
| 36100 / 36110 | POS_LIMIT_MINUS / PLUS | 第一软限位负 / 正向 |
要点:MD 决定硬件关系,所以改错通常立刻表现为报警(如 300007 仿真轴报警)、轴不动、方向反、限位错乱。
四、SD:操作员日常可调的运行参数
SD 回答的是「今天这批活按什么参数跑」,属于过程参数而不是机器定义。
| SD | 名称 | 含义 |
|---|---|---|
| 41200 | $SN_JOG_SPIND_SET_VELO | JOG 方式下的主轴设定速度 |
| 43200 | $SA_SPIND_S | 通过 PLC 接口(VDI)起动主轴时的速度 |
| 41xxx 段 | $SN_ | 通用设定数据(JOG 增量等) |
| 42xxx 段 | $SC_ | 通道专用设定数据 |
| 43xxx 段 | $SA_ | 轴专用设定数据 |
为什么 SD 要单独分成一类:它存在的意义就是权限。许多 SD 的访问等级是 7/7(任何人可读可写),操作员不需要 Service 密码就能改——这正是它和 MD 的关键差别。
一个典型例子(828D 主轴手动转速):
- 主轴 MD35035 bit5 默认勾选 → 此时 SD43200 的值作为 JOG 方式下的主轴转速,默认值为 10 rpm。
- 想让手动转速更高,改 SD43200 即可。
- HMI 加工画面里另有一个手动转速输入窗口,对应 MD41200:想让它生效,SD43200 必须为 0,且该速度受 MD32020 限制。
- 🚨 一般情况下不建议用这个输入窗口,直接改 SD43200 更可靠。
- 另:SD43200 掉电或重启会丢失(回到默认);有资料指出把 MD10709[0] 设为 0 可让它不被重启清零——该行为随机型与版本而异,现场请先验证再依赖。
五、激活类型:改完为什么没反应
这是从 FANUC 转过来的人最容易踩的坑:改了值、屏幕上已显示新值,但机器行为没变——原因是还没执行该数据要求的激活动作。
| 代码 | 名称 | 需要做什么 | 优先级 |
|---|---|---|---|
| po | POWER ON | 按 “Reset (po)” 软键(NCK 复位),或控制系统断电上电。通常不需要整机上电,软键重启 NC 即可 | 最高 |
| cf | NEW_CONF | 按「Activate MD」软键,或在零件程序中执行 NEWCONF。轴专用 MD 只在受影响的轴/主轴已停止、且所在方式组的通道处于 Reset 状态时才激活 | ↓ |
| re | RESET | 程序结束复位(M02 / M30),或按复位键 | ↓ |
| so | IMMEDIATELY | 输入后立即生效。多数设定数据是这种 | 最低 |
粗略对应 FANUC:POWER ON ≈ 需要断电上电的参数;IMMEDIATELY ≈ 设定型参数,改完就生效;NEW_CONF 在 FANUC 里没有直接对应物——它是「我这一批改完了,现在一起应用」的显式步骤。
🚨 实践提示:如果改完一个 MD 没有效果,先回该数据的属性画面看它的激活码,再决定是按 po 复位、按 cf 激活,还是等程序结束复位。这是 828D 调试里排在第一位的动作。

六、访问等级:谁能改这些数
FANUC 是一个 PWE 开关,SINUMERIK 用的是分级访问。每个 MD 会标出一个「读/写」等级对,例如 7/2 = 任何人可读,Service 密码或更高才能写。数字越小,权限越高。
| 等级 | 谁 | 用什么解锁 |
|---|---|---|
| 0 | Siemens(系统) | System 密码 |
| 1 | 制造商(OEM) | Manufacturer 密码 |
| 2 | Service | Service 密码 |
| 3 | User | User 密码(大多数车间做维护就在这一级) |
| 4 – 7 | Operator | 钥匙开关位置 3 → 0 |
这也解释了前面提到的:SD 故意放在操作员友好的等级上,因为它本来就是给操作员日常调的。
七、怎么查、怎么改、怎么备份
查询与修改路径:
| 想做什么 | 怎么走 |
|---|---|
| 看 / 改 机床数据 | 「机床数据」操作区;按号段(通用 10000+、通道 20000+、轴 30000+)定位,或直接搜标识符 |
| 看 / 改 设定数据 | 「参数」操作区 → 设定数据 / 数据列表;按软键「选择数据列表」,在「视图」里选含设定数据的列表 |
| 搜某个数据 | 在对应数据画面里用 搜索,直接找标识符(如 MAX_AX_VELO) |
安全前提:
- 改轴相关的 MD 之前,让驱动停止、禁止控制器使能,并确认机械状态安全。
- 改完按激活码做对应动作:po → NCK 复位 / 断电上电;cf → 激活 MD 或
NEWCONF;re → 程序结束或复位键。
备份口径:
- MD 与 SD 都存放在 SRAM中;SRAM 备份(一键全备份 或 BOOT 画面的 SRAM BACKUP)会涵盖它们,恢复时两者一起回到备份日状态。
- 一键全备份前先确认 0020 / 0313#0 / 0138#0 三个参数,并记录原始值;它是两段式:文本数据输出完会提示断电,重启一次后上电过程自动补输出 SRAM 数据 + 用户文件。
- 单项数据走各自画面的 PUNCH → EXEC,每次只输出当前页,必须逐页翻并等提示稳定。
恢复的风险:恢复 = 整块 SRAM 覆盖,备份之后输入的刀补、程序、PMC 计数器都会丢失;带绝对值编码器的机床若恢复了参数,1815#4(APZ)必须置 0 并逐轴重设参考点,否则机床零点偏移、行程限位失效。
八、排查清单

- 先判断这是 MD 还是 SD 的问题:机器配置类异常(轴不动、方向反、限位错、报警)→ 查 MD;运行参数类(手动速度、倍率、循环输入值)→ 查 SD。
- 改完没反应:回该数据的属性画面看激活码(po / cf / re / so),再执行对应动作。
- 激活码是 po:按 “Reset (po)” 软键做 NCK 复位;通常不需要整机断电。
- 激活码是 cf:确认该轴已停止、所在方式组的通道处于 Reset,再按「Activate MD」或执行
NEWCONF。 - 改不动 / 灰掉:查该数据的访问等级,当前登录级别不够(多数 MD 要 Service 级)。
- 主轴手动转速不对(总是 10 rpm):查 SD43200,并确认 MD35035 bit5 的状态。
- 改了多个轴 MD 想一起生效:分批改完后再按一次 cf 激活,不要一个个改一个个激活。
- 动参数前先备份:一键全备份 / BOOT 画面的 SRAM BACKUP,两者都做。
- 恢复后:核对刀补、程序、PMC 计数器是否回到预期;带绝对值编码器时按上面第 8 节提示处理 1815#4。
- 不确定某个编号的作用:先在 HMI 上搜标识符,看当前值和单位,再决定改不改——不要凭编号猜。
常见问题
828D 的 MD 和 SD 到底有什么区别?
MD(机床数据)定义这台机器本身——有几个轴、轴名、电机接线方式、速度上限、精度补偿,属于机床配置,调试定好后不该随便动。SD(设定数据)是操作员日常可调的运行参数——JOG 增量与速度、循环输入值等,改动即时生效、风险低。两者都存放在 SRAM,都会被 SRAM 备份涵盖。更实用的一点是权限不同:SD 多放在操作员友好的访问等级(许多是 7/7),不需要 Service 密码;而多数 MD 需要 Service 或更高等级才能写。
改完机床数据为什么没反应?
先看这个数据的激活类型:po(POWER ON)要按 “Reset (po)” 软键做 NCK 复位或控制系统断电上电,通常不需要整机断电;cf(NEW_CONF)要按「Activate MD」软键或执行 NEWCONF,且轴专用 MD 只有在该轴已停止、所在方式组的通道处于 Reset 时才激活;re(RESET)要程序结束(M02/M30)或按复位键;so(IMMEDIATELY)是输入后立即生效,多数 SD 属于这种。改完没效果时,回数据属性画面看激活码是第一位要做的动作。
主轴手动转速总是 10 rpm,调 32020 没用,为什么?
因为 828D 主轴的 MD35035 bit5 默认是勾选的——此时 SD43200 的值被用作 JOG 方式下的主轴转速,而它的默认值就是 10 rpm。想让手动转速更高,直接改 SD43200。HMI 加工画面另有一个手动转速输入窗口对应 MD41200,要让它生效需要 SD43200 = 0,且该速度受 MD32020 限制;一般情况下不建议用这个输入窗口。另外注意 SD43200 掉电或重启会丢失,若需保持请现场验证本机行为再依赖。
最后更新:2026-10-28
面向海外读者的完整英文版,内容与本文对应 — 可直接转给非中文同事或海外客户。

























暂无评论内容