828D 扩展用户报警 701000–701999 怎么加?DB9913 配置数据 + DB1600 高位段实操

机床被拆成十几个工位,每个工位都要专属提示——248 条用户报警用完了怎么办?828D 自带的容量是 248 条(700000–700247),超过之后官方给的第二条路是扩展 PLC 报警:额外 1000 条(701000–701999)。问题在于,扩展报警不是改个参数就能用,它要求 PLC 程序里多一个数据块 DB9913,而这个块默认根本不出现在库里——库里没有它的原因,是 PLC 项目勾选了”激活兼容模式”。

这篇按西门子官方应用文档(CNC4YOU 3204 / 2786)与 828D 手册的 B031 章节写完整流程:什么时候该上扩展报警、PPU 与软件版本的硬门槛、“兼容模式”去勾选这一步、”报警号 → DB1600 高位段位地址 → DB9913 配置段”的对应关系、Bit5 进报警日志、红色报警与黑色消息怎么选,以及变量替换文本为什么到 701248 就断了。

相关阅读:报警号怎么算出地址见 828D 用户报警位地址速查:DB1600 顺序算法(那一篇讲算法,这一篇讲配置);840D 侧则是另一套 DB2 分组算法,见 SINUMERIK 840D PLC 用户报警详解。

一、什么时候需要扩展报警:248 条不够用的判断标准

先确认是不是真的”用完了”,很多情况是编号规划浪费而不是容量不够。

表 1 248 条够不够的判断

情况判断建议
报警号只用到 7001xx,但还有大量空号没用完,是编号规划乱重新分段规划(按工位/按部件留段),不必上扩展
700000–700247 已排到 700240 附近确实快用完提前上扩展报警,别等撞到 700247
不同情况要用同一个报警号显示不同文本不是容量问题先看能不能用标准段的变量接口 DBD1000 系列解决
机床厂标准程序已占满 248 条典型扩展场景用扩展报警 701000 起,且不占用原有号段
需要 1248 条以上超出 828D 能力拆分到 HMI 自定义画面或用消息文本替代

828D 的用户报警总容量 = 248(标准)+ 1000(扩展)= 1248 条。这是官方给出的上限组合,没有第三个档位。

一句话判据:先把 248 条的编号规划做整齐,真的排满了再上扩展。扩展报警要做 PLC 改动、要下装、要重启 NCK,维护成本比改改编号高得多。

二、硬性前提:PPU 型号、软件版本与「兼容模式」陷阱

这一步做不到,后面全免谈——尤其最后那条”兼容模式”,是库里找不到 DB9913 的头号原因。

表 2 启用扩展报警的硬性前提

类别要求备注
硬件(官方列表)PPU24x.3 / PPU28x.3、PPU27x.4 / PPU29x.4车床 / 铣床 / 磨床工艺均适用
系统软件828D V4.7.4 以上低于此版本没有扩展报警能力
编程工具PLC Programming Tool V3.3 以上老工具生成不了 DB9913
PLC 项目类型828D Step 2 07.01 以上类型在项目”类型(T)…”对话框里选
🚨 兼容模式必须去掉勾选「激活兼容模式」不去勾,特殊数据块库里根本不会出现 DB9913
权限制造商访问级(Manufacturer) + 口令改报警文本同样需要
PLC 程序必须额外包含 DB9913超过 248 条报警时的强制要求
828D 启用扩展报警的硬性前提:PPU24x.3/PPU27x.4 以上、软件 V4.7.4+、编程工具 V3.3+、PLC 类型 Step 2 07.01+,且必须去勾选激活兼容模式否则库里没有 DB9913

三、DB1600 高位段地址:扩展报警从 DBX4000.0 起算

扩展报警的激活位同样在 DB1600,但不与 248 条连续——它从 DBX4000.0 另起一段,中间 DBX31 到 DBX3999 这段是空的。

表 3 标准段与扩展段的地址分工

广告
项目标准用户报警扩展用户报警
报警号700000 – 700247701000 – 701999
条数2481000
激活位DB1600.DBX0.0 – DBX30.7DB1600.DBX4000.0 – DBX4124.7
占用字节31 字节125 字节
变量接口DB1600.DBD1000 起,每条 +4DB1600.DBD5000 起,每条 +4
报警响应用谁MD14516[xx](或 DB4500.DBB3000–3247)DB9913(每报警号一段配置数据)
是否必须改 PLC否是,必须加 DB9913 并下载

