3. 食品SCADA通信驱动配置与PLC连接测试

通信驱动选型与连接参数

食品产线常见的PLC以西门子S7-1200/1500、三菱FX/Q、欧姆龙CP/CJ系列为主。SCADA侧建立连接的第一步是选对驱动,驱动必须与PLC型号、物理接口和协议三者匹配。本例以一条灌装线的主控PLC(西门子S7-1200,CPU 1214C,通过以太网口与SCADA上位机同网段)为对象,完成驱动配置、连接建立与测试寄存器读取。

驱动选型的关键判断依据:

  • 协议层:S7-1200的以太网口支持S7通信(ISO-on-TCP,端口102),SCADA侧应选择"S7 TCP/IP"类驱动,而不是Modbus TCP(除非PLC内已做Modbus服务器映射)。
  • 寻址方式:S7驱动按DB块+偏移量寻址,需在PLC侧确认DB块已取消"优化的块访问",否则无法按绝对地址读取。
  • 连接参数:PLC的IP地址、机架号(Rack,S7-1200固定为0)、槽号(Slot,S7-1200通常为1)、本地网卡与超时时间。
若PLC侧DB块保持"优化的块访问"(默认勾选),S7驱动读取会返回地址错误。实操中先在TIA Portal中取消该DB块的优化访问并重新下载,再配置SCADA驱动。
SCADA 上位机 192.168.10.20 / 255.255.255.0 通信驱动 S7 TCP/IP(ISO-on-TCP) 端口 102 · 超时 3000 ms 连接参数 IP 192.168.10.10 Rack 0 · Slot 1 本地网卡:车间监控网 测试变量 DB1.DBW0(INT) 期望值:1234 请求:读 DB1.DBW0 响应:值 = 1234 工业以太网 · 交换机 灌装线主控 PLC S7-1200 CPU 1214C 以太网接口 192.168.10.10 / 24 数据块 DB1 优化的块访问:已取消 DBW0 = 1234(测试值) DBW2 = 灌装温度原始值 S7 通信服务 端口 102 已开放 允许 PUT/GET 访问 连接判读 链路正常 读到 1234 质量码 Good 典型异常 超时 → IP/网段/防火墙 地址错 → DB 优化访问 拒绝 → PUT/GET 未允许 通过条件 值一致 + 质量 Good 连续 3 次读取稳定 方可进入点位组态

驱动参数配置要点

在SCADA工程的设备节点下新建通信设备,选择S7 TCP/IP驱动后,按下表填写参数。参数值必须与PLC实际组态一致,任何一项不符都会导致连接失败或读取异常。

参数项本例取值说明与核对方法
设备名称LINE1_FILLER_PLC沿用产线命名规范,便于后续位号绑定
驱动类型S7 TCP/IP对应S7-1200以太网口S7通信
PLC IP192.168.10.10与TIA Portal中CPU的PROFINET接口地址一致
Rack / Slot0 / 1S7-1200固定Rack=0;Slot=1为CPU槽位
端口102ISO-on-TCP标准端口,一般无需修改
超时时间3000 ms车间网络负载较高时可放宽至5000 ms
重连间隔5000 ms断线后自动重连周期

PLC侧需同步确认两项设置:CPU属性中"防护与安全 → 连接机制"勾选"允许来自远程对象的PUT/GET通信访问";DB1属性中取消"优化的块访问"。这两项是S7驱动按绝对地址读取的前提。

测试寄存器读取与链路验证

连接建立后,先在驱动下建立一个测试变量,指向DB1.DBW0,数据类型INT。在PLC侧将DB1.DBW0预置为1234作为已知测试值,然后在SCADA运行态或驱动调试窗口中读取该变量。

  1. 打开驱动的在线调试/变量监视窗口,添加测试项:地址 DB1.DBW0,类型 INT。
  2. 点击读取,观察返回值与质量码。正常应返回 1234,质量码为 Good。
  3. 连续读取3次,确认数值稳定、无间歇性超时,排除网络抖动。
  4. 将PLC侧DB1.DBW0改为5678并下载,再次读取,确认SCADA侧数值同步变化,证明是实时读取而非缓存。
测试项配置示例(驱动调试窗口)
地址表达式 : DB1.DBW0
数据类型   : INT
读取周期   : 1000 ms
期望结果   : 1234 → 质量码 Good
二次验证   : PLC 改为 5678 → SCADA 读到 5678

常见失败现象与定位

  • 连接超时:先在上位机命令行 ping 192.168.10.10 确认网络可达;再检查本机防火墙是否放行出站102端口;最后核对SCADA所选本地网卡是否为车间监控网段。
  • 地址访问错误:多为DB块仍为优化访问,或偏移量写错(DBW0为字,DBB0为字节)。回到TIA Portal取消优化访问并重新下载。
  • 连接被拒绝:CPU未允许PUT/GET访问,或PLC处于STOP模式。检查连接机制勾选项与CPU运行状态。
  • 读到值但为0或跳变:地址偏移与PLC程序写入位置不一致,用TIA Portal在线监视DB1确认实际写入偏移。
测试寄存器验证通过仅代表通信链路正常,不代表所有点位地址正确。进入模拟量点位组态前,应逐点核对DB块偏移与数据类型,避免字/双字混用导致数值错位。