跳到正文
Learn-LAD
梯形图示例库/LAD 指令手册/TSEND — 底层 TCP 发送

TSEND — 底层 TCP 发送

在已建立的连接上发送数据;需配合 TCON 使用同一连接 ID。

通信 S7-1200/1500 TIA V19 别名:TCP 发送(底层) / TSEND

在 TIA 里试一下

选一个示例块,通过 TiaLink 导入当前 TIA 项目:预检、默认不覆盖、不自动保存。示例块不会自动运行;导入后请在 OB1 调用并接变量。

TiaLink 设置

默认 http://localhost:8080。也可以在本页地址后加 ?tialink= 临时指定。

TiaLink 启动时若设置了 --api-token,这里要填相同的值;只保存在本机浏览器 localStorage,不会上传。

一句话

TSEND 在已建立的连接上发送数据;需配合 TCON 使用同一连接 ID。

符号与引脚

分类:通信 需要实例 模板值:data_type, len_type, id_type
引脚方向说明
en流输入使能输入
REQ输入发送请求
ID输入连接 ID
LEN输入发送长度
DATA输入发送数据
eno流输出使能输出
DONE输出完成
BUSY输出忙
ERROR输出错误
STATUS输出状态码

符号见下面的最小示例;引脚名与方向来自 lad-ir 指令目录,说明为本站补充。

最小示例

Enable=1 时每扫描调用;REQ 触发发送,ID=1 是 TCON 建立的连接。

TSEND_Example:Network 1 — TCP 发送

图中 # 前缀表示块内局部变量;实际工程里也可以是全局标签或 DB 变量。

怎么工作

  • TSEND 是 FB,需要静态实例;它不负责建连接,连接由 TCON 建立。
  • ID 必须和 TCON/TRCV/TDISCON 用同一个连接 ID。
  • DATA 是发送缓冲,LEN 是字节数;发送完成前不要改写缓冲。
  • DONE/BUSY/ERROR/STATUS 给出执行状态。
  • TSEND_C 是“建连接 + 发送”的封装;TSEND 更底层,适合自己管理连接。

常用场景

1. 发送数据

同上面的最小示例。

2. 发送 16 字节

在已建立的连接上发送 16 字节缓冲。

参数 示例值
Enable TRUE
REQ 0 → 1 → 0
ID 1
LEN 16
Data Array[0..15] of Byte
TSEND_Send16:Network 1 — 发送 16 字节

常见坑

  • 没建连接:先 TCON,且 ID 一致。
  • REQ 一直为 1:用上升沿触发。
  • 缓冲被改写:BUSY=1 时不要改 DATA。
  • 实例复用:每个连接用固定实例。

← 返回 LAD 指令手册