西门子博图编程:使用S7-1500冗余PLC 建立ModbusTCP通信

11 篇文章 7 订阅
6 篇文章 2 订阅



1.1 网络结构

以 CPU151 7H 为例, 网络结构示意如下图所示:
在这里插入图片描述
CPU 1517H 冗余 PLC 有 PROFINET X1 接口和 X2 接口, Modbus TCP 通讯可以将设备(例如 Standard PLC)通过交换机接入到任何网络接口中。如果接入 X1 接口,需要通过交换机接入到 MRP 环网中,但是并不需要支持 H-sync 转发。如果接入 X2 接口,只需要使用交换机将设备(例如 Standard PLC)接入就可以, 不需要组成 MRP 环网,同时交换机也不需要选择支持MRP 和 H-sync 转发。

1.2 系统 IP 介绍

对于 S7-1500R/H 冗余系统除了各 CPU 的设备 IP 地址之外, S7-1500R/H 冗余系统还可以分配以下系统 IP 地址:

  • 两个 CPU 上 PROFINET 接口 X1 的系统 IP 地址
  • 两个 CPU 上 PROFINET 接口 X2 的系统 IP 地址

通过系统 IP 地址,可与其它设备(如, HMI 设备、 CPU、 PG/PC)进行通信。 这些设备通常通过系统 IP 地址与冗余系统的主 CPU 进行数据通信。这样,可确保在冗余操作中原来的主CPU 发生故障后,通信伙伴可在 RUN-Solo 系统状态下与新的主 CPU(之前的备用 CPU) 进行数据通信。每个系统 IP 地址都有一个虚拟 MAC 地址, 用户可在 STEP 7 中启用该系统 IP 地址。
与设备 IP 地址相比,系统 IP 地址的优势:

  • 通信伙伴专与主 CPU 进行通信。
  • 即使主 CPU 故障,仍可通过系统 IP 地址与 S7-1500R/H 冗余系统进行数据通信。

以下介绍 Modbus TCP 通讯的连接的建立与编程。

1.3 Modbus TCP 通讯编程

1.3.1 CPU 做服务器

本节以 CPU 1517H 作为服务器端与 ModScan32 进行 Modbus TCP 通讯组态步骤如下:

描述图示
<1.项目中添加CPU1517H在这里插入图片描述
2.打开设备视图可以看到所组态的CPU1517H在这里插入图片描述
3.设置 PLC IP地址 。说明: X1 接口的系统 IP 是两个冗余 PLC 的X1 接口的公共设置,当通信时通过系统 IP始终访问的是主 PLC。示例中:PLC1 X1 IP:192.168.0.1 1PLC2 X1 IP:192.168.0.12X1 系统 IP:192.168.0.10PLC1 X2 IP:192.168.1.11PLC2 X2 IP:192.168.1.12X2 系统 IP:192.168.1.10X1 接口:在这里插入图片描述①:PLC 的 X1 接口 IP 地址 ②:冗余 PLC 的 X1 接口系统 IP 地址。 同样 X2 接口也可设置独立的 PLC 接口 IP 以及冗余 PLC 的系统 IP 地址,在这里插入图片描述注意:设置虚拟 MAC 地址时, 需确保以太网广播域中存储的所有 MAC 地址唯一。 特别是在包含由 VRRP 组成的第三方设备以及由多个 STEP 7 项目所组态的冗余系统组成的系统中。
4.冗余 PLCMRP 设置:冗余 PLC 的MRP 默认设置为:管理员(自动),不需要修改。在这里插入图片描述
5.打开冗余PLC_1 的ProgramBlocks 文件夹, 双击 Main块, 进行 TCP编程。 对于冗余系统程序只在 PLC_1 中进行编程,当同步时会将程序自动同步到PLC_2 中。在这里插入图片描述
6.打开右侧指令中通讯的栏,在 Others->Modbus TCP文件夹中拖出程序块MB_SERVER,到 Main 程序。
7.建立 Connect参数 DB
8.建立寄存器区域的 DB,分别给服务器和客户端建立 100个字的空间
9.填写服务器块的其它引脚

