使用 Open Communication Wizard 建立开放式UDP 通信

n

1. 概述

介绍

SIMATIC S7- PN CPU包含一个集成的 PROFINET 接口,该接口除了具有 PROFINET I/O功能外还具有 UDP 通信功能。通过该集成以太网接口组态 UDP 通信时,只能使用开放式通信专用的功能块。依据RFC768的UDP协议,在STEP7”通讯块”的“标准库”(图1所示)中提供了下列FB,用于通过用户程序与符合以太网标准的通讯伙伴进行数据交换:n

• ® UDT 65 "TCON_PAR",具有分配本地通讯接入点参数的数据结构
• ® UDT 66 "TCON_ADR",具有分配远程伙伴寻址参数的数据结构
• ® FB 65 "TCON",用于组态本地通讯接入点
• ® FB 66 "TDISCON",用于关闭本地通讯接入点
• ® 用于发送数据的FB 67 "TUSEND"
• ® 用于接收数据的FB 68 "TURCV"n

OPEN Communication Wizard下载地址链接:25209116

使用 Open Communication Wizard 建立开放式UDP 通信

图1n

解决方案
要通过 S7-PN CPU 的 集成PROFINET 接口实现开放的 UDP 通信,不能在硬件组态中完成,必须在一个数据块中指定每个连接的参数。使用“Open Communication Wizard”工具可以简单明了地指定连接参数,该工具可将一个包含所有参数的 UDT 导出到您的 STEP 项目中。使用该 UDT 可建立含有连接描述的数据块。随后,需使用通信功能块 FB65 "TCON"、FB66 "TDISCON"、FB 67 "TUSEND" 和FB 68 "TURCV"完成程序的编写。n

2. 系统配置
CPU采用两个315-2PN/DP,使用以太网进行通信,网络拓扑如图2所示:n

使用 Open Communication Wizard 建立开放式UDP 通信

图2n

3. 配置OPEN Communication Wizard
首先使用STEP7创建一个项目,名称为open_UDP_wizard,建立两个315PN/DP站。安装并打开向导。从路径“开始Simatic ® Open Communication Wizard ® Open Communication Wizard”打开向导。打开后如图3所示,点击下一步:n

使用 Open Communication Wizard 建立开放式UDP 通信
图3n

在图4中选择STEP7项目以及块文件夹,点击下一步,如图5所示:n

使用 Open Communication Wizard 建立开放式UDP 通信
图4n

使用 Open Communication Wizard 建立开放式UDP 通信
图5n

在图5中选择New, 然后点击下一步,如图6所示:n

使用 Open Communication Wizard 建立开放式UDP 通信
图6n

在图6中选择UDP native, 点击下一步,如图7所示:n

使用 Open Communication Wizard 建立开放式UDP 通信
图7n

点击下一步,如图8所示:n

使用 Open Communication Wizard 建立开放式UDP 通信

图8n

在图8中设置partner A的“Coection ID”“Coection name ” “Used interface”以及partner B的“IP address”,点击下一步,如图9所示:n

使用 Open Communication Wizard 建立开放式UDP 通信
图9n

在图9中设定通信双方的端口号,本例中设置为2000。点击下一步,如图10所示:n

使用 Open Communication Wizard 建立开放式UDP 通信
图10n

在图10中定义了partnet A用于UDP通信的数据连接结构的名称UDT65和地址数据块的名称UDT66,在项目open_UDP_wizard中选择块文件夹。点击下一步如图11所示,再下一步开始编译,如图12所示:n

使用 Open Communication Wizard 建立开放式UDP 通信
图11n

使用 Open Communication Wizard 建立开放式UDP 通信
图12n

编译无误后如图13所示:n

使用 Open Communication Wizard 建立开放式UDP 通信
图13n

点击Finish完成向导的配置。这样在项目open_UDP_wizard的块中生成了UDT65, UDT66,如图14所示。n

使用 Open Communication Wizard 建立开放式UDP 通信

图14n

用同样的步骤为SIMATIC 315PN-2 站配置向导,完成配置后在SIMATIC 315PN-2站的块中生成了UDT65,UDT66。n

4. 在STEP7中为项目open_UDP_wizard编写程序

首先为partner A编写程序。在SIMATIC 315PN-1的块中创建DB101,定义一个变量DB_VAR,变量类型为UDT65。如图15所示。n

