控制工程师论坛

现场总线

通过一个 S7-300 或者 S7-400 站,如何使用 UDP 协议经过本地 UDP 端点发送

wj321
wj321

2008-12-12

配置注释:
一个 S7-300 站可使用 UDP 协议与多个通信对象收发数据。

面向无连接的 UDP 协议的优势有:

面向无连接的 UDP 协议的劣势有:

条目号 26484229 提供给您 UDP 协议属性和特殊功能的一些详细信息。

在此例中,只在 S7-300 配置一个本地 UDP 站点。可以通过这个本地站点与远程的多个 UDP 站点发送和接收 UDP 报文。


图 01:配置

配置本地 UDP 站点:
按以下过程配置本地 UDP 站点。

打开带有 S7-300 配置的 STEP 7 项目。在 NetPro 中为 S7-300 站配置一个未指定对象的 UDP 连接。 


图 02:配置未指定 UDP 连接

在 UDP 连接属性的对话栏中您切换到“Addresses”分页栏。在这里您勾选上选项“Address assignment in block”。此时通信对象的参数 IP 地址和端口号不能填写。


图 03: UDP 连接属性的对话栏->“Addresses”分页栏

UDP 站点必须在发送站和接收站都配置。 

S7 程序:
通信对象的参数 IP 地址和端口号在用户程序中定义,例如,通信对象的参数在发送数据的前 6 个字节中定义。用户数据发送是用功能 FC5 “AG_SEND” 或者 FC50“AG_LSEND”。
这样,数据可以从本地 UDP 站点发向多个 UDP 站点(例如,多个通信对象)。既然配置了一个 UDP 站点,只有一个 IE CP 的连接被占用。因此,节省下的资源可以用于配置其他的通信连接。

 IE CP 使用 CPU 传送数据的前 6 个字节作为通信对象的 IP 地址和端口号。发送的数据不做正确与否的检查。

下图以(DB10)作为数据源解释要发送的用户数据结构。


图 04:发送站点程序的数据结构

在本例中,数据发送到 IP 地址 140.80.0.3 的 2001 端口。作为进一步的需求,这里假设 CP 没有配置路由(标准应用)。

通信对象的 IP 地址 140.80.0.3 是 B 类地址,例如,前两个字节作为子网地址并且后两个字节作为计算机地址。如果您不使用路由器,网络中所有参与直接通信的对象地址必须为 140.80.x.x.。

在本例中,IE CP 以 IP 地址 140.80.0.2 通过一个配置好的 UDP 连接发送 UDP 报文。如果用户程序传送目标 IP 地址 140.80.0.3 到 IE CP ,那么通信正常工作。

此外,在  S7 程序中您使用功能 FC6 “AG_RCV”或者 FC60“AG_LRCV”接收一个或者多个远程的 UDP 站点的报文。以下的条目包含了一个详细的用 FC5 “AG_SEND”和 FC6 “AG_RCV”或者 FC50“AG_LSEND” 和 FC60 “AG_LRCV” 样例程序:17853532 和 18513371

FC6“AG_RCV”或者  FC60“AG_LRCV”只在用户程序中调用一次,即使 UDP 报文是从远程的多个 UDP 站点发送的。数据的发送地址 ( 源端口和源 IP ) 发送到接收站点接收数据的前 6 个字节。

用户数据接收到的结构如下:


图 05:接收到的数据结构

回帖

评论0

首页 | 登录 | 注册 | 返回顶部↑
手机版 | 电脑版
版权所有 Copyright(C) 2016 CE China