(2)S7 您所在的位置:网站首页 不同网段plc通讯 (2)S7

(2)S7

2024-07-06 12:55| 来源: 网络整理| 查看: 265

SIEMENS 两个CPU使用TCP/IP通信(S7协议) 1. 同网段两个CPU单边TCP/IP通讯(S7协议)1.1 组态1.2 编程 2. 同网段两个CPU双边TCP/IP通讯(S7协议)2.1 组态2.2 编程 3. 不同网段两个CPU单/双边 TCP/IP通讯3.1 使用支持路由功能的交换机3.2 PN/PN Coupler(PN-PN耦合器)

1. 同网段两个CPU单边TCP/IP通讯(S7协议)

西门子S7系列PLC采用以下两种通讯方式:开放式的TCP\IP,可以用于连接PLC与其他非西门子硬件;西门子自己开发的S7 Protocol以太网通讯协议,用于西门子内部硬件通讯。当CPU1与CPU2在同一个网段下时,比如CPU1是192.168.0.12,CPU2是192.168.0.56。他们分别在两个系统当中,如果CPU1单方面要向CPU2读取(或发送)就可以使用S7通讯。 参考:链接: S7单边通讯

1.1 组态

右键CPU1——添加新的连接 在这里插入图片描述 选中PROFINET接口和S7连接——添加。这样连接就建立好了在这里插入图片描述

1.2 编程

在CPU1对应的系统的额程序OB1下添加PUT与GET程序块: 在这里插入图片描述 然后点击该块的组态: 在这里插入图片描述 其中本地是CPU1的IP地址/伙伴是CPU2的地址。连接ID是系统自动分配的,需要在PUT/GET块中输入。ADDR_1是CPU1程序的地址,RD_1是CPU2程序的地址,GET是将CPU2对应的DB9.DBX50.0开始之后的25个byte数据读取到CPU1对应的DB43.DBX.48.0开始之后的25个byte中去。使用指针进行读取。PUT实现的则是将ADDR_1对应的数据发送到SD_1中去。这是实现的只是CPU1主动向CPU2读取或发送数据。 选中主动连接。在这里插入图片描述 如果使用的是STEP 7软件的话需要在CPU对应的组态下面建立一个S7通讯,然后配置方法与上述相同,只需要输入本地IP和伙伴IP。

2. 同网段两个CPU双边TCP/IP通讯(S7协议)

当CPU1与CPU2需要互相读取/发送数据时,就需要使用双边通讯, 参考:链接: S7双边通讯

2.1 组态

双边通讯时,两个CPU都需要组态,但是需要区分主动连接和被动连接。

CPU1是主动连接的话需要取消勾选SIMATIC ACC,连接资源选到10: 在这里插入图片描述 选中主动建立连接: 在这里插入图片描述 CPU2是被动建立连接,与上述配置方法一致,但是需要取消勾选“主动建立连接”。

2.2 编程

双边通讯使用的指令是BSEND和BRCV。 CPU1: 在这里插入图片描述 BSEND是CPU1向CPU2发送数据,REQ是使能;ID是配置时CPU1的连接ID;R_ID是手动分配的,需要与CPU2的BRCV保持一致;SD_1是CPU1要发送数据的起始地址;LEN是发送数据的长度;R表示上升沿结束时,停止发送数据。 BRCV是CPU1接受CPU2来的数据,ID依然是CPU1的连接ID;R_ID要与CPU2的BSEND保持一致;RD_1是接受数据存放的起始地址;LEN是数据长度。

同理设置CPU2的程序: 在这里插入图片描述

3. 不同网段两个CPU单/双边 TCP/IP通讯

不同网段的两个项目的PLC CPU想要通讯就必须跨网段连接。

3.1 使用支持路由功能的交换机 3.2 PN/PN Coupler(PN-PN耦合器)

PN/PN 耦合器具有两个 PROFINET 接口,每个接口连接到一个子网。在组态期间,从这一个PN/PN耦合器将生成两个IO设备,表示每个自带子网的站都有一个IO设备。 在每个子网内,PN/PN 耦合器的另一个部分作为总线节点。一旦组态完成,两个部分合并在一起。(以下展示的只是其中一个子网的组态和编程)。 链接: S7-1500 通过PN/PN Coupler 通信概述 链接: PN/PN Coupler 链接: TIA S7_1500P配置PN/PN Coupler

CPU1组态: 在这里插入图片描述 在这里插入图片描述

组态的时候设置IP地址,设置设备编号,IP地址。PN-PN-Coupler使用的是Profinet网络。一共两个接口,一个接CPU1,一个接CPU2。然后编写程序将CPU2的数值通过PN-PN-Coupler传送给CPU1: 在这里插入图片描述 可以传8个字节也可以传16个字节 在这里插入图片描述 在这里插入图片描述依次类推: 在这里插入图片描述 从组态的界面可以看到,输入地址是从69-190,输出是从30-157,这是在系统组态前就分配好的。以上程序是将PIB69-PIB190传送到DB30中去,每次占一个字节。此时CPU1中的DB30就能读到CPU1的数据。

然后将CPU1的数据发送给CPU2: 在这里插入图片描述 依次类推: 在这里插入图片描述 此时CPU1的DB31的数据便发送给了CPU2。

CPU2的组态: CPU1组态完成后是可以导出一个GSD文件,将GSD文件下装CPU2上,然后再CPU2上组态该模块。同时建立两个新的DB块用来接受和发送数据。CPU1的输出是CPU2的输入,CPU1的输入是CPU2的输出。编写方法与上诉类似。

PN/PN Coupler也可以用于同网段通讯,交换机只可以用于同网段。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有