828D 全闭环改半闭环怎么改?屏蔽光栅尺的 MD 参数 + PLC 位 + 间隙补偿三件套

光栅尺报 25000、油污污染读数头、或者编码器坏了但订单不能停——这时很多师傅的第一反应是”把光栅尺屏蔽了先用电机编码器顶一顶”。828D 确实允许全闭环降级为半闭环应急生产,但这不是改一个参数的事:NC 机床数据、PLC 接口位、间隙补偿三层必须同时动,漏一层就出现”参数改了不生效””改完机床跑飞””定位精度全废”三种典型翻车。

先把一个流传很广的错误说法纠正掉:网上不少资料写”修改 MD25000 / MD25030″——25000(编码器出错)、25030(速度实际值超限)是报警号,不是参数号。828D 的编码器类机床数据在 30xxx 段,本文按官方手册与西门子支持中心的实际口径逐个列清。

相关阅读:光栅尺本身的报警排查(跟随误差超标、坐标突跳、尺寸漂移)见 海德汉光栅尺报警排查;FANUC 侧的反向间隙补偿流程见 FANUC 反向间隙补偿 1851 怎么设。

一、为什么要改:先分清”临时屏蔽”和”永久改半闭环”

这两种做法的目的不同,动的东西也不同。

表 1 临时屏蔽 vs 永久改半闭环

项临时屏蔽(应急生产)永久改半闭环
目的光栅尺故障时用电机编码器顶住,先恢复生产机床配置本来就不需要全闭环
位置精度下降(丝杠热伸长、间隙全进位置环)按半闭环标定
允许时长修好光栅尺即恢复长期
安全集成若机床启用 Safety Integrated,须在制造商权限下重新确认安全配置同左
必做改前备份原参数,改完留档同左,且建议在档案里写明改了哪几层

半闭环不是免维护模式:丝杠热伸长会直接变成工件尺寸漂移,批量件请关注前几件的实测尺寸。

二、三层必须同时动:NC 参数、PLC 接口位、间隙补偿

表 2 三层改动清单(缺一层就是一类翻车)

层改什么漏了的后果
NC 机床数据MD30200 / 30230 / 31000 / 31010 / 31020 / 31040 / 32110参数不对,NCK 重启后报警或坐标错乱
PLC 接口位DB31.DBX1.5 / DBX1.6(测量系统 1/2 选择)位没动,参数改了也不生效——最常见的一类”改了没用”
间隙补偿MD32450 按测量系统分别填值切到半闭环后丝杠反向间隙直接进位置环,定位精度全废
全闭环改半闭环三层必须同时动:NC 机床数据 MD30200/30230/31040/32110、PLC 接口位 DB31.DBX1.5/1.6 测量系统选择、MD32450 间隙补偿,漏任何一层都会出现参数不生效或精度报废

三、NC 侧关键机床数据逐个:30200 / 30230 / 31000 / 31040 / 32110

广告

表 3 测量系统相关机床数据(官方参数名)

参数官方名称全闭环(典型)半闭环(典型)说明
MD30200$MA_NUM_ENCS21测量系统数量:1 = 半闭环,2 = 全闭环
MD30230$MA_ENC_INPUT_NR[n][0]=2,[1]=1[0]=1测量电路输入分配:2=直接测量接口(光栅尺),1=电机编码器接口
MD31000$MA_ENC_IS_LINEAR[n][0]=1,[1]=0[0]=0是否直线光栅
MD31010$MA_ENC_GRID_POINT_DIST[n]栅距(如 0.02)—光栅栅距
MD31020$MA_ENC_RESOL[n]电机 2048 / 直接测量如 360002048编码器线数
MD31040$MA_ENC_IS_DIRECT[n][0]=1,[1]=0[0]=0是否直连测量系统
MD32110$MA_ENC_FEEDBACK_POL按硬件按硬件编码器反馈极性:设反会报 25030(速度实际值超限),改成相反值即可

切换的核心动作:把位置控制实际要用的那一路测量系统排到 MD30230[0]。全闭环时光栅尺接直接测量接口(MD30230[0]=2),半闭环时把电机编码器排到第一路(MD30230[0]=1)。

🚨 有一种更省事的机床厂做法:PLC 里固定让”第一测量系统”生效,而把电机编码器配置成第二测量系统(MD30230[1]=1、[0]=2)。这样以后全闭环改半闭环完全不用碰 PLC 程序,只改 NC 数据——这是西门子支持中心版主给出的推荐布局,买新机床验收时值得问一句”你这台是哪种布局”。

