gk-auto 发表于 2018-10-27 23:24:14

如何实现400H与S7-1500 之间的S7通讯

1、400H 与 S7-1500 通讯方案西门子 400H 高可用性冗余控制器,自推出以来,在市场中得到了广泛的应用。S7-400H可满足对现代自动化系统在可用性、智能化和分散化方面提出的高要求。该系统还提供了采集和准备过程数据所需的所有功能,其中包括对装配和设备进行的开环控制、闭环控制和监视的功能。通讯带有集成 PN 口以及 PROFIBUS DP 接口,灵活应用于多种通讯协议,并且可以通过通讯模块扩展多个接口,可用性高。
S7-1500 是西门子近年推出的新 PLC 产品系列,在各行各业都得到了极为广泛的应用。以CPU1516 为例,控制器本身集成了三个接口,一个带两个物理接口、支持 IRT 的 Profinet接口X1,一个以太网接口 X2,一个 Profibus DP 接口 X3。https://5b0988e595225.cdn.sohucs.com/images/20181027/a9466818ac324a6983521bdf8f8e63fe.jpg
在实际工程项目中,经常会遇到 400H 和 S7-1500 通讯的问题,基于两类控制器所支持的接口而言,有三种可能的通讯方式:Profibus DP、以太网。考虑到 S7-1500 和 400H 集成的DP 接口均只能用作 DP 主站,所以两者之间不能采用 Profibus DP 的主从通讯方式。
本文主要介绍通过以太网以及 PCS7 工业库实现 400H 和 S7-1500 之间的通讯。
要实现 H 系统集成 PN 口与 S7-1500 的通讯,可以采用基于 S7 连接的方式,配合“H_Status”功能块来确定激活哪一个 CPU 的连接完成数据交换。本文采用的网络结构如下所示:https://5b0988e595225.cdn.sohucs.com/images/20181027/68f55c129d394e1fbba447a440bd6a7d.jpg400H 与 1500 通讯网络结构图2、400H 与 S7-1500 通讯组态
2.1 S7-1500 通讯组态系统采用 TIAPortal V14 Update1 软件,控制器采用 1516-3PN/DP 控制器,组态控制器如下图所示。 https://5b0988e595225.cdn.sohucs.com/images/20181027/97afb312c9c144e3aefcdde102548ee2.jpg在设备视图中选择相应的 PS 电源: 6ES7 507-0BA00-0AB0 , 1516-3PN/DP CPU : 6ES7516-3AN00-0AB0 ,选择对应用于通讯的网口配置以太网地址(本文配置的地址为192.168.1.16),本文中 1516-3PN/DP 有三个用于以太网通讯的网口,选择和 400H 冗余通讯的网口,本文选择以太网口 2,具体配置如下图。https://5b0988e595225.cdn.sohucs.com/images/20181027/3c3b51f54c6044f1b17f073a9b895efd.jpg
注意需要设置 CPU 的连接机制属性:允许来自远程对象的 PUT/GET 访问https://5b0988e595225.cdn.sohucs.com/images/20181027/c8a78e5f82ff40d1ba1f5e97a95bf4e7.jpg
定义用于通讯的数据块,本文定义用于接收的数据块为 DB30,用于发送的数据块为 DB40,数据类型为 int 型,Array,如下图所示。https://5b0988e595225.cdn.sohucs.com/images/20181027/9f8d06ae882a43aa9a6b0a5a3d2ac7e7.jpg 定义用于接收和发送的数据块https://5b0988e595225.cdn.sohucs.com/images/20181027/0944740f53d5476aafa3714556eb993c.jpg定义用于接收和发送的数据类型
此处需要注意设置 DB 块的属性,取消“优化的块访问”,如下图所示:https://5b0988e595225.cdn.sohucs.com/images/20181027/c064038a3b19445ea66ebc90f38fbf37.jpg DB 块的属性设置
点击菜单栏中的下载按钮,把程序下载到对应的 CPU 中,如下图所示:https://5b0988e595225.cdn.sohucs.com/images/20181027/c209d684ccab4584a04b7b7ebc67f3c5.jpg 程序下载
S7-1500 方面的组态完成,接下来是对 400H 方面的组态。2.2 400H 通讯组态
系统采用 PCS7 V9.0 软件,控制器采用 412-5H 控制器,组态控制器如下图所示,拖入UR2-H机架,选择 CPU412-5H:6ES7412-5HK06-0AB0 并配置以太网地址 192.168.1.133以及192.168.1.144(双击 PN-IO 设置 IP 地址)https://5b0988e595225.cdn.sohucs.com/images/20181027/e92d31b540514f99bbeb65cc52eff264.jpg400H 硬件组态
打开 NetPro 网络组态,配置 400H 与 S7-1500 的 S7 连接,具体如下图所示,输入 Local ID以及对应的 S7-1500 控制器的 IP 地址,选择“S7 未指定的连接”https://5b0988e595225.cdn.sohucs.com/images/20181027/016d09a0fccd4532bbb8d0d122757aa4.jpg建立未指定的 S7 连接
在属性中设置 Local ID=1,填写 1516-3PN/DP 设置的以太网 IP 地址,主从 CPU 均需配置“S7 未指定的连接”,本文从 CPU 的 Local ID=2。https://5b0988e595225.cdn.sohucs.com/images/20181027/364b89c6cb7a4be9a8aae9c6b4bcf3be.jpg设置连接参数
点击 Address Details,设置连接资源属性,此处 400H CPU 选择 connection resource=10,连接伙伴 connection resource=3,连接伙伴需要设置机架号和槽号,参考 1500 之前的硬件组态,rack=0,slot=1,400H 从 CPU 选择 connection resource=11,400H CPU 的机架号和槽号为默认设置即可。https://5b0988e595225.cdn.sohucs.com/images/20181027/8b6105da0495403589e1ce7643dc743c.jpg 设置 TSAP 号网络组态设置完成之后,对通讯的 DB 块以及 CFC 程序进行编写,本文设置的用于发送的数据块为 DB30,用于接收的数据块为 DB40,对应的数据类型和 1500 保持一致,程序编写调用“H_Status”对 CPU 的状态进行监视,调用 PCS7 V9.0 Industry Lib S7 V90 中用于通讯的S7Get(FB1198),S7Put(FB1199)功能块,具体见下图:https://5b0988e595225.cdn.sohucs.com/images/20181027/301deacff21a4f4ba161d68c80be573a.jpgDB 块的建立https://5b0988e595225.cdn.sohucs.com/images/20181027/ec0a624eb1d04f73b541de421fb2254e.jpg 读写程序的编写
“H_Status”用于读取 CPU 的 master 状态,如图所示“R0_MSTR”为 RACK0 机架的CPU 处于主 CPU 的状态,“R1_MSTR”为 RACK1 机架的 CPU 处于主 CPU 的运行状态,通过切换来调用 S7Put,S7Get 块来进行数据交换;S7Put 需要设置的管脚为:START:为 1 时开始执行读写操作;KOM_ID:对应“S7 未指定连接”的 Local ID; DBNO_SRC:400 侧用于发送的数据块地址,本文为 DB30;ADDR_SRC;400 侧用于发送的数据块的起始地址,本文从 0 地址开始;DBNO_DST:1500 侧用于接收的数据块地址,本文为 DB30;ADDR_DST;1500 侧用于发送的数据块的起始地址,本文从 0 地址开始;LENGTH:设置用于通讯的地址区域的长度,本文设置为 4;S7Get 需要设置的管脚为:START:为 1 时开始执行读写操作;KOM_ID:对应“S7 未指定连接”的 Local ID;DBNO_SRC:400 侧用于发送的数据块地址,本文为 DB40;ADDR_SRC;400 侧用于发送的数据块的起始地址,本文从 0 地址开始;DBNO_DST:1500 侧用于接收的数据块地址,本文为 DB40;ADDR_DST;1500 侧用于发送的数据块的起始地址,本文从 0 地址开始;LENGTH:设置用于通讯的地址区域的长度,本文设置为 12;
建立完成之后,把硬件组态,网络组态以及程序下载到 400H CPU 中。3、400H 与 S7-1500 通讯测试
首先查看网络组态中建立的 S7 未指定的连接是否建立,如下图所示,主从 CPU 的连接状态都是 set up 的状态,证明网络已经建立正常。 https://5b0988e595225.cdn.sohucs.com/images/20181027/3a8c54ffc61946e699697fc76b2d5c1c.jpg 400H 主从 CPU 网络连接状态
在线监视程序是否成功读写数据https://5b0988e595225.cdn.sohucs.com/images/20181027/a1c44bce0c8f4d139188f62da71799bf.jpg RACK0 机架 CPU 读写数据
RACK0 机架 CPU 与 RACK1 机架 CPU 进行主备切换时,通过“H_Status”进行切换,读取数据,如下图所示:
https://5b0988e595225.cdn.sohucs.com/images/20181027/9c8f8ff50363439ebe07a005edf3fd9f.jpg RACK1 机架 CPU 读写数据程序数据读取状态,下图所示:https://5b0988e595225.cdn.sohucs.com/images/20181027/095b9074266b40b5860cdf736abbae13.jpgDB 块数据读写

@Xizi_4RuJHeHx 发表于 2018-10-28 00:08:38

真是难得给力的帖子啊。

陈艾丽 发表于 2018-10-28 00:48:26

谢谢您的分享!

clg845958 发表于 2018-10-28 01:13:00

楼主您的技术水准,我最服你,其他都是浮云

赖宜谷 发表于 2018-10-28 02:14:40

看了楼主的帖子,不由得精神一振,豁然开朗,牛掰

差得多先森 发表于 2018-10-28 02:23:05

太生气了,无法HOLD啦 >_<......

@Xizi_TpK8xDNY 发表于 2018-10-28 02:23:40

太生气了,无法HOLD啦 >_<......

robot_C9C22 发表于 2018-10-28 02:27:26

楼主加油,我们都看好你哦。

tsay123 发表于 2018-10-28 02:28:13

无回帖,不论坛,这才是人道。

惠临编织 发表于 2018-10-28 03:06:42

楼主加油,我们都看好你哦。
页: [1] 2 3 4 5
查看完整版本: 如何实现400H与S7-1500 之间的S7通讯