关于 Siemens S7 PLC 中的 读取指令,主要指用于从 PLC 的存储区(输入、输出、位存储、数据块等)获取数据的指令。以下是关键的读取指令及其说明(主要针对 STEP 7 经典环境:STL/LAD/FBD):
1. 基本加载/传送指令 (读取的核心)
L(Load - 加载): 最基础的读取指令。L IB 10// 读取输入字节 10 (I 存储区, 字节 10) 到累加器 1L MW 20// 读取存储器字 20 (M 存储区, 字 20) 到累加器 1L DB1.DBD 30// 读取数据块 DB1 中的双字 30 (DB 存储区) 到累加器 1L T 5// 读取定时器 T5 的当前时间值 (BCD 格式) 到累加器 1L C 3// 读取计数器 C3 的当前计数值 (BCD 格式) 到累加器 1- 作用: 将源操作数(地址)的值复制到 CPU 的累加器 1 (ACCU1) 中。
L STW(Load Status Word - 加载状态字): 读取状态寄存器的值到累加器 1。LAR1/LAR2(Load Address Register - 加载地址寄存器): 将操作数(地址或指针)加载到地址寄存器 AR1 或 AR2。常用于间接寻址读取。T(Transfer - 传送): 通常与L配对使用,将累加器 1 的值写入目标地址(这算是“写入”,但读取流程常包含L后接T或运算)。L MW 20// 读取 MW20 的值 (读取)T DB1.DBW 40// 将值传送到 DB1.DBW40 (写入)
2. 针对通信的读取指令 (从远程设备读取数据)
SFC 14 "DPRD_DAT" (LADDR: LADDR, RECORD: P#DBz.DBXy.x BYTE n, RET_VAL: MWx, BUSY: Mx.y)- 作用: 从配置为“一致性”数据区域(长度 > 4 字节)的 PROFIBUS DP 或 PROFINET IO 设备(如分布式 I/O 模块、变频器)读取数据块。
- 关键参数:
LADDR: 硬件组态中模块的硬件地址 (十六进制,如16#0100)。RECORD: 指向本地 DB 中接收数据的目标区域的指针 (如P#DB10.DBX0.0 BYTE 20表示将读到的 20 字节数据放入 DB10 的 DBB0 开始的区域)。RET_VAL: 返回值状态字 (Word)。BUSY: 指示操作是否正在进行 (Bool)。
SFB 52 "RDREC" / SFC 59 "RD_REC"- 作用: 读取 PROFIBUS DP 从站或 PROFINET IO 设备的数据记录 (Data Record)。数据记录是设备特定的参数化或诊断数据。
- 关键参数: 需要指定从站地址、数据记录号、目标数据区等。
3. 针对外设输入的立即读取 (避免过程映像区延迟)
L PIB(Peripheral Input Byte - 外设输入字节):L PIB 256// 绕过过程映像输入区 (PII),直接从硬件地址为 256 的输入模块读取一个字节的当前状态到累加器 1。
L PIW(Peripheral Input Word - 外设输入字):L PIW 258// 直接从硬件地址为 258 的输入模块读取一个字 (2 字节) 到累加器 1。
L PID(Peripheral Input Double Word - 外设输入双字):L PID 260// 直接从硬件地址为 260 的输入模块读取一个双字 (4 字节) 到累加器 1。
- 何时使用: 当需要读取输入信号的最新状态,而不想等待下一个扫描周期开始时过程映像输入区 (PII) 的更新(例如,在高速计数或精确时间戳应用中)。
4. 间接寻址读取
使用地址寄存器 (AR1, AR2) 和指针进行灵活读取。
- 区域内部间接寻址:
L P#8.0 // 加载指针 (指向字节 8, 位 0) 到 ACCU1 LAR1 // 将指针加载到 AR1 L W [AR1, P#0.0] // 读取 AR1 指向的地址开始的一个字 (相当于 MW8 或 DBX8.0 等,取决于区域) - 区域交叉间接寻址 (使用区域标识符):
L P#M 8.0 // 加载指向 M 存储区字节 8 位 0 的指针 LAR1 L W [AR1, P#0.0] // 读取 MW8L P#DBX 10.0 // 加载指向数据块当前 DB 字节 10 位 0 的指针 (需要先打开 DB) LAR1 OPN DB 10 // 打开 DB10 L W [AR1, P#2.0] // 读取 DB10.DBW12 (10 + 2 = 12)
关键点总结
- 核心是
L: 最基础的读取操作是使用L指令将指定地址的值加载到累加器。 - 通信读取: 使用
SFC 14(针对一致性数据块) 或SFB 52/SFC 59(针对数据记录) 从远程 PROFIBUS/PROFINET 设备读取。 - 立即读取: 使用
L PIB/PIW/PID绕过过程映像区,直接从物理模块读取最新输入值。 - 间接读取: 利用地址寄存器和指针 (
P#) 实现动态或复杂的寻址方式读取数据。 - 数据类型: 指令后缀 (
B,W,D,X- Bit) 或操作数类型 (I,Q,M,DBX,T,C) 明确指定了要读取的数据类型和存储区。 - 地址格式: S7 地址使用大端序 (Big-Endian)。
选择哪个指令取决于:
- 你要读取的数据在哪里?(本地存储区?远程设备?)
- 你需要立即值还是过程映像区的值?
- 数据的类型和大小是什么?(位、字节、字、双字)
- 数据在远程设备上是否被定义为一致性区域?
- 是否需要动态寻址?
请根据你的具体应用场景选择最合适的读取指令。
S7-1200 CPU与S7-200 SMART S7通信教程
S7-200 SMART CPU 固件版本 V2.0 及其以上,本体集成的 PROFINET 通信接口支持 S7 通信,可以通过向导或使用 GET/PUT 指令两种方式实现,最多可以建立 16 个 S7 连接,其中包括:8 个客户端,8 个服务器。
2023-05-06 14:49:46
S7-1200 PLC的S7通信服务器端解决方案
S7-1200CPU的为S7通信提供了两条用于读写数据的指令“PUT”和“GET”,使用PUT个GET指令对伙伴CPU进行读写时,不管伙伴CPU是处于运行模式下还是停止模式下,S7通信依然可以正常进行。
2023-07-07 10:42:10
华为智界S7汽车今日开启海量交付
余承东曾在月末的微博中透露,多台智界 S7 已从生产线驶出,正赶赴推送给用户的途中。该车款由华为与奇瑞联手打造,去年 11 月正式上市,共推出四种型号——智界 S7 Pro、智界 S7 Max、智界 S7 Max+及智界 S7 Max RS
2024-04-11 16:22:55
S7-1200 CPU与S7-200 SMART S7通信指南
S7-1200 CPU 固件版本 V2.0 及其以上,本体集成的 PROFINET 通信接口可以做 S7 通信客户端。S7-1200 仅支持 S7 单边通信,做客户端仅需单边组态连接和编程,而做
2023-04-19 15:14:43
基于PROFIBUS总线的S7单边通信
S7协议是SIEMENS S7系列产品之间通讯使用的标准协议 ,其优点是通信双方无论是在同一MPI总线上、同一PROFIBUS总线上或同一工业以太网中,都可通过S7协议建立通信连接,使用相同的编程
2022-08-10 10:06:49
三星未发布的Tab S7和Tab S7 Plus的规格已在网上泄露
WinFuture报告说,Tab S7和Tab S7 Plus之间最大的不同在于屏幕。据报道,S7 Plus将配备分辨率为2800 x 1752的12.4英寸OLED显示屏和显示屏内指纹传感器。
2020-07-28 10:32:45
一文解析S7-1200与S7-1500 S7通信
S7-1200 的 PROFINET 通信口可以做 S7 通信的服务器端或客户端(CPU V2.0及以上版本)。S7-1200 仅支持 S7 单边通信,仅需在客户端单边组态连接和编程,而服务器端只准备好通信的数据就行。
2023-05-15 17:13:41
如何在新的Galaxy S7或S7 Edge上屏蔽广告
开发人员已迅速努力使其应用程序在三星软件的Android棉花糖版本中运行,Galaxy S7和S7 Edge将立即可用。请记住,广告拦截器是专门与三星的浏览器一起编码的。
2020-07-30 15:37:10
S7通信协议介绍 s7协议和profinet协议区别
S7协议和Profinet协议都是工业自动化领域中常用的通信协议,其中S7协议是传统的工控领域常用的通信协议,而Profinet是近年来出现的基于以太网的工业通信协议。
2023-05-08 16:19:23
第一代高通S7和S7 Pro音频平台:超旗舰性能,全面革新音频体验
》中发现,人们使用耳塞和耳机的频率正在提高、时间更长、用途也更广泛; 更关注卓越音频体验,同时对音质的要求也达到新高。 为此,高通推出了面向耳塞、耳机和音箱设计的 第一代高通S7和S7 Pro音频平台 。 第一代高通S7和S7 Pro音频平台
2023-12-14 20:15:01
S7 Fault Tolerant connection/S7容错连接介绍
S7容错连接是S7-400H(High available高可用性)系列CPU才能支持的冗余通讯方式。可以实现基于2/4个子链接的冗余通讯。
2023-01-30 10:12:30
S7-1200 CPU与S7-200 SMART S7通信
S7-200 SMART CPU 固件版本 V2.0 及其以上,本体集成的 PROFINET 通信接口支持 S7 通信
2023-05-06 14:49:55
三星提供的最新Galaxy Tab S7 +评测
看看三星提供的最新Galaxy Tab S7 +。这是一款基于Android的平板电脑。我已经使用Galaxy Tab S7 +已有一段时间了。我尝试用笔记本电脑替换Tab S7 +失败。
2020-09-29 10:28:32
S7协议读取西门子S7-200 Smart PLC数据
西门子S7-200 Smart PLC因其稳定性和易用性而广泛应用。通过使用S7协议,可以实现对PLC数据的高效读取和控制。本文将详细介绍如何使用S7协议读取西门子S7-200 Smart PLC的数据。
2024-07-11 11:55:38
S7-1200和S7-1200进行S7通信的详细资料说明
S7-1200 的 PROFINET 通信口可以做 S7 通信的服务器端或客户端(CPU V2.0及以上版本)。S7-1200 仅支持 S7 单边通信,仅需在客户端单边组态连接和编程,而服务器端只准备好通信的数据就行。
2019-08-17 10:51:20
S7-1500之间S7通信实例
S7-1500 的 PROFINET 通信口可以做 S7 通信的服务器端或客户端。S7-1500 支持 S7单边通信,仅需在客户端单边组态连接和编程,而服务器端只准备好通信的数据就行。
2023-06-01 09:25:23
S7-200SMART CPU与S7-1200进行S7通信的方法
PLC 之间的S7通信也是可以成功的,S7-1200侧编程调用PUT/GET指令或者S7-200 SMART侧编程调用PUT/GET指令都是可以的。注意:1.S7-200 SMART CPU
一只耳朵怪
2020-12-22 16:00:28
S7-400基于PROFIBUS总线的S7单边通信
S7协议是SIEMENS S7系列产品之间通讯使用的标准协议 ,其优点是通信双方无论是在同一MPI总线上、同一PROFIBUS总线上或同一工业以太网中,都可通过S7协议建立通信连接,使用相同的编程
2023-02-22 09:37:27
S7-400基于PROFIBUS总线的S7单边通信的组态步骤
S7协议是SIEMENS S7系列产品之间通讯使用的标准协议 ,其优点是通信双方无论是在同一MPI总线上、同一PROFIBUS总线上或同一工业以太网中,都可通过S7协议建立通信连接,使用相同的编程方式进行数据交换而与使用何种总线或网络无关。
2022-08-10 10:11:31
西门子 S7 通信协议大揭秘
什么是S7协议 有网友说,如果 S7 是一辆汽车,它可能看起来像这样: 实际上,西门子S7协议是西门子集团专为旗下S7系列可编程逻辑控制器(PLC)量身定制的一种通信协议。这一协议的设计旨在实现
2024-08-12 14:21:24
自拍新方式!vivo S7带你解锁“超S”生活
随着发布会的临近,vivo S7的相关信息陆续得到官方确认。本周二,vivo官方发布了刘昊然的视频短片,正式确认其代言人身份,随后更是接连发布vivo S7自拍卖点视频,向消费者传递其超S自拍理念
2020-07-30 13:49:03
新的vivo S7t在设计和规格上都将与旧的vivo S7相同
此外,它将由联发科技Dimensity 820 SoC供电,而不是标准vivo S7内部的高通Snapdragon 765芯片组。除了不同的硅之外,新的vivo S7t在设计和规格上都将与旧的vivo S7相同。
2021-01-26 09:42:38
西门子S7-1500 之间 S7 通信
S7-1500 和 S7-1500 之间 S7 通信 S7-1500 的 PROFINET 通信口可以做 S7 通信的服务器端或客户端。S7-1500 支持 S7单边通信,仅需在客户端单边组态连接
2023-05-29 14:04:21
Simatic Net PC软件的S7 OPC通信服务功能
Simatic Net PC软件的S7 OPC通信服务是该软件最常用的功能,用于具备OPC客户端功能PC的组态软件与西门子S7 PLC通信。
2022-08-23 09:24:27
SIMATIC S7 PLC分为哪几类
SIMATIC是什么?SIMATIC包括哪些?SIMATIC S7 PLC是什么?SIMATIC S7 PLC分为哪几类?
万物死
2021-09-27 08:16:19