扩展段的地址算法(与标准段同款,只是起点不同):

序号 M = 报警号 - 701000
字节   = 4000 + M / 8       (取整)
位     = M % 8              (余数)
地址   = DB1600.DBX<字节>.<位>

例子:701000 → DB1600.DBX4000.0;701001 → DBX4000.1;701008 → DBX4001.0;701999 → 4000 + 999/8 = 4000+124 = 4124,999%8 = 7 → DB1600.DBX4124.7。

变量接口同样要按 (报警号 − 701000) × 4 + 5000 算:701000 = DB1600.DBD5000,701001 = DBD5004,701247 = DBD5988。官方表格里这三个数是对齐的,用它反推可以自查有没有算错。

四、DB9913 配置数据逐段写入:一个报警号一段

这一步是扩展报警和标准报警最大的差别:扩展报警没有 MD14516 可用,报警对机床的影响全部写在 DB9913 里。

表 4 DB9913.DBWxx 位定义(828D 手册 B031 章节)

位含义说明
Bit 0NC 启动禁止报警时禁止 NC 启动
Bit 1禁用读入禁止程序读入
Bit 2禁用进给所有轴进给保持
Bit 3急停触发急停反应
Bit 4PLC 停止让 PLC 进入停止状态
Bit 5报警日志= 1 时该报警进入报警日志
Bit 6通过 DB1600.DBX3000.0 确认需 PLC 编程拉高该位做确认
Bit 7通过断电 / 上电确认需断电上电才清除
Bit 8通道 1 的 PLC 用户报警多通道机床用
Bit 9通道 2 的 PLC 用户报警多通道机床用

报警号与 DB9913 段落的对应:

段号 S = 报警号 - 701000
701000 → DB9913.DBB0 (DBW0)
701001 → DB9913.DBB1
...
701999 → DB9913.DBB999

官方存在两种标法:828D 手册的对照表写 DB9913.DBB0 – DBB999(每号 1 字节),而 B031 章节的”位编辑器”说明写 DB9913.DBWxx(每号一个字,位 0–9 共 10 位)。两者都出自西门子。实操不要手算字节值——在 PLC 编程工具里双击该报警号的”初始值”,用位编辑器勾选,工具会按实际结构写进去。

完整配置流程(PLC Programming Tool 侧):

  1. 打开 PLC 软件,右键点击 PLC 项目名(如 828_milling1)→ 左键点「类型(T)…」;
  2. PLC 类型选 「828D Step 2 07.01」以上类型;
  3. 去掉勾选「激活兼容模式」(不去勾,库里没有 DB9913);
  4. 点「确认」→ 若去勾成功会弹出确认窗口 → 点 OK;
  5. 依次点「库」→「特殊数据模块」→ 此时应能看到 DB9913;
  6. 双击 ALARM_INI(DB9913) → 确认 → DB9913 自动加入用户数据块;
  7. 双击目标报警号的「初始值」→ 用位编辑器勾选 Bit0–Bit9 需要的组合 → 确定;
  8. 保存并下载到 PLC。
DB9913 配置数据逐段写入:PLC 类型改 Step 2 07.01 以上、去勾选激活兼容模式、库-特殊数据模块里双击 ALARM_INI(DB9913)、每个报警号一段配置数据与位编辑器 Bit0-Bit9

五、让扩展报警进入报警日志:DB9913 Bit5 = 1

扩展报警默认同样不进报警日志。要记进日志,靠的是 DB9913 那一段里的 Bit 5。

表 5 标准报警 vs 扩展报警:进日志的做法完全不同

报警类型设置位置生效方式
标准(700000–700247)MD14516[xx] Bit5 = 1重启 HMI
扩展(701000–701999)DB9913 对应报警号 Bit5 = 1下载到 PLC → 重启 NCK

注意第三条:扩展报警必须重启 NCK,重启 HMI 不够。这条和标准报警不一样,现场很多人写完跑到 HMI 上重启,等半天没反应。

