一、先说清:这四组报警都来自 SINUMERIK Safety Integrated
840D sl 的”安全”不是单独一块板,而是一套分布在 NCK(数控内核)+ PLC 的 F-CPU + SINAMICS 驱动 上的功能,西门子叫 SINUMERIK Safety Integrated(简称 SI)。它有两种落地形态:
- SPL(Safety Integrated via PLC 的标准安全程序):安全逻辑写在 NCK 侧的安全程序(SPL)里,由 NCK 自己跑。
- F-PLC(SINUMERIK Safety Integrated plus):安全逻辑写进 PLC 的 F 程序(F-CPU + F 模块),由 STEP 7 / TIA 编译下载。
两者都通过 PROFIsafe(跑在 PROFIBUS 或 PROFINET 上的安全协议)跟驱动、I/O 交换安全信号。下面三组报警,分别卡在”安全程序没起来””安全模式对不上””安全通信断了”这三道关上。

本文所有机床数据(MD)编号来自西门子 840D sl 功能手册(Function Manual, 12/2017)。不同软件版本(Toolbox / 固件 Edition)下 MD 编号可能前移或变更,改前务必以本机”诊断→机床数据”实际显示为准,并先做好完整备份。
二、27097:SPL 启动未执行(安全程序没跑起来)
报警原文:27097 未进行 SPL 启动(SPL not started)。含义是——在机床数据 MD13310 $MN_SAFE_SPL_START_TIMEOUT 定义的超时时间过去之后,SPL 仍然没有启动。
这条报警的根因不在某一个 MD 值错,而是 “该让 SPL 跑起来的条件没满足”。手册列出的常见原因:
- 存在 NC 故障或驱动故障(例如刚换过编码器、急停未解除、有 PROFIsafe 报警未清);
- SPL 程序本身有语法错误;
- 已有其它安全报警存在(例如”超过安全终点位置”);
- 在
PROG_EVENT启动时,SPL 的名称或路径写错(注意大小写敏感); ASUB与PROG_EVENT同时启动,且MD11602 $MN_ASUP_START_MASK编程了冲突的停止原因(如禁止读入);- 调用
FB4 / FC9时引起问题。
还有一个容易踩的坑:SPL 输入分配重复——$MN_PROFISAFE_IN_ASSIGN 里同一个 $A_INSE 被不同应用分配了两次,也会顶出 27097。
涉及到的关键机床数据:
| 机床数据 | 名称 | 作用 |
|---|---|---|
MD28082 | $MC_MM_SYSTEM_FRAME_MASK | 定义要建立哪些系统框架:位0=TPFRAME、1=STFRAME、2=MKSFRAME、3=TFRAME、4=WRFAME、5=TOOLFRAME、6=USERFRAME |
MD28083 | $MC_MM_SYSTEM_DATAFRAME_MASK | 定义哪些数据框架可用于坐标变换 |
MD11602 | $MN_ASUP_START_MASK | 定义启动时哪些 ASUB(异步子程序)处于激活状态 |
MD13310 | $MN_SAFE_SPL_START_TIMEOUT | 定义 SPL 启动的超时时间 |
MD10096 | $MN_SAFE_DIAGNOSIS_MASK | 位1=1 可跳过 27097(仅用于诊断,非根治) |

一个现场血泪点:直接乱改
MD28082 / MD28083这类”框架类”MD,NCK 会按新值重新初始化框架存储结构,可能把用户循环、制造商循环和校准数据一起删掉。一旦误删,只能从制造商完整备份(NCK + PLC + SINAMICS + HMI 四个归档)恢复,再做 NCK 冷启动。用 CYCLE800 五轴摆头功能的,记得MD28082的位5(TOOLFRAME)必须置位。
三、27801 / 27810:安全模式与 PLC 配置不一致
这两条是同一类问题的两个层级:
- 27801(通道级):
安全运行模式不一致:MD $MN_SAFE_MODE = %2;PLC 配置 = %3。整机的”安全操作模式”在MD13370 $MN_SAFE_MODE里设的值,和 PLC 配置里的不一致。 - 27810(轴级):
轴 %1 安全模式不一致:$MN_SAFE_MODE = %2;MD "%3" = %4。某个轴的安全使能,和MD13370设定的整机安全模式对不上。
关键点在 27810 到底对的是哪个 MD:
| 安全操作模式 | 安全使能写在这里 |
|---|---|
| SINUMERIK Safety Integrated plus(F-PLC) | MD36901 $MA_SAFE_FUNCTION_ENABLE(轴级安全功能使能,位0=SBH/SG、位6=外部安全停 STOP A/C/D 等) |
| SINUMERIK Safety Integrated(SPL) | MD37950 $MA_SAFE_INFO_ENABLE |

