ET_Result

概述

类型:

枚举

适用的版本:

V1.0.9.0

描述

枚举 ET_Result 包含代表功能块所执行运算的结果的可能值。

枚举元素

值 0 至 99 用于指示功能块 FB_TCPClient/FB_TCPClient2FB_TCPServer/FB_TCPServer2FB_UDPPeer 执行的运算的结果。

名称

描述

Ok

0

运算成功完成。

Failed

1

运算没有成功完成。

NotReady

10

无法在当前状态下执行所请求的运算,或者属性 Result 在功能调用前不为 Ok

NotSupported

11

此控制器不支持所请求的运算。

AddressInUse

12

请求的端口地址已被占用。

AddressNotAvailable

13

请求的 IP 地址不可用,因为没有 Ethernet 接口配置此地址。

InputOutOfRange

20

此值超出有效范围。

ReceiveBufferSizeOutOfRange

21

指定接收缓冲大小的输入值超出有效范围。

NumBytesToSendOutOfRange

22

指定要发送的字节数的输入值超出有效范围。

FillLevelOutOfRange

23

指定缓冲填充级别的输入值超出有效范围。

TooMuchOOBData

24

只允许 1 个字节的 OutOfBand 数据,但请求的大小超过此大小。

InvalidBufferAddress

25

缓冲区的地址无效。

InvalidIP

26

给定的 IP 地址无效。

InvalidMulticastIP

27

给定的 IP 地址无效或不在多播地址的范围内。

NoSuchClient

28

找不到指定的客户端,因为它没有连接到 TCP 服务器。

ClosedByPeer

40

请求的运算无法执行,因为远程站点已关闭连接。

ConnectionTimedOut

41

建立连接的尝试超时,因为远程系统无效或没有应答请求。

ConnectionRefused

42

建立连接的尝试不成功,因为远程系统拒绝建立连接。

NotEnoughResources

50

请求的运算无法执行,因为可配置的内部资源不足。尝试对一个调用使用更少量的数据。

SocketManagementListTooSmall

51

套接字无法打开,因为内部套接字管理的大小不足。关闭已打开的套接字,或者增大全局参数列表 (GPL) 中 Gc_uiSocketManagementListSize 的值。

ClientListTooSmall

52

TCP 服务器无法拥有更多的客户端。断开现有客户端的连接,或者增大全局参数列表 (GPL) 中 Gc_uiTCPServerMaxConnections 的值。

SendToAllSizeTooSmall

53

请求的待发送字节数超出限制。减少要发送的数据量,或者增大全局参数列表 (GPL) 中 Gc_udiTCPServerMaxSendToAllSize 的值。

BufferFull

54

TCP 栈的发送缓冲区已满,无法复制其他数据。利用相应的套接字选项增大发送缓冲区大小,或者稍后重新尝试发送。

CertificateNotFound

56

在控制器的证书证书存储库中找不到指定的证书。

TlsError

57

仅适用于 FB_TcpServer2

无法完成 TLS(传输层安全)握手。如果参数 etCertVerifyMode 设置为 AllCertificatesTrustedOnly,请确认客户端发送证书,如有需要,请确认客户端被视为可信客户端。

InitTlsContextFailed

58

初始化 TLS 上下文时检测到内部错误。最多可同时打开 10 个不同的 TLS 上下文。确保同时打开的 TCP 套接字数量不超过 10 个。

InitAsyncManagerFailed

60

初始化异步管理器时检测到内部错误。异步管理器的使用可以由全局变量 GVL.G_xDisableAsyncExecTcpClientGVL.G_xDisableAsyncExecTcpServer 来配置。

StartAsyncJobFailed

61

启动异步作业时检测到内部错误。异步管理器的使用可以由全局变量 GVL.G_xDisableAsyncExecTcpClientGVL.G_xDisableAsyncExecTcpServer 来配置。

CertificateVerificationFailed

62

通讯合作伙伴的证书不可信或无效。

TlsAlreadyUsed

64

连接已使用 TLS 加密。

ReceiveBufferNotEmpty

65

所请求的上一个操作需要空的接收缓冲区。请清空接收缓冲区,然后重试。

CertificateNoKey

66

无法使用指定的证书,因为没有私钥可用。请选择其他证书或使用缺省证书。

Timeout

70

已超过超时时间。请增大超时参数的值,然后重试。

值 1001 至 1100 用于指示功能块 FB_DnsClient 的状态。如果功能块的 q_xError 为 FALSE,将通过 q_etResult 提供以下状态消息。

名称

描述

Disabled

1001

功能块已禁用。

Initializing

1002

功能块正在初始化。

Disabling

1003

正在禁用功能块。

Ready

1004

功能块已就绪。

SendDnsQuery

1010

功能块正向 DNS 服务器发送查询。

WaitForDnsAnswer

1012

功能块正在等待来自 DNS 服务器 的应答。

AnalyzeDnsAnswer

1014

功能块正在分析应答。

值 1500 至 1600 用于指示功能块 FB_DnsClient 执行的运算的结果。如果功能块的 q_xError 为 TRUE,将通过 q_etResult 提供以下错误消息。

名称

描述

InvalidDnsServerIP

1500

DNS 服务器的指定 IP 地址无效。

注: i_sDnsServerIP 必须为零之外的某个值,必须具有正确的格式。

InvalidDomainName

1502

未指定域名,或指定的域名无效。

OpenSocketFailed

1506

打开 UDP 套接字时检测到错误。

SendDnsQueryFailed

1508

向 DNS 服务器发送查询时检测到错误。

BufferSizeTooSmall

1510

GPL.Gc_udiDnsBufferSize 定义的缓冲区大小不足。

ReceiveDnsAnswerFailed

1512

从 DNS 服务器接收数据时检测到错误。

InvalidDnsAnswer

1514

来自服务器的 DNS 应答无效。

InvalidNumberOfIPs

1516

参数 GPL.Gc_udiDnsNumberOfIPs 的值不得为 0。

DnsResolutionFailed

1518

DNS 服务器无法解析所请求的域名。

InternalError

1525

内部错误。

DnsServerError

1526

DNS 服务器响应包含错误代码。请参阅 FB_DnsClient 的输出 q_sResultMsg

InvalidDnsTimeOut

1527

参数 GPL.Gc_timDnsTimeOut 的值不得为 0。

使用对象

  • FB_Dns_Client

  • FB_TCPClient/FB_TCPClient2

  • FB_TCPServer/FB_TCPServer2

  • FB_UDPPeer

  • FC_EtResultToString