SOCKET_CREATE
创建套接字实例并返回实例编号,以在任何后续套接字操作中用作输入。
操作详细信息︰
- 套接字指令 支持与远程设备进行全双工通信。
- 用户数据报协议 (User Datagram Protocol, UDP) 连接最多可支持八个已排队的 UDP 数据报数据包。队列包含最近的数据包。
- 版本 9 或更高版本的 Micro820 控制器最多可支持八个套接字实例。套接字实例支持 UDP 和 TCP 套接字:
- 使用所有八个实例建立客户端传输控制协议 (TCP) 连接。
- 使用所有八个实例侦听传入 TCP 连接,然后从其他设备接受八个连接。
- 同时执行 TCP 客户端和服务器操作。
- 同时执行 TCP 和 UDP 操作。
- 要接受到同一个端口的传入 TCP 连接,请创建套接字实例。
- TCP 连接丢失:
- 用户应用程序应检测 TCP 连接是否丢失并处理此事件。根据用户应用程序,考虑使控制器发生故障的选项。
- 使控制器发生故障。
- 尝试重新建立连接。
- 要重新建立与其他设备的通信:
- 删除断开的连接的套接字实例。
- 如果连接为 TCP 客户端,则使用 SOCKET_CREATE 创建套接字实例,并向目标设备执行 SOCKET_OPEN。
- 如果连接为 TCP 服务器,则使用 SOCKET_CREATE 创建套接字实例,并执行 SOCKET_ACCEPT 以等待来自远程设备的另一个连接。
- TCP 连接的应用程序消息:
- TCP 连接是两个应用程序之间的字节流。应用程序协议确定消息格式。
- 消息可具有固定大小或可变大小。
支持的语言︰功能块图、梯形图和结构化文本。
SOCKET_CREATE

参数 | 参数类型 | 数据类型 | 描述 |
|---|---|---|---|
Execute | 输入 | BOOL | 启用指令块。
|
Type | 输入 | USINT | 指定套接字类型:
|
SockAddr | 输入 | SOCKADDR_CFG | 指定套接字的地址配置。 EtherNet/IP 模块选择本地端口号,将 SockAddr 设置为 0。 指定应用程序进行侦听和接收的本地端口号,或者:
本地端口范围:从 1 到 65535。 如果指定的本地端口号已被 L20E 或 L50E 控制器使用,将出现错误。 控制器使用以下端口号: TCP 端口:
UDP 端口:
请参见 SOCKADDR_CFG 数据类型。 |
Timeout | 输入 | UDINT | 指定套接字不活动的超时。 如果套接字实例未在指定的闲置状态超时内接收到任何请求,则会删除该套接字实例。 如果已在删除套接字实例后发送请求,则会返回“套接字实例不受支持”错误。 当超时值小于最小值时,指令块会返回错误。 设置“超时”,使其长于套接字操作之间的最长间隔。如果闲置状态超时太短,套接字实例可能会超时。超时范围:1,000-86,400,000 毫秒。 将“超时”设置为 0 以使用默认值 300,000(5 分钟)。 |
Done | 输出 | BOOL | 指示操作完成的时间。
|
Busy | 输出 | BOOL |
|
Error | 输出 | BOOL | 指示发生了错误。
|
Status | 输出 | SOCK_STATUS | 使用 SOCK_STATUS 数据类型定义状态,包含 ErrorID、SubErrorID 和 StatusBits 信息。 |
Instance | 输出 | UDINT | 包含套接字句柄。 将实例参数用于后续套接字指令。 |
SOCKET_CREATE 示例
SOCKET_CREATE 功能块图示例

SOCKET_CREATE 梯形图示例

SOCKET_CREATE 结构化文本示例

结果 - TCP 客户端

结果 - TCP 服务器

结果 - UDP

提供反馈