一、先说清:换电机 / 编码器后丢的是什么
很多人以为换电机只是「装上去、上电、能动就行」。实际上,换掉电机或编码器之后,丢的是「编码器零点」与「机床零点」之间的对应关系。
具体讲:
- 增量式编码器:断电就丢位置。换电机后必须回参考点(走挡块 + 找零脉冲),系统才知道「现在在哪」。
- 绝对值编码器:靠电池 / 电容保持绝对位置。拆装电机、拆装编码器、电池失效、静态 NC 存储器数据丢失之后,绝对值编码器的「已调整」状态会失效,必须重新做一次调整(把编码器零点和机床零点的偏移量重新写进去)。
所以:
- 换完能转 ≠ 换完了。
- 真正完成的标志是:回参考点(增量)或编码器调整(绝对)之后,屏幕上的机械坐标和你用千分表 / 激光干涉仪量出来的位置一致。

说明:本文口径以西门子官方 SINUMERIK 828D Axes and spindles Function Manual(文档 109807297 / 109820773 / 109988174) 为准。不同软件版本(如 SW 4.x 与较新版本)下机床数据的默认值与可选范围会有差异,动手前请以本机 HMI 上该 MD 的当前值和随机文档为准。
二、第一步:先判断这台轴是绝对值还是增量
判断错了,后面全白做。三种查法,任选一种确认:
| 查法 | 操作 | 怎么读 |
|---|---|---|
| 看机床数据 | 找到该轴的 MD30240 $MA_ENC_TYPE | 0 = 模拟/无;1 = 增量;4 = 绝对值 |
| 看诊断画面 | HMI → 诊断 → 服务显示 → 轴 | 绝对值编码器会显示绝对位置相关条目 |
| 看上电行为 | 上电后是否要求回参考点 | 增量式:上电后必须回零;绝对值:正常不需要 |
配套参数(常一起核对):
| MD | 名称 | 说明 |
|---|---|---|
| 30200 | NUM_ENCS | 编码器数量;无编码器 = 0 |
| 30240 | ENC_TYPE | 1 增量 / 4 绝对值 / 0 模拟或无 |
| 31000 | ENC_IS_LINEAR | 0 = 旋转测量;1 = 线性测量 |
| 31040 | ENC_IS_DIRECT | 0 = 间接测量(电机侧);1 = 直接测量(全闭环) |
| 34200 | ENC_REFP_MODE | 回参考点模式;绝对值调整用 0(假定参考点值) |
| 34210 | ENC_REFP_STATE | 绝对值编码器调整状态:0 未调整 / 1 调整中 / 2 已调整 |
🚨 常见误判:把绝对值电机当增量电机用(改 30240 = 1),等于主动丢掉「上电不用回零」这个能力。除非明确需要每次上电回零来消除反向间隙,否则不要改。
三、增量式:回参考点三阶段与对应 MD
增量式回参考点是分三步走的,每一步有各自的机床数据、速度和报警。
| 阶段 | 干什么 | 关键 MD | 默认值 / 说明 | 失败报警 |
|---|---|---|---|---|
| 阶段 1 找挡块 | 按设定方向寻找参考挡块 | 34000 REFP_CAM_IS_ACTIVE<br>34010 REFP_CAM_DIR_IS_MINUS<br>34020 REFP_VELO_SEARCH_CAM<br>34030 REFP_MAX_CAM_DIST | 1(激活挡块)<br>0 = 正方向,1 = 负方向<br>5000 mm/min<br>10000 mm | 20000 未到达参考挡块 |
| 阶段 2 找零脉冲 | 挡块触发后反向,找编码器零脉冲 | 34040 REFP_VELO_SEARCH_MARKER<br>34050 REFP_SEARCH_MARKER_REVERSE<br>34060 REFP_MAX_MARKER_DIST | 300 mm/min<br>0(1 = 反向搜索)<br>20 mm | 20002 零标记丢失 |
| 阶段 3 走到参考点 | 从零脉冲走一段固定距离到参考点 | 34070 REFP_VELO_POS<br>34080 REFP_MOVE_DIST<br>34090 REFP_MOVE_DIST_CORR<br>34100 REFP_SET_POS | 10000 mm/min<br>−2.0 mm<br>0.0 mm<br>0.0 mm | — |
要点:
- 阶段 1、2 修调开关不生效:系统在内部按 100% 进给率走;如果此时把修调打到 0%,回零会中止。阶段 3 修调才生效。
- MD34000 = 0 表示取消挡块:用于全程只有一个参考标记的轴,以及每转只有一个参考标记的旋转轴。
- MD34060 的取值:如果要保证系统每次都同步到同一个零标记(避免认错机床零点),设定值不得超出两个参考标记之间的间距。
- MD34080 为什么常是负值:识别出零标记后把轴移开零标记(移进加工区),避免在标记上再次回零导致轴朝滑座末端跑。
- MD34100 不会让轴物理移动,它只是回零完成后屏幕上显示的值——用于「参考点不是机床机械零点」的场合。
参考点值有 4 组(MD34100[0..3]),通过 NC/PLC 接口 DB380x.DBX2.4..7 选择。回零完成后,系统通过 DB390x.DBX0.4..5(已回零/已同步 1/2)置 1 反馈给 PLC。