使用 Open Communication Wizard 建立开放式UDP 通信

图15n

接着创建DB102,定义一个变量DB_VAR,变量类型为UDT66。如图16所示。n

使用 Open Communication Wizard 建立开放式UDP 通信

图16n

在OB1中依次调用FB65,FB67,FB68,FB66,如图17,18,19,20所示:n

使用 Open Communication Wizard 建立开放式UDP 通信

图17n

程序中的参数说明见表1:n

参数名 参数说明
REQ 上升沿触发建立通信连接
ID 连接ID
CONNECT 与变量类型为UDT65的变量相连
DONE 为1时,连接正确建立
BUSY 为1时,正建立连接
ERROR 为1时,有故障发生
STATUS 故障代码

表1 FB65参数说明n

使用 Open Communication Wizard 建立开放式UDP 通信

图18n

程序中的参数说明见表2n

参数名 参数说明
REQ 上升沿触发
ID 连接ID
LEN 数据发送的最大长度
DATA 数据发送的区域
ADDR 接收伙伴的地址参数
DONE 为1时,连接正确建立
BUSY 为1时,正建立连接
ERROR 为1时,有故障发生
STATUS 故障代码

表2 FB67参数说明n

使用 Open Communication Wizard 建立开放式UDP 通信

图19n

程序中的参数说明见表3n

参数名 参数说明
EN_R 为1时使能
ID 连接ID
LEN 接收区域的长度
DATA 接收数据区
ADDR 发送伙伴的地址参数
NDR 为1时,接收完成
BUSY 为1时,正在接收
ERROR 为1时,有故障发生
STATUS 故障代码
RCVD_LEN 实际接收的数据长度

表3 FB68参数说明

使用 Open Communication Wizard 建立开放式UDP 通信

图20

程序中的参数说明见表4

参数名 参数说明
REQ 上升沿触发
ID 连接ID
DONE 为1时,断开连接完成
BUSY 为1时,正断开连接
ERROR 为1时,有故障发生
STATUS 故障代码

表4 FB66参数说明

OB1编写完成后,SIMATIC 315PN-1的程序块如图21所示:

使用 Open Communication Wizard 建立开放式UDP 通信

图21

同理,为SIMATIC 315PN-2站编写程序,与SIMATIC 315PN-1类似,在DB101中定义数据类型为UDT65的变量,接着创建DB102,定义一个变量DB_VAR,变量类型为UDT66。在OB1中调用FB65,FB67,FB68,FB66。将硬件组态和程序分别下到两个S7300站中。
在cpu运行的情况下分别监控两个站OB1的状态。首先在两个站的FB65中,将“REQ”置1,使连接建立。然后将SIMATIC 315PN-1 MB100-MB109赋值B#16#13,同时在SIMATIC 315PN-2站中将FB68的EN_R置1,接着在SIMATIC 315PN-1的FB67中,将REQ设置上升沿信号,此时SIMATIC 315PN-2站的MB200-MB209接收到来自SIMATIC 315PN-1站的数据B#16#13,如图22所示:

使用 Open Communication Wizard 建立开放式UDP 通信

图22

同样的操作,将SIMATIC 315PN-2的MB100-MB109赋值B#16#08,SIMATIC 315PN-1的MB200-MB209接收到B#16#08,图23所示。

使用 Open Communication Wizard 建立开放式UDP 通信

图23

5. 常见问题
• ® 接收区的长度怎么指定?
答:如果LEN不为0,区域长度由LEN的值指定;如果LEN为0,则由DATA参数长 度信息指定。
• ® 接收区能否大于发送区?
答:如果接收区大于发送区,则发送区的所有数据都将输入到接收区中。然后将NDR设置为TRUE,并将发送数据的长度写入RCVD_LEN。
• ® FB68 ERROR=1,STATUS=W#16#8088 是什么原因?
答:如果选择了比发送数据长度小的接收区,则FB68不向接收区复制任何数据,并返回下列错误信息:ERROR=1,STATUS=W#16#8088。

引用声明

1. “System software for S7-300/400 system- and standard functions”手册 1214574

2. 生成使用 Open Communication Wizard 建立开放式 UDP/IP 通信所需的连接数据 25209116

关键词:
开放式通信向导,PN接口,UDP,STEP7,编程

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc326952.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日 下午12:03
下一篇 2021年4月12日 上午12:00

相关推荐

发表回复

登录后才能评论