处置要点:
- 标准做法是在
MD13370 $MN_SAFE_MODE或 PLC 配置 两者之一里把安全模式统一。 - 如果 %3(PLC 配置的值)显示 -1,含义是”PLC 配置里定义的安全模式不被允许”——这种情况必须改 PLC,不是改 MD 能解决的。
- 注意:混合运行不允许——SIC/SCC 在 ncSI 模式下不能和 F-PLC 混着用。
- 反应:本通道 NC 启动禁止、方式组未就绪、通道未就绪、报警时在程序段末 NC 停止。改完要关机再开机(Switch control OFF / ON)。
四、27350 / 27351:F_DP 通信错误(PROFIsafe 链路断了)
27350:F_DP: %1 通信,连接 %2 报告错误 %3。含义是 NCK 与外部通信伙伴(通常是 PLC 侧的 F_SENDDP / F_RECVDP)之间的安全通信断了,而且编程的错误响应 ERR_REAC = 0 或 1(会出报警)。
%3 是错误类型:
- SN:报文的消息顺序出错;
- CRC:CRC 校验出错;
- TO:超过了编程的通信超时时间。
三者也可能组合出现。
涉及的机床数据是一组 SAFE_SDP(发送)/ SAFE_RDP(接收)系列,MD13336 – MD13348:
| 机床数据 | 名称 | 说明 |
|---|---|---|
MD13330/13340 | SAFE_SDP/RDP_ENABLE_MASK | 通信关系使能掩码(最多 12 路) |
MD13331/13341 | SAFE_SDP/RDP_ID | 通信关系标识符(须唯一) |
MD13333/13343 | SAFE_SDP/RDP_CONNECTION_NR | SPL 连接号(1–3) |
MD13334/13344 | SAFE_SDP/RDP_LADDR | F_SENDDP/RDP 的 I/O 数据区基址(来自 STEP 7 HW 配置) |
MD13335/13345 | SAFE_SDP/RDP_TIMEOUT | 通信监控时间 |
MD13338/13348 | SAFE_SDP/RDP_ERR_REAC | 错误响应(见下表) |
ERR_REAC 四种取值决定了”通信一断会怎样”:
ERR_REAC | 反应 |
|---|---|
| 0 | Alarm 27350 + 停止 D/E |
| 1 | Alarm 27350(仅报警,不停) |
| 2 | Alarm 27351(仅指示,可自清除) |
| 3 | 无系统响应 |