四、绝对值:编码器调整的两种方式
官方给了两条路,选一条走完即可。
方式一:输入参考点偏移量(直接写 MD34090)
适合你已经知道该偏多少的情况(比如旧值有记录、或只是微调)。
- 确定机床轴相对机床零点的真实位置:
– 用激光干涉仪测量;或
– 把机床轴移动到一个已知位置(如固定挡块)。
- 在操作界面上读出显示的机床轴实际位置。
- 计算偏移量 = 上面两步得到的两个实际位置之差,写入 MD34090 $MA_REFP_MOVE_DIST_CORR。
- 把绝对值编码器标记为「已调整」:MD34210 = 2。
- 执行 POWER ON 复位(断电上电 / NCK 复位)。
- 检查操作界面上显示的机床轴位置是否正确。
方式二:输入参考点值(走一遍让 NC 自己算)
适合换电机后偏移量未知的情况,也是现场最常用的路径。
- 检查回参考点模式是否为「假定参考点值」:MD34200 == 0。若不是,输入 0 并执行 POWER ON 复位。
- JOG 方式把机床轴移到待测位置(激光干涉仪),或移动到一个已知位置(如固定挡块)。
– 🚨 只能用 MD34010(REFP_CAM_DIR_IS_MINUS)所启用的回参考点方向对应的方向键移动;
– 🚨 为避免传动链反向间隙造成无效位置,已知位置必须低速接近。
- 把「机床轴相对机床零点的位置」作为参考点值写入 MD34100 $MA_REFP_SET_POS。
- 按下第 2 步用过的那个方向键触发回参考点。
– 此时轴不移动。 NC 由「你输入的参考点值」与「绝对值编码器给出的值」算出偏移量,自动写入 MD34090。
- 绝对值编码器状态自动置为「已调整」:MD34210 = 2。
- 执行 POWER ON 复位。
- 检查操作界面上显示的机床轴位置。