改完 NC 数据后按 NEW_CONF / 数据确认,再重启(NCK 复位或断电重启)生效。

828D 全闭环改半闭环的 NC 侧机床数据:MD30200 测量系统数量 2→1、MD30230 输入分配把电机编码器排到第一路、MD31000/31040/31020 按硬件核对、MD32110 反馈极性设反报 25030

四、PLC 联锁位 DB31.DBX1.5 / DBX1.6:不动这两位,参数改了不生效

这是本篇最值钱的一条。828D 官方功能手册明确写:位置测量系统 1/2 的选择信号就是 DB31.DBX1.5 / DB31.DBX1.6(每轴一个 DB,DB31 对应轴 1,DB32 对应轴 2,以此类推,即 DB3x 的 x = 轴号)。

表 4 测量系统选择位(官方手册 + 支持中心口径)

信号含义半闭环应急(屏蔽光栅尺)
DB3x.DBX1.5测量系统 1 有效 / 选用置 1(用第一路)
DB3x.DBX1.6测量系统 2 有效 / 选用置 0(不选光栅尺那一路)
两位同时置 1第一测量系统有效(支持中心口径)—

三条经验法则:

  1. 参数改了不生效,先查这两位。NC 数据说”用测量系统 1″,但 PLC 还把 DBX1.6 置着 1,系统就还盯着光栅尺——这就是”改了没用”的第一大原因;
  2. 改完位同样要系统重启;
  3. 别只改 NC 不改 PLC、也别只改 PLC 不改 NC——两层指向必须一致。
PLC 联锁位操作:DB3x.DBX1.5 置 1 选用测量系统 1、DBX1.6 置 0 屏蔽光栅尺那一路,两位同时置 1 时第一测量系统有效,改完需系统重启并与 NC 参数指向一致

五、间隙补偿 MD32450:两个测量系统各有一套值,切换自动生效

换成半闭环后,丝杠反向间隙不再被光栅尺”看住”,必须由 MD32450 补上,否则定位精度全废。而 MD32450 有一个很多人不知道的规则:

表 5 MD32450 $MA_BACKLASH 的关键规则

规则内容依据
按测量系统分别设值每个测量系统一个索引:半闭环用的那路填一份、光栅尺那路填另一份参数手册:”必须在此处为每个测量系统输入各自的反向间隙”
切换自动生效换测量系统时,对应的那个 32450 索引自动被激活同上
🚨 只填一路的坑只填了 [0]、另一路空着 → 切到另一测量系统时该轴完全没有间隙补偿手册/第三方教程共同指出
符号测量系统在机床部件前方(正常)填正值;在后方填负值参数手册
不确定符号先填实测值的一半试:误差变小=符号对;变大=符号反官方口径的稳妥做法
生效回参考点之后间隙补偿才有效——没回参考点的验证是误导参数手册
关联参数MD36500 $MA_ENC_CHANGE_TOL(切换测量系统时实际位置值的最大容差)参数手册

实测与填写流程:

  1. 半闭环下回参考点;
  2. 千分表吸牢,从单方向趋近测量点对零;
  3. 反方向小幅移动,读”CNC 坐标动了、表不动”的那段距离 = 反向间隙;
  4. 沿行程多测几个位置(丝杠磨损是不均匀的,一个点不代表全程);
  5. 间隙不大于 0.04mm 才建议直接补进 MD32450;超过 0.04mm 先调机械(丝杠预紧、轴承),硬补只是把误差藏起来;
  6. 填值 → NEW_CONF → 重启 → 再回参考点 → 复测验证。

🚨 顺带纠一个错:网上有人把 MD32500 当反向间隙——32500 是摩擦补偿使能($MA_FRICT_COMP_ENABLE),别填错位。间隙补偿就是 MD32450 $MA_BACKLASH。

MD32450 两个测量系统各有一套反向间隙值,切换测量系统时对应索引自动生效;只填一路会导致另一路零补偿;回参考点后补偿才有效

六、改完必做的验证:重启 → 回零 → 双向定位 → 背隙实测

表 6 切换后的验证清单

