潍坊乾发机电有限公司
 
 
新闻资讯
当前位置:首页 >> 新闻资讯 >> 行业新闻

西门子 SFC14 SFC15

浏览:13    发布日期:2026-04-23

SFC14 (DPRD_DAT) 和 SFC15 (DPWR_DAT) 是西门子 S7-300/400/1200/1500 PLC 中,用于 PROFIBUS-DP 或 PROFINET IO 通讯的系统功能,核心作用是读写从站的一致性(连续)数据,确保多字节数据完整传输、不被拆分。

一、基本作用

SFC14 DPRD_DAT(读一致性数据)

从 DP 从站 / IO 设备的输入区(Input)读取连续数据,存入 CPU 的 DB 块、M 区或过程映像区。

→ 适用:变频器、伺服、智能从站等大于 4 字节的结构化数据(如控制字 + 状态字 + 实际值)。

SFC15 DPWR_DAT(写一致性数据)

将 CPU 中连续数据写入 DP 从站 / IO 设备的输出区(Output)。

→ 适用:发送多字节命令、设定值、参数到从站。

二、核心参数(STEP 7 经典 / TIA)

SFC14 读

plaintext

CALL SFC14

 LADDR  := W#16#100   // 从站输入起始地址(十六进制,硬件组态地址)

 RECORD := P#DB10.DBX0.0 BYTE 16  // 接收区(ANY指针,长度匹配组态)

 RET_VAL:= MW100      // 错误码:0=成功,≠0=故障

LADDR:DP 从站输入模块的逻辑起始地址(十六进制)。

RECORD:目标存储区(必须是 ANY 指针,仅允许 BYTE 类型)。

RET_VAL:返回值 / 错误码。

SFC15 写

plaintext

CALL SFC15

 LADDR  := W#16#110   // 从站输出起始地址

 RECORD := P#DB11.DBX0.0 BYTE 16  // 数据源区

 RET_VAL:= MW102

LADDR:从站输出模块起始地址。

RECORD:数据源区(ANY 指针,BYTE)。

RET_VAL:返回值 / 错误码。

三、为什么要用 SFC14/SFC15(关键:一致性)

普通 I/O 访问(如 L IB0、T QB0):

只能按字节 / 字零散读写。

多字节数据可能在 PLC 扫描周期中被拆分、更新一半,导致数据错误。

SFC14/SFC15:

原子性传输:整个数据块一次性完整读写。

保证数据一致性(如 4/8/16 字节控制字、状态字、坐标值)。

最大长度:最多 32 字节(Profibus-DP 标准)support.automation.siemens.com。

四、常见错误码(RET_VAL)

W#16#0000:正常

W#16#8090:地址错误 / 长度不匹配

W#16#8091:RECORD 区域长度错误

W#16#80A0:DP 连接故障 / 从站无响应

W#16#80A1~80A3:硬件 / 通讯故障

五、适用场景

与 ** 变频器(MM440、G120、S120)** 通讯

与 伺服驱动器通讯

与 ** 智能 DP 从站(如第三方仪表、机器人)** 通讯

S7‑300/400 之间 DP 耦合 / 智能从站数据交换

六、使用要点

硬件组态必须先做:

正确分配从站 I/O 地址、长度。

LADDR 必须与组态完全一致(十六进制)。

RECORD 长度必须匹配:

读 / 写长度 = 组态的从站 I/O 长度。

调用位置:

通常在 OB1 或 **OB35(定时中断)** 中调用。

TIA Portal:

S7‑1200/1500 对应指令:DPRD_DAT / DPWR_DAT。

七、简单示例(STEP 7)

plaintext

// 读:从地址 256 (100H) 读 16 字节 → DB10

CALL SFC14

 LADDR  := W#16#100

 RECORD := P#DB10.DBX0.0 BYTE 16

 RET_VAL:= MW100


// 写:DB11 16 字节 → 从站地址 272 (110H)

CALL SFC15

 LADDR  := W#16#110

 RECORD := P#DB11.DBX0.0 BYTE 16

 RET_VAL:= MW102


上一篇:发那科机械手

下一篇:TL431

返回列表
Copyright © 2026 潍坊乾发机电有限公司 XML