官方文档(CNC4YOU 2786)对 MD14516 的 Bit5 口径与英文版 828D 手册有出入(手册标 Bit5 = Reserved、Bit6 = 报警/消息)。但在 DB9913 这一侧,Bit5 = 报警日志是明确无异议的(B031 位编辑器表格直写”位 5 报警日志”)。所以扩展报警照着 Bit5 = 1 设即可。

让 828D 扩展报警进入报警日志:DB9913 中对应报警号的 Bit5 设为 1,下载到 PLC 后必须重启 NCK,重启 HMI 不生效

六、红色报警 vs 黑色消息:Bit6/Bit7 决定要不要确认

红色和黑色不是”好看不好看”,它决定这条信息落在哪个窗口、要不要人认。

表 6 报警(红)与消息(黑)的差异

项报警 Alarm(红色)消息 Message(黑色)
显示位置报警列表消息页
语义较严重,需要停机或处理提示性信息
是否需确认需要(用 Bit6 / Bit7 指定确认方式)不需要
不用 Bit6/Bit7 时—激活位为 0 时立即自动清除,显示在消息页
典型场景电机过载、安全门打开液压未起动、冷却液位低

两条确认方式(DB9913 的 Bit6 / Bit7):

  • Bit 6:通过 DB1600.DBX3000.0 确认——需要操作员或 PLC 程序拉高这一位,报警才清除。PLC 侧必须写这段复位逻辑,不写就是”报警永远消不掉”。
  • Bit 7:通过断电 / 上电确认——只有断电再上电才清除,一般留给最严重的故障。

多通道机床还要管 Bit 8 / Bit 9(通道 1 / 通道 2 的 PLC 用户报警),决定这条报警归属哪个通道;这条也可以由 MD14518 $MN_USER_DATA_PLC_ALARM_ASSIGN 来实现。

七、数字变量替换文本:%d 的用法与 701248 之后没有变量的限制

扩展报警里有一段特别好用的能力:同一个报警号,靠变量显示不同文本。但这段能力只有 248 个号有。

表 7 变量替换文本的能力边界

广告
报警号区间数字变量变量接口地址说明
701000 – 701247有DB1600.DBD5000 – DBD5988每条 +4 字节
701248 – 701999没有—官方明确:此区间无对应的数字变量

可用占位符(官方给定,与标准段一致):

占位符含义
%d十进制值
%x十六进制
%b二进制
%o八进制
%u无符号整数
%f浮点数

官方示例(最容易懂的一个):

  • I0.0 接通 → 报警 701000 显示 Axis 1 error test
  • I0.1 接通 → 报警 701000 显示 Axis 2 error test

做法是:两条输入都去激活同一个报警位 DB1600.DBX4000.0,同时按输入不同把不同的值写进变量口 DB1600.DBD5000,报警文本里写 %d,数字就跟着变了。

报警文本怎么编辑(HMI 侧路径):调试 → HMI → 报警文本 → 在”选择文件”对话框里选「制造商 PLC 报警文本(oem_alarms_plc)」→ 确认 → 进入编辑画面。每条报警文本最长 255 个字符。

🚨 改完文本必须重启系统:报警文本文件只在系统启动过程中被装载,不重启就是旧文本。另外文件名要保持小写,存储路径是 CF 卡的 oem/sinumerik/hmi/lng(第三方资料常写的 /oem/cfg/ 与手册不一致,以实机目录为准)。

八、下载与验证步骤 + 常见故障清单

改完 DB9913 不要急着走,按顺序走完这六步再收工。

  1. 保存 → 下载到 PLC(DB9913 属于用户数据块,必须下装);
  2. 重启 NCK(不是只重启 HMI);
  3. HMI 进「NC/PLC 变量」界面,输入 DB1600.DBX4000.0 等地址,确认能监控到状态;
  4. 强制触发条件(如短接对应输入),看报警窗口有没有出该号、文本对不对;
  5. 打开报警日志,确认 Bit5 设过的报警有记录;
  6. 往变量口写不同值(如把 1 改成 2),确认文本里的 %d 跟着变。
828D 扩展报警下载与验证六步:保存并下载 DB9913 到 PLC、重启 NCK、NC/PLC 变量界面监控 DBX4000.0、强制触发看报警窗、查报警日志、改变量验证 %d 跟随

表 8 扩展报警常见故障清单