广告
步骤做什么合格判据
1 重启NCK 复位 / 断电重启无 25000 / 25030 类报警
2 回参考点每根改过的轴都回回零正常;不回零,间隙补偿不生效
3 看生效位PLC 诊断里看 DB3x.DBX1.5 / 1.6与预期一致(半闭环:1.5=1、1.6=0)
4 单向定位同一方向往复定位多次重复定位符合该轴半闭环水平
5 双向定位正反两个方向趋近同一点差值 = 剩余反向间隙,应接近 MD32450 填补后的残差
6 背隙复测千分表法复测与填值前的实测值对比,补偿方向正确
7 试切首件单件试切、量尺寸尺寸稳定再放批量

验证顺序里最容易被跳过的是第 3 步:界面看起来”参数已经改了”,但 DBX 位没跟上,第 4、5 步的数据就会莫名其妙地漂——先确认位,再测精度。

七、恢复全闭环与原参数留档清单

应急结束要能原样切回去——切不回去的机床比没改还麻烦。

表 7 改前留档清单(逐轴记录)

#要记录的项记录内容示例
1机床数据截图/导出MD30200 / 30230[0]、[1] / 31000 / 31010 / 31020 / 31040 / 32110 / 32450[0]、[1] 原值
2PLC 位状态DB3x.DBX1.5 / 1.6 原逻辑(哪段程序在写它)
3参考点设定回零方式、MD34200 等相关参数原值
4安全集成状态若启用了 Safety Integrated,记录改前的安全配置
5备份文件CF 卡 / Archive 备份 + 日期与改动人

恢复全闭环的动作就是反向来一遍:PLC 位切回(DBX1.6=1 或按原逻辑)→ MD30200=2、MD30230[0]=2(光栅尺排回第一路)、MD31000/31040 恢复原值 → 确认 + 重启 → 回参考点 → 确认 MD32450 的光栅尺那路索引里有值(别是空的)→ 复测双向定位。

相关阅读:828D 参数与程序的整体备份方法见 SINUMERIK 828D 参数与程序备份恢复完整教程。

常见问题

828D 怎么把全闭环改成半闭环?

三层同时动:NC 侧把 MD30200 $MA_NUM_ENCS 设为 1(只用电机编码器一个测量系统),并把电机编码器排到 MD30230 $MA_ENC_INPUT_NR[0]=1,同时核对 MD31000(直线光栅=1、电机编码器=0)、MD31040(直连=1)、MD31020(线数)、MD32110(反馈极性,设反会报 25030);PLC 侧把该轴 DB3x.DBX1.5 置 1、DBX1.6 置 0(测量系统 1/2 选择位,官方功能手册明载,x=轴号);补偿侧在 MD32450 $MA_BACKLASH 对应索引里填半闭环的反向间隙实测值。然后确认数据、系统重启、每轴回参考点,再做单向/双向定位验证。

改了光栅尺相关参数但不生效,是不是漏了 PLC 里的位?

大概率是。位置测量系统 1/2 的选择信号是 DB31.DBX1.5 / DB31.DBX1.6(每轴一个 DB,x=轴号),NC 参数说用哪一路,PLC 位也要指向同一路:半闭环时 DBX1.5=1、DBX1.6=0。位没改或两位都置 1 时系统按第一测量系统走,与你在 NC 侧的意图可能不一致。另外两点也会造成”改了没用”:NC 数据改完没有确认(NEW_CONF)+ 重启;改完没有回参考点——间隙补偿和位置控制在回零前都不按新配置工作。先在 PLC 诊断里确认这两位的状态,再谈精度。

半闭环模式下还需要做反向间隙补偿吗?

必须做。全闭环时光栅尺直接测工作台位置,丝杠间隙被闭环”吃掉”了;换成半闭环后位置反馈来自电机编码器,丝杠反向间隙直接进位置环,不补就表现为双向定位差一个背隙值。注意 MD32450 $MA_BACKLASH 是按测量系统分索引的:半闭环用的那一路填半闭环实测值,光栅尺那一路填全闭环值,切换测量系统时对应索引自动生效;只填一路会让另一路零补偿。实测值不大于 0.04mm 才建议直接补,超过先调机械(丝杠预紧、轴承);符号按”测量系统在机床部件前方填正”执行,不确定就先填一半试。补偿生效的前提是回参考点之后。

最后更新:2026-10-25

本文有英文版:SINUMERIK 828D Semi-Closed Loop Conversion: MD Parameters, PLC Bits and Gap Compensation
面向海外读者的完整英文版,内容与本文对应 — 可直接转给非中文同事或海外客户。
© 版权声明
THE END
喜欢就支持一下吧
点赞6赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容

广告