收藏 分享(赏)

Siemensputget通讯.doc

上传人:精品资料 文档编号:9632812 上传时间:2019-08-19 格式:DOC 页数:13 大小:1.02MB
下载 相关 举报
Siemensputget通讯.doc_第1页
第1页 / 共13页
Siemensputget通讯.doc_第2页
第2页 / 共13页
Siemensputget通讯.doc_第3页
第3页 / 共13页
Siemensputget通讯.doc_第4页
第4页 / 共13页
Siemensputget通讯.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、S7-300 和 S7-400 集成 PN 口的 S7 通信 文献 涉及产品1. S7 通信简介S7 通信是 S7 系列 PLC 基于 MPI、PROFIBUS、ETHERNET 网络的一种优化的通信协议,主要用于 S7300/400PLC之间的通信。SIMATIC S7- PN CPU 包含一个集成的 PROFINET 接口,该接口除了具有 PROFINET I/O 功能,还可以进行基于以太网的 S7 通信。SIMATIC S7- PN CPU 支持无确认数据交换、确认数据交换和单边访问功能。功能块的调用如图 1、图 2 所示。块S7-400块S7-300描述 简要描述SFB 8 FB 8

2、用于发送SFB 9 FB 9 用于接收无确认的快速数据交换,发送数据后无对方接收确认。SFB 12 FB 12 用于发送SFB 13 FB 13 用于接收确认数据交换,发送数据后有对方接收确认。SFB 14 FB 14 读数据 单边编程读访问。SFB 15 FB 15 写数据 单边编程写访问。表 1图 1图 2要通过 S7-PN CPU 的 集成 PROFINET 接口实现 S7 通信,需要在硬件组态中建立连接。2. 硬件及网络组态CPU 采用两个 315-2PN/DP,使用以太网进行通信。在 STEP7 中创建一个新项目,项目名称为 PN S7。插入两个 S7-300 站,在硬件组态中,分别

3、插入 CPU 315-2 PN/DP。如图 3 所示。图 3新建以太网,打开“NetPro”设置网络参数,选中 CPU,在连接列表中建立新的连接。如图 4 所示。图 4然后双击该连接,设置连接属性。在“General”属性中块参数 ID = 1,这个参数即是下面程序中的参数 “ID”。在SIMATIC 315PN-1 中激活“Establish an active connection”,作为 Client 端, SIMATIC 315PN-2 作为 Server 端。3. 软件编程3.1. 无确认数据交换SFB/FB 8 “USEND“ 向类型为“URCV”的远程伙伴 SFB/FB 发送数据

4、。执行发送过程而不需要和 SFB/FB 伙伴进行协调。也就是说,在进行数据传送时不需要伙伴 SFB/FB 进行确认。S7-300:在 REQ 的上升沿处发送数据。在 REQ 的每个上升沿处传送参数 R_ID、ID 和 SD_1。在每个作业结束之后,可以给 R_ID、ID 和 SD_1 参数分配新数值。S7-400:在控制输入 REQ 的上升沿处发送数据。通过参数 SD_1 到 SD_4 来指向要发送的数据,但并非都需要用到所有四个发送参数。然而,必须确保参数 SD_1 到 SD_4/SD_1 和 RD_1 到 RD_4/RD_1 (在相应通讯伙伴 SFB/FB “URCV“ 上)所定义的区域在

5、以下几个方面保持一致: 编号 长度 数据类型参数 R_ID 必须在两个 SFB 中完全相同。如果传送成功完成,则通过状态参数 DONE 来表示,此时其逻辑数值为 1。SFB/FB 9 “URCV“ 从类型为“USEND” 的远程伙伴 SFB/FB 中异步接收数据,并把接收到的数据复制到组态的接收区域内。当程序块准备好接收数据时,EN_R 输入处的逻辑值为 1。可以通过 EN_R=0 来取消一个已激活的作业。S7-300:在 EN_R 的每个上升沿处应用参数 R_ID、ID 和 RD_1。在每个作业结束之后,可以给 R_ID、ID 和 RD_1 参数分配新数值。S7-400:通过参数 RD_1