现象最可能原因处理
「特殊数据模块」库里找不到 DB9913PLC 项目勾了激活兼容模式,或类型低于 Step 2 07.01改类型为 Step 2 07.01 以上并去勾兼容模式,确认后重开库
DB9913 改了完全不生效只重启了 HMI,没下载 / 没重启 NCK下载到 PLC → 重启 NCK
报警号出来了但没有文本oem_alarms_plc 里没配该号;或配完没重启补文本 → 重启系统
文本里的 %d 不显示数字报警号落在 701248–701999(该段无变量)变量只在 701000–701247;或改回标准段用 DBD1000 系列
变量显示的数不对 / 差一格变量口索引算错接口 = 5000 + (报警号 − 701000) × 4
报警一直消不掉用了 Bit6 确认,但 PLC 里没写 DB1600.DBX3000.0 复位补写复位逻辑;或改回不用 Bit6/Bit7 的自动清除模式
双通道机床报警归属错通道没设 Bit8 / Bit9按通道设 Bit8/Bit9,或改用 MD14518
报警状态看着对但机床没反应Bit0–Bit4 没勾回到位编辑器勾选需要的 NC 反应位
编辑报警文本提示权限被拒未进制造商访问级输制造商(Manufacturer)口令

收尾建议:改之前把原 PLC 项目另存一份,DB9913 的位组合截屏存档,并把”哪个报警号对应哪个工位/部件”做成一张对照表留在设备档案里——一百多条扩展报警过了半年没人记得住。

常见问题

828D 最多能自定义多少条 PLC 报警?

标准用户报警 248 条(700000–700247,激活位 DB1600.DBX0.0–DBX30.7),扩展用户报警 1000 条(701000–701999,激活位 DB1600.DBX4000.0–DBX4124.7),合计 1248 条,这是 828D 官方给出的上限,没有第三个档位。启用扩展报警有硬门槛:硬件需 PPU24x.3 / PPU28x.3 或 PPU27x.4 / PPU29x.4,系统软件 V4.7.4 以上,PLC Programming Tool V3.3 以上,PLC 项目类型选 828D Step 2 07.01 以上且必须去掉勾选「激活兼容模式」,并且需要制造商访问级口令。另外 808D 的标准容量是 128 条(该数据来自第三方整理,未见官方手册原文,需实机核实),是否支持扩展段官方未作说明。

扩展用户报警的 DB9913 怎么配置?

先在 PLC 编程工具里右键项目名 →「类型(T)…」→ 选 828D Step 2 07.01 以上类型并去掉勾选「激活兼容模式」(不去勾库里不会出现 DB9913)→ 确认并 OK → 依次点「库」→「特殊数据模块」→ 双击 ALARM_INI(DB9913) → 确认后自动加入用户数据块。然后双击目标报警号的「初始值」,用位编辑器勾选:Bit0 NC 启动禁止、Bit1 禁用读入、Bit2 禁用进给、Bit3 急停、Bit4 PLC 停止、Bit5 报警日志、Bit6 通过 DB1600.DBX3000.0 确认、Bit7 通过断电上电确认、Bit8/Bit9 通道 1/2 归属。段落对应关系是 段号 = 报警号 − 701000(701000 对应 DBB0,701999 对应 DBB999)。最后保存、下载到 PLC 并重启 NCK。

701000 之后的报警为什么没有数字变量可用?

因为官方把”带变量的扩展报警”限定在 701000–701247 这 248 个号上——这一段每条有一个配套的双字变量接口 DB1600.DBD5000 起、每条加 4 字节(701247 对应 DBD5988),报警文本里写 %d / %x / %b / %o / %u / %f 就能把变量值显示出来。701248–701999 这一段官方明确写明”无对应的数字变量”,所以在这段上写 %d 不会显示出数字。解决办法是把需要变量替换的报警排到 701000–701247 区间,或者回到标准报警段使用 DB1600.DBD1000 系列的变量接口。

最后更新:2026-10-25

本文有英文版:SINUMERIK 828D Extended User Alarms 701000-701999: DB9913 Configuration and High DB1600 Bits
面向海外读者的完整英文版,内容与本文对应 — 可直接转给非中文同事或海外客户。
© 版权声明
THE END
喜欢就支持一下吧
点赞14赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容

广告