27350 只在
ERR_REAC = 0 或 1时出现;设成 2 时出的是 27351(自清除,原因消失报警自动消失)。想彻底不报警可设 3,但那是屏蔽不是修复——通信真断了机床照样不安全,现场不推荐。
排查方向:检查 PROFIBUS/PROFINET 通信和通信伙伴;核对逻辑基址(注意直接和间接寻址)是否被 PLC 配置其它部分占用;必要时禁止用户程序执行、对 PLC 做总复位再从 Toolbox 装载基本程序。
用户确认
DB18.FRDP_ACK_REI只确认 F_DP 通信,报警仍会显示,必须再用 NC-RESET 单独确认。另外,要抑制 27354,需在MD10096 $MN_SAFE_DIAGNOSIS_MASK里把位2 置 1。
五、四组报警的机床数据速查表
把上面散落的 MD 收拢成一张表,现场对着查:
| 报警 | 核心机床数据 | 一句话定位 |
|---|---|---|
| 27097 | MD13310 $MN_SAFE_SPL_START_TIMEOUT、MD28082/28083、MD11602、MD10096(位1) | SPL 没在超时内起来,查 NC/驱动故障、SPL 语法、启动配置、输入重复分配 |
| 27801 | MD13370 $MN_SAFE_MODE(通道级) | 整机安全模式 vs PLC 配置不一致 |
| 27810 | MD13370 + MD36901(F-PLC) / MD37950(SPL)(轴级) | 某轴安全使能与整机安全模式不一致;显示 -1 必须改 PLC |
| 27350/27351 | MD13336–13348(SAFE_SDP/RDP_*),尤其 MD13338/13348 ERR_REAC | PROFIsafe 安全通信中断,看 SN/CRC/TO 与响应档位 |
六、现场排查顺序:从诊断到 MD 到 PLC
建议按下面顺序走,别一上来就改 MD:
- 先清上游报警:急停、编码器、PROFIsafe 报警不解除,27097 永远消不掉。进”诊断→报警”看有没有更早的报警。
- 看 SPL 状态:诊断操作区 → SPL → SPL 状态,确认所有 Safety Integrated 驱动显示”OK”,Sinamics 驱动 LED 绿、已同步;NCU 蓝屏上的错误码也读一下。
- 核对启动配置:SPL 名称/路径大小写、
PROG_EVENT与ASUB是否冲突、MD11602的停止原因。 - 查安全模式一致性:27801/27810 时,比对
MD13370与 PLC 的安全模式;-1 就改 PLC;F-PLC/SPL 的使能位别写错 MD(36901 vs 37950)。 - 查通信链路:27350 时,看
%3是 SN/CRC/TO,查 PROFIBUS/PROFINET 物理连接、LADDR、连接号是否唯一、基址是否冲突。 - 必要时再动 MD:任何改动都先记录原值(用
MD11602之类也要先记原始值),改完按手册要求断电再上电。
七、安全提醒与备份(动 MD 前先归档)
- 安全功能改动必须停机、上锁、挂牌(LOTO),并按机床厂安全规范执行;安全程序受 F 密码保护,不知道密码不要乱试绕开。
- 改任何安全相关 MD 前,先做完整制造商备份:NCK、PLC、SINAMICS(驱动)、HMI 四个归档缺一不可。尤其是
MD28082/28083这类框架 MD,误改会删循环和校准数据,只能靠备份恢复。 - 改完安全模式/通信类 MD 后,按手册要求 Switch control OFF / ON(关机再开机),不要指望热改生效。
- 下载 F 程序(F-PLC 模式)前,先确认硬件目录与模块地址没漂移;编译零错误后,比对安全程序集合签名与 CPU 里存的是否一致——不一致必须做验收测试再投产。
- 无法确定本机 MD 编号或安全模式取值时,以本机诊断画面和西门子手册/服务为准,本文数据仅供定位用。
常见问题
27097 和 27801 有什么区别?一个查 SPL,一个查模式?
对。27097 是”安全程序(SPL)在超时内没启动起来”——根因多在 NC/驱动故障、SPL 语法、启动配置或输入重复分配。27801 是”整机安全操作模式(MD13370 $MN_SAFE_MODE)跟 PLC 配置对不上”——属于安全模式设定层面的不一致。两者都和安全集成有关,但卡的是完全不同的环节。
27350 能不能直接忽略?把 ERR_REAC 设成 3 会怎样?
设成 3(MD13338 / MD13348)是”无系统响应”,报警确实不出了,但那只是屏蔽——PROFIsafe 通信真断时机床的安全链路已经失效,现场不推荐这么干。设成 2 出的是 27351(自清除,原因消失自动消);0 是报警+停止 D/E,1 是仅报警。正确做法是查 SN/CRC/TO 对应的通信故障并修掉。
改完这些安全 MD 一定要断送电吗?
要。27801/27810 明确要 Switch control OFF / ON 才生效;框架类、通信类 MD 多数也要求断电再上电(部分 POWER ON 生效,但安全相关以手册为准)。另外 F-PLC 模式下载完 F 程序还要做集合签名比对和验收测试。动之前务必先备份四个归档。
最后更新:2026-10-26
面向海外读者的完整英文版,内容与本文对应 — 可直接转给非中文同事或海外客户。

























暂无评论内容