S7-1500 和S7-400 S7双边通信(借助 BSEND/BRCV )

360影视 动漫周边 2025-03-23 19:54 2

摘要:这一章节讲的是 S7 - 1500 和 S7 - 400 借助 BSEND/BRCV 这种方式来搞双边通信的组态编程步骤,是用在 S7 - 1500 与 S7 - 400 不在同一个项目里,并且 S7 - 400 用的是经典 STEP7 的那种情况。

这一章节讲的是 S7 - 1500 和 S7 - 400 借助 BSEND/BRCV 这种方式来搞双边通信的组态编程步骤,是用在 S7 - 1500 与 S7 - 400 不在同一个项目里,并且 S7 - 400 用的是经典 STEP7 的那种情况。

S7 通信有单边通信和双边通信这两种。双边通信能够使用 BSEND/BRCV 或者 USEND/URCV 指令,其中 BSEND/BRCV 能传送的数据更多。S7 - 1500 呢,既支持单边通信,也支持双边通信。

这篇文章要给您介绍的是 S7 - 1500 与 S7 - 400 依靠 BSEND/BRCV 方式开展双边通信的组态编程步骤,用在 S7 - 1500 与 S7 - 400 不在同一个项目里,而且 S7 - 400 用的是经典 STEP7 的那种情况。

实验使用的主要硬件和软件如表1所示:

表1 实验环境

S7 - 1500 站点是在 TIA Portal 里进行组态的,而 S7 - 400 站点则是在经典 STEP7 里组态的。

用 TIA Portal 新建一个项目,给 S7 - 1500 站点进行组态,然后设置 IP 地址,就像图 1 展示的那样。

图 1 生成S7-1500站点

在“设备组态”里,选中“网络视图”这一栏来进行网络配置。点击左上角的“连接”图标,在连接框里选择“ S7 连接”。接着选中 S7 - 1500 CPU ,右键点击选择“添加新的连接”。在创建新连接的对话框里,把连接对象选成“未指定”,本地接口选“ PLC_1,PROFINET 接口_1[X1] ”,再点击“添加”按钮。这时候在“信息”栏就能看到 S7 连接已经添加的相关信息,点击“关闭”按钮,新连接就建立完成啦,就像图 2 显示的那样。

图 2 S7-1500侧创建S7连接

在“网络视图”中间栏的“连接”条目当中,能够看到已经建立好的“ S7_连接_1 ”,就像图 3 展示的那样。

图 3 S7-1500侧S7 连接

点击上面的连接,在“ S7_连接_1 ”的连接属性里查看和设置各种参数。在常规这一项里,伙伴的站点和接口选择“未指定”,伙伴的 IP 地址设置成 S7 - 400 的 IP 地址( 192.168.0.41 ),就像图 4 显示的那样。

图 4 S7-1500侧的常规参数

在本地 ID 里:要设置通讯连接的 ID 号,本地 ID 在本地 PLC 中一定得是独一无二的,在后面的通信编程里得指向这个 ID ,这里 ID = W#16#100 ,就像图 5 展示的那样。

图 5 S7-1500侧的本地ID

在地址详细信息当中:要设置通讯双方的 TSAP 号,伙伴的机架/插槽设置成 S7 - 400 CPU 所在的机架号和插槽号,在这儿是 0 和 2 。伙伴的连接资源设置为 S7 - 400 站点的本地连接资源,在这儿是 10 ,就像图 6 显示的那样。

图 6 S7-1500侧的地址详细信息

在特殊连接属性里:能够选择是不是主动建立连接。通信的双方只能有一方主动建立连接,另一方就得被动建立连接,在这儿 S7 - 1500 是主动建立连接,就像图 7 展示的那样。

图 7 S7-1500侧的特殊连接属性

1.3 使用经典STEP7 组态S7-400站点

使用经典的 STEP7 去创建一个新的项目,对 S7 - 400 站点进行组态,并且设置 IP 地址,就像图 8 展示的那样。

图 8 S7-400侧生成站点

在硬件组态界面的上方点击“组态网络”的图标,就能进入网络组态的窗口界面。选中 S7 - 400 CPU ,用鼠标右键点击下方的表格,选择“插入新连接”。在弹出来的对话框中,连接伙伴选择“未指定”,类型选择“S7 连接”,然后点击“确定”。就像图 9 显示的那样。

图 9 S7-400侧创建S7连接

在弹出来的 S7 连接属性对话框里,把伙伴的 IP 地址设置成 S7 - 1500 的 IP 地址(192.168.0.151)。取消勾选“建立主动连接”。设置“Local ID”,在这儿设置成 1 。

接着点击“Address Detail”按钮,就会弹出地址详细信息对话框,然后设置通讯双方的 TSAP 号,伙伴的机架/插槽设置成 S7 - 1500 CPU 所在的机架号和插槽号,在这儿是 0 和 1 。伙伴的连接资源设置为 S7 - 1500 站点的本地连接资源,在这儿是 10 ,就像图 10 展示的那样。

图 10 S7-400侧S7连接参数

在 S7 - 1500 这边,分别创建用来发送和接收的数据块,把它们定义成 10 个字节的数组,就像图 11 显示的那样。

图 11 传输数据区

在 S7 - 1500 这边,在 OB1 当中,从“指令”>“通信”>“S7 通信”>“其它”下面,调用 BSEND、BRCV 通信指令,就像图 12 展示的那样。

BSEND指令的各个参数说明如表2所示:

表2 BSEND指令参数

BRCV指令的各个参数说明如表3所示:

表3 BRCV指令参数

在 S7-400 侧,首先创建用于发送和接收的数据块,定义成 10 个字节的数组,如图 13 所示。

图 13 S7-400侧生成数据块

然后在 OB1 里,从“Libraries”>“Standard Library”>“System Function Blocks”下面,调用 SFB12 BSEND、SFB13 BRCV 通信指令,就像图 14 显示的那样。

图 14 S7-400侧发送接收指令调用

指令的各个参数参考上述表2、表3中的说明。

两个 CPU 之间数据交换,监控结果如图 15 所示。

来源:PLC技术玩

相关推荐