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

TSEND_C — TCP 发送

通过 TCP 连接发送数据:REQ 触发,DATA/LEN 指定发送区。

通信 S7-1200/1500 TIA V19 别名:TCP 发送 / TSEND_C

在 TIA 里试一下

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

TiaLink 设置

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

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

一句话

TSEND_C 通过 TCP 连接发送数据:REQ 触发,DATA/LEN 指定发送区。

符号与引脚

分类:通信 需要实例 模板值:无
引脚方向说明
en流输入使能输入
REQ输入发送请求
CONT输入保持连接
LEN输入发送字节数
ADDR输入可选地址参数
CONNECT输入连接参数
DATA输入发送数据
COM_RST输入复位通信
eno流输出使能输出
DONE输出完成
BUSY输出忙
ERROR输出错误
STATUS输出状态码

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

最小示例

Enable=1 时每个扫描调用;REQ 上升沿触发一次发送,CONT=1 保持连接。

TSEND_C_Example:Network 1 — TCP 发送

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

怎么工作

  • TSEND_C 是 FB,需要静态实例(本页 Inst_TSEND_C)和连接参数 Conn(TCON_IP_v4)。
  • Enable=1 时块被调用;CONT=1 保持连接;REQ 上升沿触发一次发送。
  • DATA 是发送缓冲,LEN 是字节数;发送完成前不要改写缓冲。
  • ADDR 和 COM_RST 可以留空:示例就没有接。ADDR 为空时地址由 CONNECT 提供;COM_RST 为空按 0 处理(不复位)。需要复位通信时,给 COM_RST 一个扫描周期的 1。
  • DONE/BUSY/ERROR/STATUS 给出执行状态。
  • 本页示例是 FB;导入后要给它分配实例 DB 才能调用。

常用场景

1. 发送一段数据

同上面的最小示例。

2. 发送 16 字节

把 16 字节的发送缓冲发到伙伴;LEN=16。

输入 示例值 说明
Enable TRUE 每个扫描调用 FB
REQ 0 → 1 → 0 上升沿触发一次发送
CONT TRUE(图中常量) 保持连接
LEN 16(图中常量) 发送 16 字节
Data[0..15] 16#01, 16#03, 16#00, 16#00, 16#00, 16#0A, 16#C5, 16#CD,其余为 0 示例报文,按实际协议填写
Conn 伙伴 192.168.0.10:2000,主动连接 TCON_IP_v4 的具体字段按硬件组态填写

标量参数(CONT/LEN)可以直接在梯形图上写成常量;Data 数组和 Conn 结构不适合逐项写常量,通常用 DB 起始值/连接组态,或先用 MOVE/FillBlock 预置。

TSEND_C_Send16:Network 1 — 发送 16 字节

常见坑

  • 没配连接:CONNECT 需要正确的 IP/端口/角色;导入只保证编译,不会自动建立连接。
  • REQ 一直为 1:用上升沿触发,避免重复发送。
  • 缓冲被改写:BUSY=1 时不要改 DATA。
  • 实例/连接:每个连接用固定实例,不要在多个地方复用同一个实例。
  • STATUS:出错时先看 STATUS,再查连接/伙伴状态。

← 返回 LAD 指令手册