6、到 RD_4 来指向接收数据区。必须确保参数 RD_i/RD_1 和 SD_i/SD_1 (在相应通讯伙伴 SFB/FB “USEND“上)所定义的区域在以下几个方面保持一致: 编号 长度 数据类型。通过 NDR 状态参数逻辑数值为 1 来指示已经成功完成复制处理过程。参数 R_ID 必须在两个 SFB/FB 上完全相同。打开 SIMATIC 315PN-1 的 OB1,在 OB1 中依次调用 FB8,FB9 如图 5、图 6 所示:图 5程序中的参数说明见表 2参数 描述 数据类型 存储区 描述REQ INPUT BOOL I、Q、M、D、L 上升沿触发工作ID INPUT WORD M、D

7、 、常数 连接 IDR_ID INPUT DWORD I、Q 、M、D、L、常数 连接号,相同连接号的功能块互相对应发送/接收数据DONE OUTPUT BOOL I、Q、M、D、L 为 1 时,发送完成ERROR OUTPUT BOOL I、Q、M、D、L 为 1 时,有故障发生STATUS OUTPUT WORD I、Q、M、D、L 状态代码S7-300:SD_1S7-400:SD_i(1 i 4)IN_OUT ANY M、D、T、Z I、Q、M、D、T、C发送数据区表 2 FB8 参数说明图 6程序中的参数说明见表 3参数 参数 数据类型 存储区 描述EN_R INPUT BOOL I、

8、Q、M、D、L、常数 为 1 时,准备接收ID INPUT WORD M、D 、常数 连接 IDR_ID INPUT DWORD I、Q、M、D、L、常数 连接号,相同连接号的功能块互相对应发送/接收数据NDR OUTPUT BOOL I、Q、M、D、L 为 1 时,接收完成ERROR OUTPUT BOOL I、Q、M、D、L 为 1 时,有故障发生STATUS OUTPUT WORD I、Q、M、D、L 状态代码S7-300:RD_1S7-400:RD_i(1 i 4)IN_OUT ANY M、D、T、Z I 、Q、M、D、T、Z 接收数据区表 3 FB9 参数说明同样,在 SIMATIC

9、 315PN-2 的 OB1 中,调用 FB8/FB9。通信双方的“R_ID”均设为 0。将 SIMATIC 315PN-1 的MB100-MB109 赋值 B#16#02,在 SIMATIC 315PN-2 中,将 FB9 的“EN_R”置 1,然后在 SIMATIC 315PN-1 中,将FB8 中“REQ”设置上升沿信号,此时 SIMATIC 315PN-2 的 MB110-MB119 接收到 B#16#02。如图 7 所示。图 7同理,将 SIMATIC 315PN-2 的 MB100-MB109 赋值为 B#16#03,SIMATIC 315PN-1 的 MB110-MB119 接收

10、到B#16#03。如图 8 所示。图 83.2. 确认数据交换SFB/FB 12 “BSEND“ 向类型为“BRCV” 的远程伙伴 SFB/FB 发送数据。通过这种类型的数据传送,更多的数据可以在通讯伙伴之间传输,超过任何其它用于组态的S7 连接的通讯 SFB/FB 所能传输的数据量,通过集成 PN 口的 S7-400 和 S7-300 是 65534 字节。要发送的数据区是分段的。各个分段单独发送给通讯伙伴。通讯伙伴在接收到最后一个分段时对此分段进行确认,该过程与相应 SFB/FB “BRCV“ 的调用无关。在调用块之后,当在控制输入 REQ 上有上升沿时,发送作业被激活。发送用户存储区中的

11、数据与处理用户程序是异步执行的。由 SD_1 指定起始地址和要发送数据的最大长度。可以通过 LEN 来确定数据域的作业指定长度。在这种情况下,LEN替换 SD_1 的长度区域。参数 R_ID 必须在相应的两个 SFB/FB 上完全相同。如果在控制输入 R 处有上升沿,则当前数据传送将被取消。如果传送成功完成,则通过将状态参数 DONE 的数值设置为 1 来进行指示。如果状态参数 DONE或 ERROR 的数值为 1,则在前一个发送处理结束之前,不能处理新的发送作业。SFB/FB 13 “BRCV“ 接收来自类型为“BSEND” 的远程伙伴 SFB/FB 的数据。在收到每个数据段后,向伙伴 SF

