返回
现场一台 G120C 变频器走 Profinet 总线连接 S7-1500 PLC。 正常运行中,变频器突然跳闸,面板报错:F07802(驱动器未就绪)。 诡异现象: 工程师按下变频器面板上的 H
发布

现场一台 G120C 变频器走 Profinet 总线连接 S7-1500 PLC。 正常运行中,变频器突然跳闸,面板报错:F07802(驱动器未就绪)。 诡异现象: 工程师按下变频器面板上的 H

181阅读 1 回复 2026-08-21 01:39发布
关注Ta

15630284682554普通会员楼主

电话/手机:联系客服

遇到个让人抓狂的控制权限逻辑死坑:
现场一台 G120C 变频器走 Profinet 总线连接 S7-1500 PLC。

正常运行中,变频器突然跳闸,面板报错:F07802(驱动器未就绪)。

诡异现象: 工程师按下变频器面板上的 Hand/Auto 键切到手动模式(Hand),面板上的 F07802 报警瞬间自动消失,机器恢复正常;但只要再按一下切回 Auto 远程控制,F07802 报警立马死灰复燃,连复位都复掉不!

PLC 侧监控 Profinet 通讯一切正常,控制字(STW1)也给出了 ON/OFF1 = 1。
为什么切到本地控制报警就会自己清除,切回总线控制就坚决报‘未就绪’?总线控制字里到底什么隐蔽信号把变频器给‘锁死’了?

以下内容回复后可见

优质评论内容

  • 明扬工控技术客服

    明扬工控技术客服2026-08-21 01:55:42

    这个现象里,“Hand 正常、Auto 立刻 F07802”是最有价值的线索。

    先把结论定准:

    F07802 本身不是“Profinet 通讯故障”,也不是简单的“PLC 少给了一个运行位”。

    西门子对 G120C 的官方定义是:收到内部 ON 命令以后,功率单元在 p0857 监控时间内没有返回 READY,于是报 F07802:Infeed or power unit not ready。

    但既然 HAND 下驱动能正常恢复甚至运行,而一切 AUTO 就立即重现,那我会优先怀疑:AUTO 模式下 PLC 给出的控制字/外围使能顺序,让 G120C 在“不满足功率就绪条件”的时候又重新收到 ON 命令。

    也就是说,这不是简单的硬件坏。

    一、首先纠正一个现场最容易误判的地方

    你说 PLC 侧:

    STW1.0 ON/OFF1 = 1

    这远远不能证明:

    “PLC 给 G120C 的运行条件完整。”

    G120C 的标准 PROFIdrive 控制字里,至少还要看这些:

    STW1 位 1 时的含义
    Bit 0 ON/OFF1 = ON
    Bit 1 No OFF2
    Bit 2 No OFF3
    Bit 3 Enable operation
    Bit 4 RFG Enable
    Bit 5 RFG Start/Enable
    Bit 6 Setpoint Enable
    Bit 7 Fault acknowledge,脉冲
    Bit 10 Master control by PLC

    这是西门子 G120C 官方控制字定义。Bit1=0 就是 OFF2,Bit2=0 是 OFF3,Bit3=0 会立即取消脉冲使能,Bit10=0 则表示 PLC 没有控制权。

    所以:

    Bit0 = 1

    而其余是:

    Bit1 = 0
    Bit2 = 0
    Bit3 = 0

    这种控制字根本不能理解成:

    “运行允许已经给全了。”

    二、标准情况下,先盯这两个字:047E 和 047F

    西门子自己的 PROFIdrive 示例中,常见待机控制字就是:

    16#047E

    对应:

    Bit0 = 0   OFF1
    Bit1 = 1   No OFF2
    Bit2 = 1   No OFF3
    Bit3 = 1   Enable operation
    Bit4 = 1   RFG enable
    Bit5 = 1   RFG enable
    Bit6 = 1   Setpoint enable
    Bit10 = 1  PLC has master control

    真正运行时再变成:

    16#047F

    也就是只把:

    Bit0
    0 → 1

    送出 ON 命令。西门子官方资料直接用 047E 展示了这种标准控制字结构。

    所以我现在第一件事会让 PLC 工程师不要再告诉我:

    “Bit0已经是1。”

    而是直接告诉我:

    AUTO 故障时 STW1 整个 WORD 到底是多少?

    例如:

    16#047F?
    16#047D?
    16#0479?
    16#007F?
    还是别的?

    这一下经常就能找到问题。

    三、但这里还有一个更重要的细节:F07802 并不是 OFF2 少了直接造成的

    这个要讲准确。

    F07802 的触发逻辑是:

    ON/OFF1 出现 0 → 1
            ↓
    启动 p0857 功率单元监控计时
            ↓
    等待 Power Unit READY
            ↓
    规定时间内没有 READY
            ↓
    F07802

    西门子 G120C List Manual 就是这么定义 p0857 的。

    所以真正值得问的是:

    为什么 AUTO 模式发出 ON 后,Power Unit READY 没成立?

    这才是根。

    四、Hand/Auto 现象为什么特别有价值?

    因为 BOP-2 的 Hand/Auto 不是简单改变显示界面。

    西门子明确规定:

    HAND/AUTO 键是在 BOP-2 本地控制源和 Fieldbus 远程控制源之间切换。

    HAND:

    控制权 → BOP-2

    AUTO:

    控制权 → Fieldbus / PLC

    所以现场实际发生的事情很可能是:

    AUTO

    PLC 的控制字接管

    F07802


    按 HAND

    PLC 控制权被拿走

    原来的总线 ON 命令不再控制顺序机

    驱动进入本地状态

    故障可以清除 / 本地重新建立正常使能

    然后:

    再按 AUTO

    总线控制权重新交给 PLC

    PLC 当前那个错误状态的 STW1 立即重新灌进来

    再次产生 ON 条件

    Power Unit READY 条件不满足

    F07802 再次出现

    所以:

    Hand 并没有“修好了变频器”。

    它只是把罪魁祸首——AUTO 下的远程命令链——暂时隔离了。

    这也是为什么我现在不会先换 G120C。

    五、还有一个特别容易造成“复位都复不掉”的坑

    就是:

    PLC 在故障状态下还一直保持 STW1.0 = 1。

    西门子对 STW1.7 故障确认有一句很重要的话:

    如果故障确认时 ON 命令仍然有效,驱动会进入 closing lockout / switch-on inhibit 状态。

    所以错误 PLC 程序往往是:

    运行要求 = TRUE



    STW1.0 一直 = 1


    驱动故障

    PLC只给 Bit7 Reset 脉冲


    但 Bit0 还是 = 1

    工程师看到的是:

    “怎么 RESET 都清不掉。”

    其实 PLC 根本没有执行完整的故障恢复状态机。

    六、正确的复位过程不是“Bit7戳一下”

    我会让程序这么做。

    发生故障以后

    先撤掉 ON:

    STW1 = 16#047E

    即:

    Bit0 = 0

    但是:

    Bit1 = 1
    Bit2 = 1
    Bit3 = 1
    Bit4 = 1
    Bit5 = 1
    Bit6 = 1
    Bit10 = 1

    保持正常条件。

    然后给 Fault Acknowledge 一个上升沿:

    Bit7:
    0 → 1 → 0

    确认故障解除、switch-on inhibit 消失以后,最后才:

    16#047E

    16#047F

    重新启动。

    而不是:

    047F 一直焊死
    +
    不停戳 Reset
    七、现场最应该看的其实是 ZSW1,不只是 STW1

    现在不要只看 PLC“发了什么”。

    还要看驱动“认为自己是什么状态”。

    重点看:

    ZSW1.0  Ready to switch on
    ZSW1.1  Ready
    ZSW1.2  Operation enabled
    ZSW1.3  Fault active
    ZSW1.4  OFF2 inactive
    ZSW1.5  OFF3 inactive
    ZSW1.6  Closing lockout / switch-on inhibit

    西门子 G120C 官方状态字就是这样定义的。

    尤其这个:

    ZSW1.6

    非常值得看。

    如果切回 Auto 后出现:

    Bit6 = 1

    那就是:

    Switch-on inhibited。

    这比只盯:

    STW1.0 = 1

    有价值多了。

    八、但是这次我最想让你看的是三个内部参数

    不要只看 TIA PLC 里的 WORD。

    直接在线连接 G120C,看:

    r2050[0]

    这是驱动实际从现场总线收到的 PZD01。

    再看:

    r2090

    这是 PROFIdrive 收到的 Control Word 1 逐 bit 展开。

    西门子明确规定:

    r2050[0] = PZD01 received from fieldbus


    r2090.0 ... r2090.15
    = STW1各bit

    然后还要看:

    r0898

    这个比 r2090 更重要。

    因为:

    r2090

    告诉你:

    PLC 发来了什么。

    而:

    r0898

    告诉你:

    经过 BICO、控制源选择、CDS 等逻辑以后,SINAMICS 顺序控制器最终真正收到的命令是什么。

    西门子将 r0898 定义为 sequence control control word;同时 r0899 是 sequence control status word。

    所以现场最好同时截:

    HAND:


    r2090 =
    r0898 =
    r0899 =




    AUTO:


    r2090 =
    r0898 =
    r0899 =

    这三组一对比,问题很容易现形。

    九、还有一个很隐蔽的地方:CDS 指令数据组

    G120C 里面并不是所有控制方式共用完全同一套信号源。

    它有:

    CDS
    Command Data Set

    相关参数包括:

    p0810  CDS选择


    p0840  ON/OFF1
    p0844  OFF2
    p0848  OFF3
    p0852  Enable operation
    p0854  Control by PLC

    西门子官方 G120C 参数表把这些都列在顺序控制/数据组区域。

    所以如果机器以前有人改过参数,也完全可能出现:

    HAND使用一组正确的命令源


    AUTO切到另一组

    其中某个使能来源错误

    这就会出现非常“玄学”的:

    Hand 好好的。
    Auto 就死。

    其实一点都不玄学,是两套 command source。

    十、我还会特别查 Bit10

    也就是:

    STW1.10
    Control by PLC

    这个经常被忽略。

    西门子明确说明:

    STW1.10 = 0
    → PLC没有主控制权
    → fieldbus process data不作为有效控制


    STW1.10 = 1
    → Master control by PLC
    → 接受总线PZD

    所以 Auto 下最低限度要确认:

    r2090.10 = 1

    而且不能只看 PLC DB 里的那个变量。

    必须看:

    驱动真正收到的 r2090.10。

    十一、不过 F07802 还有一个比 STW1 更值得检查的外围条件

    就是:

    主电源 / DC Link / 接触器。

    F07802 官方原因包括:

    功率单元 READY 没回来;
    DC Link voltage 不存在;
    电源电压参数不正确;
    Power Unit 异常;
    p0857 监控时间太短。

    而 G120C 顺序控制里还存在:

    p0860
    电网接触器反馈


    p0861
    电网接触器监控时间

    西门子官方参数列表中也有。

    所以我特别想确认现场有没有:

    PLC → 主接触器 KM
            ↓
          G120C

    如果 PLC 在 Auto 模式的程序是:

    驱动故障

    立即断主接触器

    但与此同时:

    STW1.0 仍然 = 1

    那就会形成一个非常漂亮的死循环:

    AUTO

    PLC要求变频器 ON

    但PLC自己的逻辑又没给主电源/接触器

    DC Link / Power Unit没有 Ready

    p0857开始计时

    F07802

    PLC看到Fault

    继续保持错误的状态

    然后切 HAND:

    总线命令退出

    这个矛盾暂时不存在

    又看起来好了。

    这个我会排在非常靠前的位置。

    十二、所以现在不要直接把原因定成“OFF2 少了一位”

    我会把嫌疑排序成这样:

    第一嫌疑:PLC 的故障复位/启动状态机错误

    典型:

    Fault发生

    STW1.0仍保持1

    只脉冲Bit7

    没有先回047E

    Switch-on inhibit / 重新启动顺序异常
    第二嫌疑:AUTO 下完整 STW1 不正确

    重点:

    Bit1 No OFF2
    Bit2 No OFF3
    Bit3 Enable Operation
    Bit10 Master Control

    不是只检查 Bit0。

    第三嫌疑:AUTO 模式同时控制着某个外部主接触器/使能

    结果:

    PLC发ON

    和:

    Power Unit真正有电/Ready

    时序矛盾。

    第四嫌疑:HAND/AUTO 使用不同 CDS / BICO 信号源

    检查:

    p0810
    p0840
    p0844
    p0848
    p0852
    p0854

    以及:

    r0836

    当前到底选择了哪个 CDS。

    第五嫌疑:真正的 p0857 / 电源问题

    如果以上全部正确,再查:

    p0857
    DC link
    p0210
    功率单元READY

    但由于 HAND 能正常工作,纯粹功率模块硬件损坏的概率我会往后放。

    最快的现场定位法

    我甚至不需要你先改程序。

    把驱动在线监视窗口打开,做一次:

    HAND → AUTO

    同时看:

    r2050[0]   PLC实际收到的PZD1
    r2090      Fieldbus STW1各bit
    r0898      顺序控制器最终控制字
    r0899      顺序控制器最终状态
    r0836      当前CDS

    PLC再同步看:

    STW1
    ZSW1

    特别盯:

    STW1.0
    STW1.1
    STW1.2
    STW1.3
    STW1.7
    STW1.10


    ZSW1.0
    ZSW1.1
    ZSW1.2
    ZSW1.3
    ZSW1.6

    我认为这比继续“复位几次看看”有效得多。

    这个案例一句话讲透

    G120C 切到 HAND 后故障消失,并不能说明 F07802 是假的;它说明切换到本地以后,PLC 的远程 ON/使能链被隔离了。切回 AUTO 后,总线当前控制字又重新接管,如果 PLC 在 Power Unit 尚未 Ready 时立即重新给 ON,或者 OFF2/OFF3、Enable Operation、Master Control、外部主接触器等条件存在矛盾,就会再次触发 F07802。

    所以这个案例里最容易误导人的一句就是:

    “Profinet正常,STW1.0=1,所以PLC肯定没问题。”

    恰恰相反。

    Profinet 正常只说明数据包能到;Bit0=1只说明 PLC 在喊“开机”。它完全不能证明 G120C 此时具备正确的完整开机序列。