设定 ModScan32 步骤

描述图示
1.在 ModScan32 中在 Connection 菜单中,
选择Connect 设置连接的参数
在这里插入图片描述
2.在 Connect 中选择 RemoteTCP/IP Server,IP
Address 填写冗余 PLC 的系统IP:1 92.168.0.10,
Service 中填写冗余 PLC 开放的端口号: 502,设置完成后点击 OK 按钮, 此时ModScan32 会去主动连接冗余PLC。
3.此时可以看到连接计数已经开始计数了,可以判断Modbus TCP 的链接已经建立。在这里插入图片描述

同时可以在 TIA Portal 中的网络视图(图 1 ) 中也可看到链接已经建立完成, ID 为 1 的 OUC连接的状态已经变成绿色了。
在这里插入图片描述
下面可以通过 ModScan32 向寄存器中写入数据进行测试,从图 2 中可以看到向 40001 中写入数据 55, 然后在 PLC 侧的 DB 块中可以看到第一个数据变成了 55。或者将 PLC 侧Sever_Data[9]的数值修改成 1 05,同时可以看到 ModScan32 这侧的 40010 的数值变成了 1 05。
在这里插入图片描述

1.3.2 CPU 做客户端

本节以 CPU 1517H 作为客户端与 Modbus TCP Client Tester 软件进行 Modbus TCP 通讯。
组态步骤如下:

描述图示
1.打开右侧指令中通讯的栏,在
Others->Modbus TCP文件夹中拖出程序块MB_CLIENT,到 Main 程序。
在这里插入图片描述
2.建立 Connect参数 DB在这里插入图片描述同样对于 InterfaceID 的硬件标志符填写名称为 HsystemIPRef_1 系统 IP 的硬件标识符。
ID 填写在 OUC 组态中没有使用过的 ID 号, ConnectionType 使用默认值就是 TCP 连接, 由于通讯作为客户端, 所以 ActiveEstabed 为 True, 同时将服务器的 IP 地址和端口号填入 RemoteAddress 和 RemotePort 的参数。

未编辑完,待续….

  • 11
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
博图(BaoTu)是指西门子(Siemens)公司的一系列自动化控制设备,而S7-1500西门子公司最新的一款PLC(可编程逻辑控制器)产品,WinCC是西门子的一款监控软件。 要建立S7-1500与WinCC之间的连接,可以按照以下步骤进行操作: 1. 确保S7-1500 PLC和WinCC软件已经安装并正常运行。 2. 打开WinCC软件,创建一个新的工程。 3. 在WinCC中,进入“设备配置”界面,点击“新建”按钮。 4. 在设备配置向导中,选择与S7-1500 PLC通讯的硬件类型为“Profinet IO”或“S7-1xxx (Step7 via TCP/IP)”等,根据实际情况选择适当的通讯方式。 5. 输入PLC的IP地址和端口号,确保与S7-1500的端口设置一致。 6. 点击“通讯设置”按钮,选择合适的通讯模式。通常情况下,可以选择“主动模式”。 7. 在S7-1500 PLC中,使用TIA Portal(西门子编程软件)开启并配置Profinet或TCP/IP通讯模块。 8. 配置WinCC工程中的数据点,将需要监控和控制的变量与S7-1500 PLC中的变量进行关联。 9. 在WinCC中创建人机界面,并将需要显示和操作的变量与相应的界面元素进行关联。 10. 运行WinCC工程,即可实现S7-1500 PLC与WinCC软件之间的连接。WinCC将能够实时读取和修改S7-1500 PLC中的变量,并将其显示在人机界面上。 需要注意的是,在建立连接之前,确保S7-1500 PLC和WinCC软件之间的网络连接是正常的,PLC的IP地址和端口设置是正确的,并且在TIA Portal中正确配置了通讯模块。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值