使用S7-1500冗余PLC 建立ModbusTCP通信

  • 1.1 网络结构
  • 1.2 系统 IP 介绍
  • 1.3 Modbus TCP 通讯编程
    • 1.3.1 CPU 做服务器
    • 1.3.2 CPU 做客户端

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.10 X1 接口:①: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 的参数。

未编辑完,待续….

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

  1. 西门子博图HMI与倍福进行PLC使用OPC DA服务器进行通讯配置

    1.安装OPC DA 服务器 2.配置OPC DA服务器 选择相应的PLC的.tpy文件 3.运用后点击保存,退出 4.博图配置 1.双击连接到连接画面 2.配置如图

  2. 博图使用仿真,人机界面与PLC建立连接,出现连接中断问题,连接不上的问题(问题记录)

    这个问题困扰了很久,其实很简单,就是建立连接的方式不对和仿真的顺序的问题. 首先在建立连接前先确定好自己的ip,通过cmd界面使用命令ipconfig即可获得. 这里我的IPV4地址网段是192.16 ...

  3. 西门子——博图V16与PLCSIM Advanced仿真通讯配置(1500系列)

    西门子--博图V16与PLCSIM Advanced仿真通讯配置(1500系列) 前言 一.查看自己电脑的CPU 二.PLCSIM Advanced软件安装及环境配置 1.软件安装下载 2.环境配置 ...

  4. 前沿篇:西门子博图指令(指令含义)(工控PLC工程师入门必读,5天可上手调试)

    注:(用户如有兴趣,可定制该专栏,享受所有该专栏下所有文章资源一次让你学个够) 博图编程指令介绍 在西门子PLC实际编程使用情况中,梯形图语言是PLC程序设计中最常用的编程语言.它是与继电器线路类似的 ...

  5. win10/11下西门子博图TIA软件卡顿解决探讨

    **win10/11下西门子博图TIA软件卡顿解决探讨** 使用背景 尝试方法 继续研究 总结解决方案 使用背景 最近更新了win10/11系统,并且使用微软12代CPU,16G运行内存.照理说性能应 ...

  6. 博图只能通过地址相同设备找到plc_【新手】西门子博图基本操作

    原标题:[新手]西门子博图基本操作 1,S7 300存储卡的选型,1200无所谓存储卡,300还是需要的,在使用Step7的时候选择Blocks右键,可以找到存储空间的需求,博图在这一块做的更好: 并 ...

  7. 西门子博图PLC程序无法下载到PLCSIM

    西门子博图PLC程序无法下载到PLCSIM PLC SIM Advice 1.Project property 中选择support simulation 2. FB 从 library 中复制的FB ...

  8. 博图db块变量导出_如何查看西门子博图软件DB数据块中的变量地址

    西门子博图软件在DB数据块的属性中默认数据块为"优化访问的数据块",数据块中可以看到变量名称符号,而看不到分配在块中的固定地址,如下图所示: 如何查看西门子博图软件DB数据块中的变 ...

  9. 立体车库仿真运行,立体车库模拟运行,立体车库仿真模拟运行,基于西门子博图S7-1200plc与触摸屏HMI的3??3智能立体车库仿真控制系统设计

    立体车库仿真运行,立体车库模拟运行,立体车库仿真模拟运行,基于西门子博图S7-1200plc与触摸屏HMI的3??3智能立体车库仿真控制系统设计,此设计为现成设计,模拟PLC与触摸屏HMI联机,博图版 ...

  10. Siemens Portal西门子博图软件安装后计算机驱动器中多了Simatic shell

    安装西门子博图软件后,设备和驱动器中会多了一个Simatic Shell文件夹,还在C盘驱动器的前面,看起来碍眼又无用,强迫症必须要解决它. Win+R打开运行 在注册表中,选中HKEY_LOCAL_ ...

最新文章

  1. g-gdb调试core文件
  2. .net3.5的安装与修复
  3. 线性规划的原始对偶算法
  4. NSURLConnection实现文件上传和AFNetworking实现文件上传
  5. python使用符号 表示单行注释-Pyhton 单行、多行注释符号使用方法及规范
  6. jQuery hash
  7. [ NOI 2002 ] Robot
  8. kafka的groupid
  9. linux筛选之后备份到命令,linux find 命令使用备份
  10. 如何判断京东达人文章是否下线
  11. ASP.NET Core学习——6
  12. php和apache2的配置
  13. 目标检测综述——单阶段检测器
  14. ppp协议、chap认证、HDLC封装、MGRE、GRE综合实验
  15. js事件流 事件捕获 及时间冒泡详解
  16. layui中input、select、date日历的onchange事件无效 解决方法总结
  17. 广东省零售连锁协会执行会长:技术更新太快,消费者才是零售企业最大的对手...
  18. 深入理解计算机系统——地址翻译
  19. 管理科学与运筹学(MS/OR)国际权威期刊
  20. 不同局域网内进行网络连接的建立方法

热门文章

  1. [0 to 0.5]从零开始学习Android动画知识(上)
  2. 中信建投软件测试,中信建投笔试经验-范例
  3. SpringBoot+Vue的房屋租赁系统(含前后台)
  4. ibus五笔快捷键 繁简 单字 词组切换
  5. 国内外大数据经典案例研究
  6. ajaxSubmit
  7. 虚拟光驱 DAEMON Tools Lite 安装笔记
  8. colab挂载谷歌云盘出错
  9. c语言快速数独生成器
  10. 计算机双面打印设置,双面打印怎么设置?双面打印设置方法步骤