EcoStruxure Machine Expert 1.1版本不支持M258、LMC058和LMC078控制器。

FB_UDPPeer

概述

类型:

功能块

适用的版本:

V1.0.4.0

继承:

-

执行:

-

G-SE-0045960.1.gif-high.gif

 

 

任务

代表使用基于消息的 UDP 协议发送和接收消息的终端。

功能描述

正常的命令顺序是,先调用 Open 方法。如果调用成功,则可发送消息。如要监听特定端口,必须使用方法 Bind 将套接口绑定到此端口,或者也可以绑定到特定 Ethernet 接口。如果通过所有可用 Ethernet 接口接收消息并自动使用外发接口,则使用空字符串或 0.0.0.0 作为该方法的输入接口。

如要发送数据到其他对等设备,使用 Send 方法。第一次从非绑定套接口发送时,将自动绑定该套接口,然后才可使用 Receive 方法。如果运行时支持,则可使用 BoundIPAddress 和 BoundPort 属性请求套接口绑定的 IP 和端口。

要验证是否有数据处于读取就绪状态,可使用 IsReadable 和 BytesAvailableToRead 属性。

对于 Send 和 Receive 两个方法,应用必须提供缓冲区供 Received 填充,缓冲区中包含 Send 方法将发送的数据。

广播无需任何准备就可以发送和接收。多播需要加入组后才能接收多播消息。为此提供了 JoinMulticastGroup 和 LeaveMulticastGroup 方法。

如要使用 FB_UDPPeer 功能块发送 UDP 多播包,则将属性 SockOpt_MulticastDefaultInterface 的值设置为用于发送数据包的接口的 IP 地址。必须在调用 Open 方法之后以及在首次调用 SendTo 方法之前执行这个操作。

注意: 若通过属性 SockOpt_MulticastDefaultInterface 的值来指定多播包的缺省接口,则有助于避免将数据包发送到整个可用网络。

Close 方法可用于阻止进一步数据传输并关闭套接口。

如果方法的处理不成功,Result 属性的值中会指出。每次调用方法后必须验证 Result 的值。结果可使用 ResetResult 方法重置为 Ok

注意: 只要属性 Result 的值不等于 Ok,便会阻止所有方法。在这种情况下,会在不影响 Result 属性信息的情形下中止方法调用。

接口

功能块没有输入和输出。其功能通过方法和属性来实现。您无需在您的应用中直接调用功能块。