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

FB_TCPClient/FB_TCPClient2 的属性

一般信息

功能块 FB_TCPClient 和 FB_TCPClient2 为它们的监视和控制提供了多个属性。这些属性及其成员关系见下表。

FB_TCPClient 和 FB_TCPClient2 的常用属性

名称

数据类型

访问

描述

IsReadable

BOOL

读取

指示 Receive 方法已经收到数据但还没有处理。

IsWritable

BOOL

读取

指示在连接所处的状态下数据可以发送到服务器。

PeerHasDisconnected

BOOL

读取

指示连接已被远程站点关闭。如果属实,将自动调用方法 Shutdown,并且状态更改为 Shutdown

Result

ET_Result

读取

指示上一次方法调用的结果。

如果结果不为 Ok,则即使调用了另一个方法,也会保持该结果值。

State

ET_State

读取

指示套接字的状态。

TotalBytesReceived

ULINT

读取

统计已接收字节的总数。(范围:1 ... 264-1)

TotalBytesSent

ULINT

读取

统计已发送字节的总数。(范围:1 ... 264-1)

SockOpt_CustomPort

UDINT

读/写

用于指定通过 FB_TcpClient 打开的连接应绑定的 TCP 端口。如果这个值设置为 0(缺省),则使用下一个可用端口。

SockOpt_KeepAlive

BOOL

读/写

如为 TRUE,则指示 TCP 栈定期发送空数据包以验证是否可抵达远程站点。如果不再如此,连接状态更改为 Shutdown

注意: 在大多数情况下,设置此选项,以便在远程站点不可达(关机或电缆断开)的情况下,可以检测到这种不可达。

注意: 如果对服务器禁用了 KeepAlive 套接字选项,则不可为已连接客户端启用。

SockOpt_NoDelay

BOOL

读/写

如果为 TRUE,指示 TCP 堆栈发送数据,无需等待收到整个数据包。此选项可以降低吞吐量,但可改善延迟情况,这一点在工业应用中非常重要。

SockOpt_ReceiveBufferSize

UDINT

读/写

用于设置或获取栈的接收缓冲区大小。必须总是比一次接收的数据量大,以避免数据丢失。(范围:1 ... 2147483647)

SockOpt_SendBufferSize

UDINT

读/写

用于设置或获取栈的发送缓冲区大小。必须总是比一次发送的数据量大。

(范围:1 ... 2147483647)

FB_TCPClient 的其他属性

名称

数据类型

访问

描述

BytesAvailableToRead

UDINT

读取

指示接收缓冲区中使用 Receive 方法可读取的字节数。(范围:0 ... 2147483647)

SockOpt_OutOfBandInline

BOOL

读/写

如果为 TRUE,指示 TCP 堆栈将 OutOfBand 数据作为常规数据流的一部分发送。

FB_TCPClient2 的其他属性

名称

数据类型

访问

描述

TimeoutConnectTls

UDINT

读取/写入

指示使用方法 ConnectTls 建立连接时的超时(秒)。

TlsUsed

BOOL

读取

指示到服务器的 TCP 连接是否已使用方法 ConnectTls 来建立。