SOCKET_INFO

SOCKET_INFO 指令返回套接字实例的信息,如错误代码和执行状态。输出与程序扫描同步更新。
支持的语言︰功能块图、梯形图和结构化文本。
该指令适用于 L20E、L50E 和 L70E 控制器。
SOCKET_INFO
SOCKET_INFO
SOCKET_INFO 参数
参数
参数类型
数据类型
Execute
输入
BOOL
启用指令块。
  • TRUE: 检测到上升沿,启动指令块,前提是上一个操作已完成。
  • FALSE:未检测到上升沿。
Instance
输入
UDINT
复制从 SOCKET_CREATE 或 SOCKET_ACCEPT 指令返回的套接字句柄以删除相应套接字。
  • 对于 UDP 和 TCP 客户端套接字类型,复制从 SOCKET_CREATE 指令返回的套接字句柄。
  • 对于 TCP 服务器套接字类型,复制从 SOCKET_ACCEPT 指令返回的套接字句柄。
当“实例”为 0 时,返回所有套接字实例的摘要。
ClrDiagCnt
输入
BOOL
  • TRUE: 清除传输控制协议 (Transmission Control Protocol, TCP) 或用户数据报协议 (User Datagram Protocol, UDP) 诊断计数器信息。
  • FALSE:不清除 TCP 或 UDP 计数器信息。
如 TCP 和 UDP,OtherInfo 数组索引 1 至 6。
当“实例”为 0 时,清除 OtherInfo 数组索引 7 至 14。
Done
输出
BOOL
指示操作完成的时间。
  • TRUE: 操作已成功完成。
  • FALSE:操作正在进行或遇到错误条件。
输出与程序扫描同步更新。
Busy
输出
BOOL
  • TRUE: 操作未完成。
  • FALSE:操作已完成。
输出与程序扫描同步更新。
Error
输出
BOOL
指示发生了错误。
TRUE: 检测到错误。
FALSE:无错误。 
输出与程序扫描同步更新。
Status
输出
SOCK_STATUS
使用 SOCK_STATUS 数据类型定义状态,包含 ErrorID、SubErrorID 和 StatusBits 信息。
输出与程序扫描同步更新。
SocketType
输出
USINT
套接字实例类型:
  • 0 - 未使用
  • 1 - TCP
  • 2 - UDP
当 Socket_Info“实例”为 0 时,SocketType 将显示为 0。
StreamType
输出
USINT
套接字流类型:
  • 0 - 无
  • 1 - TCP 服务器
  • 2 - TCP 客户端
当 Socket_Info“实例”为 0 时,StreamType 将显示为 0。
TxQueCnt
输出
USINT
当前位于队列中的 Tx 消息的数量。
当 Socket_Info“实例”为 0 时,TxQueCnt 将显示为 0。
RxQueCnt
输出
USINT
当前位于队列中的 Rx 消息的数量。
当 Socket_Info“实例”为 0 时,RxQueCnt 将显示为 0。
SocketState
输出
USINT
套接字指令状态信息。有关详细信息,请参阅套接字状态机。
当 Socket_Info“实例”为 0 时,SocketState 将显示为 0。
LocalAddr
输出
SOCKETADDR_CFG
套接字的本地地址。有关更多信息,请参阅SOCKADDR_CFG 数据类型
当 Socket_Info“实例”为 0 时,LocalAddr 将显示为 0。
RemoteAddr
输出
SOCKETADDR_CFG
套接字的远程地址。有关更多信息,请参阅SOCKADDR_CFG 数据类型
在下列情况下,RemoteAddr 将显示为 0:
  • Socket_Info“实例”为 0。
  • 没有 SOCKET_OPEN 的用户数据报协议 (User Datagram Protocol, UDP) 连接。
  • 具有 SOCKET_OPEN 并且已禁用 RxFilter 的 UDP。
OtherInfo
UDINT[1..15]
套接字“实例”配置为 TCP,数组索引描述为:
  • 1 - 已发送数据包:在套接字上发送的 TCP 数据包总数。
  • 2 - 已发送字节:在套接字上发送的 TCP 字节总数。
  • 3 - 已接收数据包:在套接字上接收的 TCP 数据包总数。
  • 4 - 已接收字节:在套接字上接收的 TCP 字节总数。
  • 5 - 重新传输数据包:TCP 数据包重新传输总数。
  • 6 - 校验和错误:套接字上存在校验和错误的 TCP 数据包总数。
  • 7 - TCP 状态:套接字的当前状态。
  • (8 至 11)- OtherInfo 不受 TCP 支持,显示为 0。
  • 12、13、14、15 - 显示为 0。
套接字实例配置为 UDP,数组索引描述为:
  • 1 - 已发送数据包:在套接字上发送的 UDP 数据包总数。
  • 2 - 已发送字节:在套接字上发送的 UDP 字节总数。
  • 3 - 已接收数据包:在套接字上接收的 UDP 数据包总数。
  • 4 - 已接收字节:在套接字上接收的 UDP 字节总数。
  • 5 - 已丢弃数据包:为套接字丢弃(由于超过最大队列大小界限 8)的 UDP 接收数据包总数。
  • 6 - 校验和错误:套接字上存在校验和错误的 UDP 数据包总数。
  • 7 至 15 - 显示为 0。
套接字实例配置为 0,数组索引描述为:
  • 1 - 可用套接字实例的计数。支持的最大套接字数。
  • 2 - 已用套接字实例的计数。已成功创建的套接字数。
  • 3 - 已作为 TCP 创建的套接字实例的数量。
  • 4 - 已作为 TCP 客户端创建的套接字实例的数量。
  • 5 - 已作为 TCP 服务器创建的套接字实例的数量。
  • 6 - 已作为 UDP 创建的套接字实例的数量。
  • 7 - SOCKET_READ 当套接字实例配置为 TCP 时的成功计数。
  • 8 - SOCKET_WRITE 当套接字实例配置为 TCP 时的成功计数。
  • 9 - SOCKET_READ 当套接字实例配置为 TCP 时的失败计数。
  • 10 - SOCKET_WRITE 当套接字实例配置为 TCP 时的失败计数。
  • 11 - SOCKET_READ 当套接字实例配置为 UDP 时的成功计数。
  • 12 - SOCKET_WRITE 当套接字实例配置为 UDP 时的成功计数。
  • 13 - SOCKET_READ 当套接字实例配置为 UDP 时的失败计数。
  • 14 - SOCKET_WRITE 当套接字实例配置为 UDP 时的失败计数。
  • 15 - 显示为 0。

SOCKET_INFO 示例

SOCKET_INFO 功能块图示例
SOCKET_INFO 功能块图示例
SOCKET_INFO 梯形图示例
SOCKET_INFO 梯形图示例
SOCKET_INFO 结构化文本示例
SOCKET_INFO 结构化文本示例
结果
结果
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal