西门子PLC与SINAMICS V90伺服Profinet通信报F01905“位置控制使能丢失”

发布于 2026-03-13 13:51:37 · 浏览 7 次 · 评论 0 条

故障代码 F01905 表示驱动器在位置控制模式下,未能接收到有效的“位置控制使能”信号,或者该信号在运行过程中突然中断。此故障通常发生在西门子S7-1200/1500 PLC与SINAMICS V90伺服驱动器通过Profinet进行位置控制(工艺对象/TO模式)的场合。

以下是针对该故障的系统性排查与解决指南。


一、 参数配置一致性核查

硬件配置与参数设置的不匹配是导致通信握手失败的首要原因。

  1. 恢复 驱动器出厂设置(可选,针对杂乱参数)。

    • 在V-ASSISTANT软件中,点击 “恢复出厂设置”。
    • 写入 参数 P0970 = 1,等待驱动器复位。
  2. 配置 控制模式。

    • 连接 V-ASSISTANT软件至V90驱动器。
    • 进入 “参数设置”菜单。
    • 设定 参数 P290031(速度控制模式S)或 2(基本定位控制EPOS),若使用PLC工艺对象(TO),通常设定为 1确认 P29003 的设定值与PLC侧的工艺对象配置模式严格一致。
  3. 核对 Profinet报文结构。

    • 检查 V90参数 P29004(报文选择)。
    • 对比 TIA Portal项目中PLC硬件组态里V90设备的报文配置。
    • 若使用标准报文 3102105确保 两边的数值完全对应。例如,PLC侧选择“报文105”,则 P29004 必须设为 105
    • 下载 参数至驱动器并执行“保存参数”(RAM -> ROM)。

二、 控制字信号逻辑诊断

F01905 核心在于“使能”信号的逻辑链断裂。PLC发送的控制字(STW1)必须满足特定比特位组合,驱动器才能进入“位置控制使能”状态。

1. 状态字与控制字映射关系

在Profinet通信中,PLC发送的第一个字为控制字(STW1),驱动器返回的第一个字为状态字(ZSW1)。

控制字(STW1)关键位定义:

位编号 功能定义 触发条件
Bit 0 ON/OFF1 1 = 启动运行
Bit 1 OFF2 (急停) 1 = 允许运行,0 = 惯性停车
Bit 2 OFF3 (快停) 1 = 允许运行,0 = 快速停车
Bit 3 使能逆变器 1 = 脉冲使能
Bit 4 使能斜坡函数发生器 1 = 激活斜坡
Bit 10 位置控制使能 1 = 激活位置控制器

2. 强制输出测试

通过TIA Portal的监控表强制写入控制字,验证驱动器反应。

  1. 创建 一个监控表。
  2. 输入 V90的控制字地址(如 QW100,具体取决于硬件组态起始地址)。
  3. 依次写入 以下数值,逐步使能驱动器:
    • 步骤一:写入 16#047F(二进制 0000 0100 0111 1111)。
      • 此操作置位 Bit 0-3, 6, 10。
      • 观察 驱动器状态字(如 IW100)是否变为 16#0237 或类似“准备就绪”状态。
    • 步骤二:若驱动器仍报错,检查 Bit 10 是否确实为 1。如果 P29003 设为 2(EPOS模式),且PLC未发送正确的模式切换指令,可能导致控制器未激活。

三、 工艺对象(TO)与程序逻辑排查

使用西门子标准工艺对象指令(如 MC_Power, MC_Reset)时,程序的执行顺序直接影响使能状态。

1. 诊断缓冲区分析

  1. 打开 TIA Portal项目树中的“在线与诊断”视图。
  2. 选择 CPU模块,点击 “诊断缓冲区”。
  3. 查找 关于工艺对象的状态信息。如果看到“TO未同步”或“轴组件错误”,说明硬件标识符不匹配。
  4. 检查 V90的 P0015(宏观参数/启动模式),确认 其未被设定为强制禁用位置控制。

2. 程序执行流修正

程序逻辑错误常导致 Bit 10 瞬间跳变。

graph TD A["开始: 上电初始化"] --> B["调用 MC_Reset 复位故障"] B --> C{"故障已清除?"} C -- "否" --> B C -- "是" --> D["调用 MC_Power"] D --> E{"Enable 端置位?"} E -- "否" --> F["驱动器保持静止"] E -- "是" --> G["PLC发送 STW1"] G --> H["驱动器接收并执行"] H --> I{"状态字 Bit 10 == 1?"} I -- "否" --> J["触发 F01905"] I -- "是" --> K["进入位置控制模式"] J --> B

排查步骤:

  1. 检查 MC_Power 功能块的输入引脚。
    • Enable 引脚必须保持常 1 状态。
    • Enable 引脚接入了瞬时信号或未接通,PLC将发送 Bit 10 = 0 的控制字。
  2. 检查 MC_HaltMC_Stop 指令的调用情况。
    • 若这些指令被意外触发(如急停逻辑编写错误),会导致 MC_PowerStatus 输出变为 False,进而撤销位置控制使能。
  3. 修正 急停逻辑。
    • 急停信号应接入 MC_PowerStopMode 或直接硬件接线至驱动器 CWL 端子,而非简单地将 MC_Power.Enable0,这会导致 F01905F01650

四、 硬件接线与外部信号排查

即使通信正常,外部硬接线信号的缺失也会封锁驱动器使能。

  1. 检查 端子 SON (Servo On) 信号。

    • 若V90参数 P29300(数字量输入功能定义)配置了外部使能端子(如 DI1),确保 该端子已接入 24V 高电平。
    • 若PLC已发送使能指令,但硬接线 SON 断开,驱动器将无法吸合逆变器,导致位置控制环无法闭环。
  2. 测量 控制电源电压。

    • 使用 万用表测量 V90 的控制电源端子(通常为 L+M)。
    • 确认 电压在 20.4V28.8V 之间。电压波动可能导致通信丢包或内部逻辑复位。
  3. 排查 Profinet物理链路。

    • 观察 V90网口指示灯。Link 灯应常亮,Act 灯应闪烁。
    • 交换 网线或更换交换机端口测试。
    • 若网络存在丢包,PLC发出的控制字可能丢失,导致驱动器接收到的使能信号出现“断点”,触发 F01905

五、 驱动器内部状态深度诊断

若上述步骤均无效,需深入驱动器内部参数查看信号流向。

  1. 读取 在线诊断参数。

    • 连接 V-ASSISTANT,进入 “调试” -> “信号追踪”。
    • 添加 信号 r0054(控制字 STW1)。
    • 添加 信号 r0058(状态字 ZSW1)。
    • 添加 信号 r0069(控制器状态)。
  2. 执行 触发捕获。

    • 配置 触发条件为“故障发生时”(Trigger on Fault F01905)。
    • 运行 设备,等待故障触发。
    • 分析 波形图:
      • 查看 r0054 的 Bit 10 在故障发生前是否变为 0
      • r0054 的 Bit 10 保持为 1,但驱动器仍报错,说明驱动器内部处理异常,可能是 伺服电机编码器故障驱动器功率单元硬件故障
  3. 检查 编码器连接。

    • 若编码器线缆屏蔽不良或断线,驱动器无法获取准确位置反馈,将强制关闭位置环,报出 F01905 或相关编码器故障。
    • 紧固 编码器接口螺丝,检查 屏蔽层接地情况。

六、 常见故障排查速查表

故障现象 可能原因 排查动作
上电即报错 报文配置不一致 核对 P29004 与 PLC 硬件组态报文号
运行中随机报错 网络通信丢包 检查 网线质量、接头压制工艺、交换机负载
复位后无法消除 MC_Power 未调用 检查 PLC 程序中轴工艺对象的 Status
使能瞬间掉电 硬件限位触发 检查 CCW/CW 硬件限位信号是否被误触发
伴随编码器报警 反馈丢失 检查 编码器线缆及 P29011(编码器分辨率设置)

通过以上步骤,依次从参数配置、程序逻辑、硬件接线三个维度进行隔离排查,可准确定位并解决 F01905 故障。

评论 (0)

暂无评论,快来抢沙发吧!

扫一扫,手机查看

扫描上方二维码,在手机上查看本文