12、B/FB 发送一个确认帧,同时更新 LEN 参数。在块调用完毕,并且在控制输入 EN_R 数值为 1 之后,块准备接收数据。可以通过 EN_R=0 来取消一个已激活的作业。由 RD_1 指定起始地址和接收区的最大长度。由 LEN 指示已接收数据域的长度。从用户存储区中接收数据与处理用户程序是异步执行的。参数 R_ID 必须在相应的两个 SFB/FB 上完全相同。通过状态参数 NDR 的数值为 1 来指示所有数据段的无错接收。接收到的数据保持不变,直到通过 EN_R=1 来重新调用 SFB/FB 13 为止。如果在数据的异步接收期间调用块,则将引发一个警告,该警告通过 STATUS 参数输出;如

13、果当控制输入EN_R 数值为 0 时进行调用,则接收将被终止,并且 SFB/FB 将返回到它的初始状态。打开 SIMATIC 315PN-1 的 OB1,在 OB1 中依次调用 FB12,FB13 如图 9、图 10 所示:图 9程序中的参数说明见表 4参数 描述 数据类型存储区 描述REQ INPUT BOOL I、Q、M、D、L 上升沿触发工作R INPUT BOOL I、Q、M、 D、L、常数 复位,终止数据交换ID INPUT WORD M、D、常数 连接 IDR_ID INPUT DWORD I、Q、M、 D、L、常数 连接号,相同连接号的功能块互相对应发送/ 接收数据DONE OU

14、TPUT BOOL I、Q、M、D、L 为 1 时,发送完成ERROR OUTPUT BOOL I、Q、M、D、L 为 1 时,有故障发生STATUS OUTPUT WORD I、Q、M、D、L 状态代码SD_1 IN_OUT ANY S7-300:M、DS7-400:I、Q、M、D、T、Z发送数据区LEN IN_OUT WORD I、Q、M、D、L 发送数据的长度表 4 FB12 参数说明图 10程序中的参数说明见表 5参数 描述 数据类型存储区 描述EN_R INPUT BOOL I、Q、M、D、L 、常数 为 1 时,准备接收ID INPUT WORD M、D、常数 连接 IDR_ID

15、INPUT DWORD I、Q、M、D、L 、常数 连接号,相同连接号的功能块互相对应发送/接收数据NDR OUTPUT BOOL I、Q、M、D、L 为 1 时,接收完成ERROR OUTPUT BOOL I、Q、M、D、L 为 1 时,有故障发生STATUS OUTPUT WORD I、Q、M、D、L 状态代码RD_1 IN_OUT ANY S7-300:M、DS7-400 :I、 Q、M、D、T、C接收数据区LEN IN_OUT WORD I、Q、M、D、L 接收到的数据长度表 5 FB13 参数说明同样,在 SIMATIC 315PN-2 的 OB1 中,调用 FB12/FB13。通信

16、双方的 R_ID 设为 0,LEN 设为 10,将 SIMATIC 315PN-1 的 MB120-MB129 赋值 B#16#04,在 SIMATIC 315PN-2 中,将 FB13 的“EN_R”置 1,然后在 SIMATIC 315PN-1 中,将 FB12 中“REQ”设置上升沿信号,此时 SIMATIC 315PN-2 的 MB130-MB139 接收到 B#16#04。如图11 所示。图 11同理,将 SIMATIC 315PN-2 的 MB120-MB129 赋值为 B#16#05,SIMATIC 315PN-1 的 MB130-MB139 接收到B#16#05。如图 12 所

17、示。图 123.3. 单边访问可以通过 SFB/FB 14 “GET“,从远程 CPU 中读取数据。S7-300:在 REQ 的上升沿处读取数据。在 REQ 的每个上升沿处传送参数 ID、ADDR_1 和 RD_1。在每个作业结束之后,可以分配新数值给 ID、ADDR_1 和 RD_1 参数。S7-400:在控制输入 REQ 的上升沿处启动 SFB。在此过程中,将要读取的区域的相关指针 (ADDR_i)发送到伙伴CPU。远程伙伴返回此数据。在下一个 SFB/FB 调用处,已接收的数据被复制到组态的接收区 (RD_i)中。必须要确保通过参数 ADDR_i 和 RD_i 定义的区域在长度和数据类型