五、MD34090 的三种身份(最容易搞混的地方)
MD34090 $MA_REFP_MOVE_DIST_CORR 在不同测量系统下含义不同,这是全篇最需要记住的一点。
| 场景 | MD34090 的含义 | 怎么算 |
|---|---|---|
| 增量编码器带零标记 | 参考点移动距离修正量 | 与 MD34080 相加:轴从零标记走 34080 + 34090 这段距离后回到参考点;走完之后实际值取 MD34100 |
| 绝对值编码器 | 机床零点与绝对值编码器零点之间的绝对偏移量 | 由方式一手工算差,或方式二由 NC 自动算出 |
| 距离编码参考标记 | 机床零点与线性测量系统第一个参考标记之间的绝对偏移 | 见下节计算式 |
两个必须记住的注意点:
- 🚨 编码器调整要到编码器下次激活(通常是上电)之后才生效。改完 MD 不复位,等于没改。
- 🚨 偏移量只有在首次 POWER ON 复位之后才永久生效。如果在调整之后没有做 POWER ON 复位就移动了轴,MD34090 里写入的值可能被内部超程偏移覆盖。所以流程必须是:写 MD34210 = 2 → POWER ON 复位 → 再动轴。
还有一条反向间隙的坑:带绝对值编码器的测量系统如果参数化了反向间隙补偿,那么走到调整位置的这段行程中不得有反向间隙——否则量出来的偏移量本身带误差。
六、距离编码参考标记:只需走很短一段就能回零
距离编码的线性测量系统上,任意两个相邻参考标记之间的距离是确定的。跨过两个连续的参考标记,系统就能算出机床轴的绝对位置。
- 例:参考标记间距约 10 mm,那么只需约 20 mm 的移动行程就能完成回零。
- 可以从任意位置沿正方向或负方向回参考点(行程末端除外)。
需要参数化的两项:
| MD | 含义 |
|---|---|
| MD34090 $MA_REFP_MOVE_DIST_CORR | 机床零点与第一个参考标记之间的绝对偏移 |
| MD34320 $MA_ENC_INVERS | 长度测量系统相对机床坐标系的方向(同向 / 反向) |
确定绝对偏移的推荐流程:
- 先把 MD34090 = 0。
- 执行一次回参考点(挑一个容易精确确定机床轴相对机床零点位置的地方,例如用激光干涉仪)。
- 从操作界面读取 MCS(机床坐标系)下显示的机床轴实际位置。
- 测量该位置相对机床零点的真实位置。
- 计算绝对偏移并写入 MD34090:
| 测量系统方向 | 绝对偏移计算式 |
|---|---|
| 同向 | 绝对偏移 = 测量位置 + 显示实际位置 |
| 反向 | 绝对偏移 = 测量位置 − 显示实际位置 |
WARNING(官方原文警示):确定绝对偏移并写入 MD34090 之后,该机床轴必须再回一次参考点。漏掉这一步,坐标就是错的。
龙门轴注意:首次启动回零前把 MD37120 GANTRY_POS_TOL_WARNING 设为 0,防止同步补偿运动触发报警;主动轴与从动轴的回零点必须接近一致;每个龙门轴「零标志与参考点之间的差值」要计算出来并写入 MD34080 和 MD34090。
七、什么时候必须重调、NCK 什么时候会发现
必须重新调整的场合(官方列举):
| 场合 | 说明 |
|---|---|
| 负载与绝对值编码器之间的齿轮比改变 | 换档且齿轮比变化 |
| 拆装绝对值编码器 | 编码器与轴的相对关系变了 |
| 拆装带绝对值编码器的电机 | 换电机本体 |
| 静态 NC 存储器数据丢失 | SDRAM 掉电 |
| 电池失效 | 绝对位置保不住 |
| 设定实际值(PRESETON) | 用户主动改了实际值 |
但 NCK 只能在三种事件里「自己发现」需要重调:
- 带齿轮比变化的换档;
- 寻址零标记监控;
- 更换绝对值编码器后的新编码器序列号。
一旦检测到,NCK 会自动把绝对值编码器状态复位为 0(未调整),并显示:
- 报警 25022「Axis Encoder Warning 0 / 轴编码器警告 0」;
- 若零标记监控响应,还显示 报警 25020「Axis zero-mark monitoring of the active encoder / 生效编码器的零标记监控」(仅 SIMODRIVE 611D 系统)。
🚨 其他情况(例如 PRESETON)NCK 发现不了,需要用户自己把状态置 0 并重调——这条是现场最容易漏的。
数据备份警告(官方原文):备份 A 机床的机床数据时,MD34210(编码器状态)也一起被备份。把这份数据载入同型的 B 机床(例如批量调试或维修后),已回参考点的轴会被 NC 自动视为「已调整」——此时机器制造商 / 用户有责任重新调整。相关:MD30250 $MA_ACT_POS_ABS(断电时的绝对编码器位置)。

