SOCKET_WRITE

SOCKET_WRITE 指令用于发送套接字上的数据。
操作详细信息︰
  • SOCKET_WRITE 尝试发送 Length 参数中指定的请求数据字节数。发送操作完成时,SOCKET_WRITE 返回已写入 TxLength 参数的数据字节数。
  • 输出与程序扫描异步更新。
支持的语言︰功能块图、梯形图和结构化文本。
该指令适用于 L20E、L50E 和 L70E 控制器。
SOCKET_WRITE
SOCKET_WRITE
SOCKET_WRITE 参数
参数
参数类型
数据类型
描述
Execute
输入
BOOL
启用指令块。
  • TRUE: 检测到上升沿,启动指令块,前提是上一个操作已完成。
  • FALSE:未检测到上升沿。
Instance
输入
UDINT
复制从 SOCKET_CREATE 或 SOCKET_ACCEPT 指令返回的套接字句柄。
  • 对于 UDP 和 TCP 客户端套接字类型,复制从 SOCKET_CREATE 指令返回的套接字句柄。
  • 对于 TCP 服务器套接字类型,复制从 SOCKET_ACCEPT 指令返回的套接字句柄。
Timeout
输入
UDINT
SOCKET_WRITE 实例的超时。如果超时值小于最小值,指令将返回错误。
超时范围:1,000-1,800,000 毫秒。将“超时”设置为 0 以使用默认值 10000(10 秒)。
UDPAddr
输入
自创建套接字以来未执行 SOCKET_OPEN 指令的情况下要将数据写入到的 UDP 目标地址。对于 TCP,或当已对 UDP 执行 SOCKET_OPEN 指令时,此结构将不使用,并且其中应全部包含零。TCP 连接和用于 UDP 的 SOCKET_OPEN 指令将传输所有远程地址信息。
UDPAddr 192.168.2.100 和端口 12000 的示例:
UDPAddr.IPAddress[0] = 192
UDPAddr.IPAddress[1] = 168
UDPAddr.IPAddress[2] = 2
UDPAddr.IPAddress[3] = 100
UDPAddr.Port = 12000
使用 SOCKADDR_CFG 数据类型定义 UDPAddr。
Data
输入
USINT[1..1]
用于存储使用 SOCKET_WRITE 指令写入相应套接字实例的数据的数组。
  • 数据数组大小必须 >=(Offset + Length)。
  • 数据数组可能大于 SOCKET_WRITE Length。
Length
输入
UINT
要写入的数据字节数。 
最大值为 256 个字节。
Offset
输入
UNIT
到 Data 数组的偏移。从 SOCKET_WRITE 写入的数据从此位置开始。
Done
输出
BOOL
指示操作完成的时间。
  • TRUE: 操作已成功完成。
  • FALSE:操作正在进行或遇到错误条件。
输出与程序扫描同步更新。
Busy
输出
BOOL
  • TRUE: 操作未完成。
  • FALSE:操作已完成。
输出与程序扫描同步更新。
Error
输出
BOOL
指示发生了错误。
  • TRUE: 检测到错误。
  • FALSE:无错误。 
输出与程序扫描同步更新。
Status
输出
SOCK_STATUS
使用 SOCK_STATUS 数据类型定义状态,包含 ErrorID、SubErrorID 和 StatusBits 信息。
输出与程序扫描同步更新。
TxLength
输出
UNIT
写入的数据字节数。

SOCKET_WRITE 示例

SOCKET_WRITE 功能块图示例
SOCKET_WRITE 功能块图示例
SOCKET_WRITE 梯形图示例
SOCKET_WRITE 梯形图示例
SOCKET_WRITE 结构化文本示例
SOCKET_WRITE 结构化文本示例
结果 - TCP
结果 - TCP
结果 - UDP(不采用 Open)
结果 - UDP(不采用 Open)
结果 - UDP(采用 Open)
结果 - UDP(采用 Open)
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal