3. S7-1200/1500与G120变频器PROFINET通讯:硬件组态、设备名称与IP地址分配、报文配置与控制字状态字解析

各位工程师朋友,大家好。今天我们来聊聊S7-1200/1500与G120变频器通过PROFINET通讯这件事。说实话,这个组合在工业现场太常见了,几乎每个项目都会碰到。我刚开始接触时也踩过不少坑,今天就把这些经验分享给你们。

3.1 硬件组态——先把“路”铺好

硬件组态说白了,就是让PLC和变频器互相认识。在TIA Portal里操作,其实不复杂。

第一步:添加PLC

新建项目后,双击“添加新设备”,选你的S7-1200或1500型号。我个人习惯把CPU型号和固件版本都核对清楚,不然下载时容易报错。

第二步:添加G120变频器

在“硬件目录”里找到“驱动器”->“西门子变频器”->“G120”。注意选对控制单元型号,比如CU240E-2或CU250S-2。拖到网络视图里,系统会自动生成一个PROFINET接口。

关键点:G120的PROFINET接口默认是“PN-IO”,别选成“PN-IF”了。我遇到过有人选错,结果通讯死活不通。

第三步:连接设备

在网络视图里,把PLC的PROFINET接口和G120的接口用线连起来。系统会自动分配IO地址,一般不用改。

3.2 设备名称与IP地址分配——给设备起个名

PROFINET通讯里,设备名称比IP地址更重要。为什么?因为PROFINET是靠设备名称来识别设备的,IP地址反而是辅助的。

设备名称设置:

  • 在G120的属性里,找到“PROFINET接口[X1]”->“以太网地址”
  • 勾选“生成PROFINET设备名称”,我一般用“g120_drive_01”这种格式
  • 注意:名称不能有空格,不能以数字开头,长度不超过127个字符

小技巧:设备名称最好和项目里的设备编号对应,比如“g120_line1_motor2”。这样后期维护时,一看就知道是哪个设备。

IP地址分配:

IP地址可以手动设置,也可以用DCP协议自动分配。我建议手动设置,避免冲突。比如PLC用192.168.0.1,G120用192.168.0.2,子网掩码255.255.255.0。

注意:IP地址必须在同一网段,否则通讯不上。我曾经在项目现场排查了半天,结果发现IP地址写错了。

3.3 报文配置——选对“语言”才能沟通

报文就是PLC和变频器之间传输的数据格式。G120支持多种标准报文,我常用的有这三种:

报文类型 数据长度 适用场景
标准报文1 2个字(4字节) 简单启停、速度控制
标准报文20 6个字(12字节) 需要读取实际速度、电流等
标准报文352 12个字(24字节) 高级应用,如位置控制

怎么选?

  • 如果只是控制电机启停和速度,标准报文1就够了
  • 如果需要监控电流、转矩等,用标准报文20
  • 如果要做定位控制,那就得上标准报文352

在TIA Portal里配置时,双击G120,在“报文配置”里选择对应的报文类型。注意:PLC和变频器的报文类型必须一致,否则数据对不上。

避坑指南:我曾经在项目里用了标准报文1,但PLC程序里却读取了第3个字的数据,结果全是0。后来才发现报文1只有2个字,第3个字根本不存在。

3.4 控制字与状态字解析——读懂“暗号”

控制字和状态字是PLC和变频器通讯的核心。控制字是PLC发给变频器的指令,状态字是变频器反馈给PLC的状态。

控制字(STW1):

标准报文1的控制字是第一个字,各位的含义如下:

含义 说明
Bit 0 ON/OFF1 1=启动,0=停车
Bit 1 OFF2 0=紧急停车
Bit 2 OFF3 0=快速停车
Bit 3 使能运行 1=允许运行
Bit 4 斜坡发生器使能 1=使能
Bit 5 继续启动 1=继续
Bit 6 设定值使能 1=使能
Bit 7 故障确认 上升沿确认故障

状态字(ZSW1):

状态字是变频器反馈的第一个字,各位含义如下:

含义 说明
Bit 0 准备好 1=准备好
Bit 1 运行中 1=正在运行
Bit 2 正向运行 1=正转
Bit 3 故障 1=有故障
Bit 4 OFF2激活 1=OFF2未激活
Bit 5 OFF3激活 1=OFF3未激活
Bit 6 禁止合闸 1=可以合闸
Bit 7 报警 1=有报警

怎么用?

在PLC程序里,用MOVE指令把控制字写到PQW(过程输出字),用MOVE指令从PIW(过程输入字)读取状态字。比如:

// 启动变频器
L    16#047E  // 控制字:启动+使能
T    "G120".STW1

// 读取状态字
L    "G120".ZSW1
T    MW100

经验之谈:控制字16#047E是启动的经典值,包含了ON/OFF1、使能运行、斜坡发生器使能、设定值使能等。我一般用这个值作为启动指令。

3.5 知识体系总览

为了让大家更直观地理解整个通讯流程,我画了一张图:

S7-1200/1500与G120 PROFINET通讯知识体系 S7-1200/1500 硬件组态 IP: 192.168.0.1 设备名称: plc_01 PROFINET 报文配置 标准报文1/20/352 控制字 → 状态字 PQW → PIW G120变频器 硬件组态 IP: 192.168.0.2 设备名称: g120_01 核心流程 1. 硬件组态:在TIA Portal中添加PLC和G120,连接PROFINET接口 2. 设备命名:分配设备名称和IP地址,确保在同一网段 3. 报文配置:选择标准报文类型,确保PLC和变频器一致 4. 数据交换:通过控制字/状态字实现启停、速度控制、状态监控

这张图把整个通讯流程串起来了。从PLC到G120,中间经过报文配置,最后通过控制字和状态字实现数据交换。你想想看,是不是很清晰?

3.6 实战小贴士

最后,分享几个我在项目中总结的经验:

  • 先检查硬件:通讯不上时,先看网线有没有插好,交换机有没有供电。我遇到过好几次,折腾半天结果是网线松了。
  • 设备名称要唯一:同一个PROFINET网络里,设备名称不能重复。我曾经在调试时发现两个G120用了同一个名称,结果只有一个能通讯。
  • 报文类型要匹配:PLC和变频器的报文类型必须一致。我建议在TIA Portal里直接复制粘贴,避免手误。
  • 控制字要按顺序:启动变频器时,控制字要按顺序发送。先发OFF2和OFF3解除,再发使能,最后发启动。顺序错了,变频器可能不响应。

重要提醒:在调试时,建议先用TIA Portal的“在线诊断”功能检查通讯状态。如果看到“设备名称错误”或“IP地址冲突”,先别急着改程序,检查一下硬件配置。

好了,关于S7-1200/1500与G120的PROFINET通讯,今天就聊到这里。硬件组态、设备命名、报文配置、控制字状态字,这几个环节环环相扣,缺一不可。希望今天的分享能帮到你们。


公众号:蓝海资料掘金营,微信deep3321