SOCKET_OPEN
SOCKET_OPEN 指令可打开所指定目标地址的连接,以建立传输控制协议 (Transmission Control Protocol, TCP) 连接。对于用户数据报协议 (User Datagram Protocol, UDP) 连接,会将目标 IP 地址和端口号关联到指定套接字。
操作详细信息︰
- 对于使用SOCKET_OPEN的用户数据报协议 (User Datagram Protocol, UDP) 连接,无需在每次发送数据时都使用 IP 地址和端口号。
- 对于未使用“SOCKET_OPEN”的 UDP 连接,必须在每次使用“SOCKET_WRITE”发送数据时指定目标地址。
- 当使用“SOCKET_READ”时,除了接收数据外,还将返回发送方的地址。发送方地址可用于使用“SOCKET_WRITE”发送响应。
- “SOCKET_OPEN”操作可能会在超时时间之前返回,而不创建传输控制协议 (TCP) 连接。如果目标设备正在运行但未侦听指定端口号上的连接,可能会出现这种情况。SOCKET_OPEN会在超时时间之前返回并出错。
- 输出与程序扫描同步更新。
支持的语言︰功能块图、梯形图和结构化文本。
该指令适用于 L20E、L50E 和 L70E 控制器。
SOCKET_OPEN

参数 | 参数类型 | 数据类型 | 描述 |
|---|---|---|---|
Execute | 输入 | BOOL | 启用指令块。
|
Instance | 输入 | UDINT | 复制从 SOCKET_CREATE 功能块返回的套接字句柄。 |
Timeout | 输入 | UDINT | SOCKET_OPEN 功能块的超时。 如果“超时”值小于最小值,功能块会返回错误。 超时范围:1,000-1,800,000 毫秒 将“超时”设置为 0 以使用默认值 10000(10 秒)。 |
DestAddr | 输入 | 目标连接的地址。 必须在远程主机的 IP 地址和端口号之间建立连接。 以下 IP 地址不受 DestAddr 支持:
IP 地址 192.168.2.100 和端口 12000 的示例:
| |
EnUDPRxFilter | 输入 | BOOL | 对于 UDP 套接字,当使用 SOCKET_OPEN 和 Enable EnUDPRxFilter 时,无需在每次读取数据时都使用特定 IP 地址和端口号的数据包过滤器。
EnUDPRxFilter 已禁用:
|
Done | 输出 | BOOL | 指示操作完成的时间。
输出与程序扫描同步更新。 |
Busy | 输出 | BOOL |
输出与程序扫描同步更新。 |
Error | 输出 | BOOL | 指示发生了错误。
输出与程序扫描同步更新。 |
SOCKET_OPEN 示例
SOCKET_OPEN 功能块图示例

SOCKET_OPEN 梯形图示例

SOCKET_OPEN 结构化文本示例

结果 - TCP

结果 - UDP

提供反馈