配置注释:
一个 S7-300站可使用 UDP 协议与多个通信对象收发数据。n
面向无连接的 UDP 协议的优势有:n
- 非常快速的数据传输n
- 非常灵活,可以与第三方的系统实现n
- 可路由n
- 可以实现组播和广播n
- 适用于中小数据量的传输( <= 2048 字节 )
面向无连接的 UDP 协议的劣势有:n
- 数据传输是包导向(非流导向)n
- 发送和接收不需要通信对象应答,应答需要用户程序来实现n
- 包丢失后不重发n
- 独立的数据包可能多次发送n
- 接收方不可以预知接收到的数据包的顺序n
- 广播功能只能在发送方实现
条目号26484229 提供给您 UDP 协议属性和特殊功能的一些详细信息。n
在此例中,只在 S7-300 配置一个本地 UDP 站点。可以通过这个本地站点与远程的多个 UDP 站点发送和接收 UDP报文。n
图01:配置n
配置本地 UDP 站点:
按以下过程配置本地 UDP 站点。n
打开带有 S7-300 配置的 STEP 7 项目。在 NetPro 中为 S7-300 站配置一个未指定对象的 UDP 连接。n
图 02:配置未指定 UDP 连接n
在 UDP 连接属性的对话栏中您切换到“Addresses”分页栏。在这里您勾选上选项“Address assignment in block”。此时通信对象的参数 IP 地址和端口号不能填写。n
图 03: UDP 连接属性的对话栏->“Addresses”分页栏n
UDP 站点必须在发送站和接收站都配置。n
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 端口
通信对象的 IP 地址 140.80.0.3 是 B 类地址,例如,前两个字节作为子网地址并且后两个字节作为计算机地址。
在本例中,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:接收到的数据结构
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc334170.html