18、方面要相互匹配。通过状态参数 NDR 数值为 1 来指示此作业已完成。只有在前一个作业已经完成之后,才能重新激活读作业。远程CPU 可以处于 RUN 或 STOP 工作状态。如果正在读取数据时发生访问故障,或如果数据类型检查过程中出错,则出错和警告信息将通过 ERROR 和 STATUS 输出表示。通过使用 SFB/FB 15 “PUT“,可以将数据写入到远程 CPU。S7-300:在 REQ 的上升沿处发送数据。在 REQ 的每个上升沿处传送参数 ID、ADDR_1 和 SD_1。在每个作业结束之后,可以给 ID、ADDR_1 和 SD_1 参数分配新数值。S7-400:在控制输入 REQ

19、的上升沿处启动 SFB。在此过程中,将指向要写入数据的区域 (ADDR_i)的指针和数据(SD_i)发送到伙伴 CPU。 远程伙伴将所需要的数据保存在随数据一起提供的地址下面,并返回一个执行确认。必须要确保通过参数 ADDR_i 和 SD_i 定义的区域在编号、长度和数据类型方面相互匹配。如果没有产生任何错误,则在下一个 SFB/FB 调用时,通过状态参数 DONE 来指示,其数值为 1。只有在最后一个作业完成之后,才能再次激活写作业。远程 CPU 可以处于 RUN 或 STOP 模式。如果正在写入数据时发生访问故障,或如果执行检查过程中出错,则出错和警告信息将通过 ERROR 和 STATU

20、S 输出表示。打开 SIMATIC 315PN-1 的 OB1,在 OB1 中依次调用 FB14,FB15 如图 13、图 14 所示:图 13参数 描述 数据类型 存储区 描述REQ INPUT BOOL I、Q、M、D、L 上升沿触发调用功能块ID INPUT WORD M、D、常数 地址参数 IDERROR OUTPUT BOOL I、Q、M、D、L 接收到新数据STATUS OUTPUT WORD I、Q、M、D、L 故障代码S7-300:ADDR_1S7-400:ADDR_i(1 i 4)IN_OUT ANY M、D I、Q、M、D、T、C从通信对方的数据地址中读取数据S7-300:

21、RD_1S7-400:RD_i(1 i 4)IN_OUT ANY S7-300:M、DS7-400 I、Q、M、D、T、C本站接收数据地址表 6 FB14 参数说明图 14参数 描述 数据类型 存储区 描述REQ INPUT BOOL I、Q、M、D、L 上升沿触发调用功能块ID INPUT WORD M、D、常数 地址参数DONE OUTPUT BOOL I、Q、M、D、L 为 1 时,发送完成ERROR OUTPUT BOOL I、Q、M、D、L 为 1 时,有故障发生STATUS OUTPUT WORD I、Q、M、D、L 故障代码S7-300:ADDR_1S7-400:ADDR_i(1

22、 i 4)IN_OUT ANY M、DI、Q、M、D、T、C通信对方的数据接收地址S7-300:SD_1S7-400:SD_i(1 i 4)IN_OUT ANY S7-300:M、DS7-400 I、Q、M、D、T、C本站发送数据地址表 7 FB15 参数说明同样,在 SIMATIC 315PN-2 的 OB1 中,调用 FB14/FB15。将 SIMATIC 315PN-2 的 MB140-MB149 赋值 B#16#06,在 SIMATIC 315PN-1 中,将 FB14 的“REQ” 置上升沿信号,此时 SIMATIC 315PN-1 的 MB150-MB159 接收到B#16#06。

23、如图 15 所示。图 15将 SIMATIC 315PN-1 的 MB140-MB149 赋值 B#16#08,在 SIMATIC 315PN-2 中,将 FB14 的“REQ”置上升沿信号,此时 SIMATIC 315PN-2 的 MB150-MB159 接收到 B#16#08。如图 16 所示。图 16将 SIMATIC 315PN-1 的 MB170-MB179 赋值 B#16#07,将 FB15 的“REQ”置上升沿信号,此时 SIMATIC 315PN-2的 MB160-MB169 接收到 B#16#07。如图 17 所示。图 17将 SIMATIC 315PN-2 的 MB170-MB179 赋值 B#16#11,将 FB15 的“REQ”置上升沿信号,此时 SIMATIC 315PN-1的 MB160-MB169 接收到 B#16#11。如图 18 所示。图 18

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报