八、换完必做的验证与排查清单
验证(按顺序做,别只清报警):
- 上电后看报警:25022 / 25020 是否出现,出现即说明需要调整。
- 完成回零(增量)或编码器调整(绝对),然后 POWER ON 复位。
- 核对机械坐标:JOG 移动轴,用千分表 / 激光干涉仪比对显示值与实际位置。
- 检查方向:正方向移动时,屏幕坐标是否朝正确的方向变化(必要时核 MD34320)。
- 检查软限位:确认 MD36100 / MD36110 仍合理,换电机后行程关系可能变。
- 反向间隙复核:绝对值编码器若带间隙补偿,调整行程中不得有反向间隙。
- 存档:把生效后的机床数据备份到 CF 卡 + U 盘。
排查清单:
- 先判断 30240:1 增量 / 4 绝对值,判断错后面全白做。
- 换电机后报 25022 → 走绝对值调整流程(方式一或方式二)。
- 增量式回零失败 → 分段看:20000 是没找到挡块(查 34000/34010/34020/34030),20002 是没找到零脉冲(查 34040/34050/34060)。
- 回零时修调打到 0% → 阶段 1、2 会中止,回零前把修调放到合适位置。
- 换电机后坐标差一个固定值 → 核 MD34090(增量:与 34080 相加的修正量;绝对:绝对偏移量)。
- 坐标差但每次还不一样 → 查反向间隙与机械传动,不是参数问题。
- 电池失效 / 静态存储器掉电 → 绝对值编码器必须重调。
- 载入别的同型机的机床数据 → NC 会误判「已调整」,必须重调。
- 距离编码测量系统 → 用「先置 0 再回零再计算」的流程,算完必须再回一次零。
- 改完 MD 一定 POWER ON 复位后再动轴,否则 MD34090 可能被覆盖。
常见问题
换了伺服电机后开机报 25022,必须重新调整吗?
要。官方把「拆装带绝对值编码器的电机」明确列为需要重新调整的场合之一。换电机后编码器零点与机床零点之间的对应关系变了,系统虽然还能读到绝对值,但那个值对应的机械位置已经不准。处理走绝对值编码器调整流程:要么直接把偏移量写入 MD34090(方式一),要么 JOG 把轴移到已知位置后把该位置的机床坐标写入 MD34100,再按回参考点方向键让 NC 自动算出 MD34090(方式二),然后把 MD34210 置 2 并 POWER ON 复位。只清报警不重调,坐标就是错的。
MD34090 和 MD34100 到底有什么区别?
MD34100(REFP_SET_POS)是回零完成后屏幕上显示的数值,默认 0,它不会让轴物理移动,用于参考点不等于机床机械零点的场合。MD34090(REFP_MOVE_DIST_CORR)在不同测量系统下含义不同:增量编码器带零标记时它是与 MD34080 相加的移动距离修正量(轴从零标记走完 34080+34090 之后回到参考点);绝对值编码器时它是机床零点与编码器零点之间的绝对偏移量;距离编码系统时它是机床零点与第一个参考标记之间的绝对偏移。现场微调常用 34090,设定显示值常用 34100。
改完 MD34210 = 2 之后坐标还是不对,问题在哪?
最常见的是没做 POWER ON 复位就移动了轴。官方明确写了两层:编码器调整要到编码器下次激活(通常是上电)之后才生效;偏移量只有在首次 POWER ON 复位之后才永久生效,如果调整后没复位就动轴,MD34090 写入的值可能被内部超程偏移覆盖。正确顺序是:写 MD34210 = 2 → POWER ON 复位 → 再移动轴 → 核对坐标。若复位后仍差一个固定值,核 MD34090 的算法;若差值不稳定,查反向间隙与机械传动。
最后更新:2026-10-28
相关:828D SD 设定数据与 MD 机床数据的区别 —— 换电机/编码器属于机器配置(MD 层),改完还要按激活类型做 NCK 复位才生效。
面向海外读者的完整英文版,内容与本文对应 — 可直接转给非中文同事或海外客户。

























暂无评论内容