0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

数据在存储器中的存储方式与寻址方式

wtipoasfe 来源:工控PLC学习 作者:工控PLC学习 2022-11-29 10:48 次阅读

一、数据在存储器中的存储方式

1、数据格式及要求

A〉数据格式:即指数据的长度和表示方式。 B〉要求:S7-200对数据的格式有一定的要求,指令与数据之间的格式一致才能正常工作。

2、用一位二进制数表示开关量

A〉一位二进制数:一位二进制数有0(OFF)和1(ON)两种不同的取值,分别对应于开关量(或数字量)的两种不同的状态。 B〉位数据的数据类型:布尔(Bool)型。 C〉位地址:由存储器标识符、字节地址和位号组成,如I3.4等。 D〉其它CPU存储区的地址格式:由存储器标识符和起始字节号(一般取藕字节)组成,如V B 100、V W 100、V D 100等。

3、多位二进制数(8421码)

A〉数及数制:数用于表示一个量的具体大小。根据计数方式的不同,有十进制(D)、二进制(B)、十六进制(H)和八进制等不同的计数方式。 B〉二进制数的表示:在S7-200中用2#来表示二进制常数,例如 “2# 10111010 ”。 C〉二进制数的大小:将二进制数的各位(从右往左第n位)乘以对应的位权(×2n-1),并将结果累加求和可得其大小。例如:2# 10111010 = 1×27+0×26+1×25+1×24+1×23+0×22+1×21+0×20 = 186

4、十六进制数

A〉十六进制数的引入:将二进制数从右往左每4位用一个十六进制数表示,可以实现对多位二进制数的快速准确的读写。 B〉不同进制数的表示方法:( 表3-2-1 不同进制数的表示方法 ) C〉十六进制数的表示:在S7-200中用16#来表示十六进制常数,例如 “2# 1010 1110 0111 0101 可转换为16# AEF7 ”。 D〉十六进制数的大小:将十六进制数的各位(从右往左第n位)乘以对应的位权(×16n-1),并将结果累加求和可得其大小。例如:16# 2F = 2×161+15×160 = 47

5、数据长度:字节(Byte)、字(Word)、双字(DoubleWord)

A〉字节(B):从0号位开始的连续8位二进制数称为一个字节。 B〉字(W):相邻的两个字节组成一个字的长度。 C〉双字(DW):相邻的四个字节组成一个双字的长度。 D〉字、双字长数据的存储特点:高位存低字节、地位存于高字节。

6、负数(有符号数)的表示方法

A〉负数的表示:PLC一般用二进制的补码来表示有符号数,其最高位为符号位(0 ——正数、1 ——负数)。 B〉绝对值相等的正负有符号数间的关系:正数的补码是它本身。 C〉不同数据的取值范围:( 表3-2-2 数据的位数与取值范围 )

7、BCD码

A〉BCD码释义:BCD码就是用四位二进制数的组合来表示1位十进制数,即用二进制编码的十进制数(Binary Coded Decimal Number)缩写。例如 十进制数 23 的BCD码为 2# 0010 0011 或表示为 16# 23 ,但其8421码为 2# 00010111 。 B〉BCD码的应用:BCD码常用于输入输出设备,例如拨码开关输入的是BCD码,送给七段显示器的数字也是BCD码。

二、CPU的存储区

1、输入过程映象寄存器(I)

A〉输入过程映象寄存器(I)的作用:在每次扫描周期的开始,CPU对物理输入点进行采样,并将采样值写入输入过程映象寄存器中。 B〉输入过程映象寄存器(I)的特点:① 只能由外部驱动,其常开、常闭触点使用次数不受限制;② 可以按位、字节、字或双字来存取输入过程映象寄存器中的数据: 位:I [字节地址] 。 [位地址] 如 I0.1 字节、字或双字:I [长度] [起始字节地址] 如 IB4

2、输出过程映象寄存器(Q)

A〉输出过程映象寄存器(Q)的作用:在每次扫描周期的结尾,CPU将输出过程映象寄存器中的数值复制到物理输出点上。 B〉输出过程映象寄存器(Q)的特点:①其常开、常闭触点使用次数不受限制;② 可以按位、字节、字或双字来存取输出过程映象寄存器: 位:Q [字节地址] 。 [位地址] 如 Q1.1 字节、字或双字:Q [长度] [起始字节地址] 如 QB5

3、全局变量存储区(V)

A〉变量存储区(V)的作用:用于存储程序执行过程中控制逻辑操作的中间结果, 也可以用它来保存与工序或任务相关的其它数据。 B〉变量存储区(V)的特点:①变量存储器在全局有效,可以被所有的POU存取;② 可以按位、字节、字或双字来存取V存储区中的数据: 位:V [字节地址] 。 [位地址] 如 V10.2 字节、字或双字:V [长度] [起始字节地址] 如 VW100

4、局部存储器(L)

A〉局部存储器(L)的作用:S7-200有64个字节的局部存储器,其中60个可以用作临时存储器或者给子程序传递参数。 B〉局部存储器(L)的特点:① S7--200给每个POU(程序组织单元)分配64个局部存储器;②局部存储器只在创建它的程序单元中有效,各程序不能访问别的程序的局部变量存储器。③ 局部存储器在参数传递过程中不传递值,在分配时不被初始化,可能包含任意数值。 位:L [字节地址] 。 [位地址] 如 L0.0 字节、字或双字:L [长度] [起始字节地址] 如 LB33

5、模拟量输入(AI

A〉模拟量输入(AI)的作用:S7-200将输入的模拟量值(如温度或电压)转换成1个字长(16位)的数字量,并将其存入(AI)区占一个字长的地址中。 B〉模拟量输入(AI)的作用:① 可以用区域标识符(AI)、数据长度(W)及字节的起始地址(必须用偶数字节地址如AIW0,AIW2,AIW4)来存取这些值。② 模拟量输入值为只读数据。 格式:AIW [起始字节地址] 如 AIW4

6、模拟量输出(AQ)

A〉模拟量输出(AQ)的作用:S7-200把1个字长(16位)数字值按比例转换为相应大小的电流或电压输出。 B〉模拟量输出(AQ)的特点:① 可以用区域标识符(AQ)、数据长度(W)及字节的起始地址(必须用偶数字节地址如AQW0,AQW2,AQW4)来改变这些值。② 模拟量输出值是只写数据。 格式:AQW [起始字节地址] 如 AQW4

7、定时器存储区(T)

A〉定时器的作用:定时器可用于时间累计,S7-200 CPU中,有256个的定时器,其分辨率(时基增量)分为1ms、10ms和100ms三种。 B〉定时器有两个变量:① 当前值——16位有符号整数,存储定时器所累计的时间。② 定时器位——按照当前值和预置值的比较结果置位或者复位。 C〉定时器存储区(T)的特点:① 可以用定时器地址(T+定时器号,如 T37、T3等)来存取当前值和定时器位数据。②位操作指令则是存取定时器位;如果使用字操作指令,则是存取定时器当前值。 格式:T [定时器号] 如 T24

8、计数器存储区(C)

A〉计数器的作用:计数器可以用于累计其输入端脉冲电平由低到高的次数。在S7-200 CPU中,有256个的计数器,分为三种类型—增计数;减计数;增/减计数。 B〉计数器有两种变量:① 当前值——16位有符号整数,存储累计值。② 计数器位——按照当前值和预置值的比较结果置位或者复位。 C〉计数器存储区(C)的特点:① 可以用计数器地址(C+计数器号)来存取计数器的当前值和计数器位数据;② 使用位操作指令则是存取计数器位;如果使用字操作指令,则是存取计数器当前值。 格式:C [计数器号] 如 C24

9、高速计数器(HC)

A〉高速计数器(HC)的作用:用于对高速事件计数;S7-200 CPU222以上提供了6个高速计数器(HC0~HC5)供用户使用。 B〉高速计数器(HC)的特点:① 它独立于CPU的扫描周期;② 高速计数器的当前计数值(32位的有符号整数)是只读数据,仅可以作为双字(32位)来寻址;③用指定存储器类型(HC)加上计数器号(如HC0)的寻址方式来存取高速计数器中的值; 格式:HC [高速计数器号] 如 HC1

10、累加器(AC

A〉累加器(AC)的作用:累加器是可以象存储器一样使用的读写设备。例如,可以用它来向子程序传递参数,也可以从子程序返回参数,以及用来存储计算的中间结果。S7--200提供4个32位累加器(AC0,AC1,AC2和AC3) 。 B〉累加器(AC)的特点:① 可以按字节、字或双字的形式来存取累加器中的数值;② 被访问的数据长度取决于存取累加器时所使用的指令。 格式:AC [累加器号] 如 AC0

11、特殊存储器(SM)

A〉特殊存储器(SM)的作用:SM位为CPU与用户程序之间传递信息提供了一种手段。可以用这些位选择和控制S7-200 CPU的一些特殊功能。 B〉特殊存储器(SM)的特点:可以按位、字节、字或双字来存取SM位:

位:SM [字节地址] 。 [位地址] 如 SM0.1 字节、字或者双字:SM [长度] [起始字节地址] 如 SMB86

12、位存储区(M)

A〉位存储(M)的作用:可以用位存储区作为控制继电器来存储中间操作状态和控制信息。 B〉位存储(M)的特点:可以按位、字节、字或双字来存取位存储区: 位:M [字节地址] 。 [位地址] 如 M26.7 字节、字或双字:M [长度] [起始字节地址] 如 MD20

13、顺控继电器存储器(S)

A〉顺控继电器(SCR)的作用:SCR提供控制程序的逻辑分段,用于组织设备的顺序操作。 B〉顺控继电器存储器(S)的特点:① 可用作顺控编程元件与顺序控制继电器指令配合使用;② 或用作辅助继电器,可按位、字节、字或双字来存取S位。 位:S [字节地址] 。 [位地址] 如 S3.1 字节、字或者双字:S [长度] [起始字节地址] 如 SB4

14、实数的格式

A〉实数及其应用:实数(浮点数)可以表示为1.m×2e(式中 m——尾数、e——指数),由32位单精度数表示,最高位为符号位,按照双字长度来存取;借助浮点数,S7-200可以表示范围在±1.175495×10-38~±3.402823×10+38内的任何一个数。 B〉实数的运算精度:对于S7--200来说,浮点数精确到小数点后第六位。

15、字符串的格式

字符串指的是一系列字符,每个字符以字节的形式存储。字符串的第一个字节定义了字符串的长度,也就是字符的个数。一个字符串的长度可以是0到254个字符,再加上长度字节,一个字符串的最大长度为255个字节。而一个字符串常量的最大长度为126字节。

16、常数表示法及范围

在S7--200的许多指令中,都可以使用常数值。常数值可以是字节、字或者双字。S7--200以二进制数的形式存储常数,也可以用十进制数、十六进制数、ASCII码或者实数(浮点数)来表示。( 表3-2-3 常数表示法 )

17、CPU存储器的范围和特性

A〉S7-200 CPU存储器的范围:( 表3-2-4 S7-200 CPU存储器的范围与特性 ) B〉S7-200操作数范围:( 表3-2-5 S7-200 CPU操作数的范围 )

三、直接寻址和间接寻址

1、寻址的概念

在PLC中地址是访问数据的依据,通过地址来访问数据的过程称为“寻址”。几乎所有的指令和功能都与各种形式的寻址有关。

2、直接寻址

直接寻址即为指定了存储器的区域、长度和位置的寻址方式,用于 一般的数字量控制系统的编程中。如 VW100表示存取VB100、VB101组成的两个字。

3、用指针对S7-200存储区间接寻址

A〉间接寻址:①间接寻址的概念——是指用指针来访问存储区数据。②指针作用及其特点:指针以双字的形式存储其它存储区的地址,指针也可以作为参数传递到子程序中。只能用V存储器、L存储器或者累加器寄存器(AC1、AC2、AC3)作为指针。S7-200允许指针访问以下存储区:I、Q、V、M、S、AI、AQ、SMT(仅限于当前值)和C(仅限于当前值);但不能访问单独的位,也不能访问HC或者L存储区。 B〉建立间接寻址的指针:要建立一个指针,必须以双字的形式,将需要间接寻址的存储器地址移动到指针中;具体做法是用“&”符号加上要访问的存储区地址来建立一个指针。( “&”符号开头表明指令的操作数是存储区的地址,而不是将其内容。) C〉用指针存取数据:当指令中的操作数是指针时,应该在操作数前面加上“*”号。 D〉修改指针:由于指针是一个32位的数据,要用双字指令来改变指针的数值;简单的数学运算,如加法指令或者增加指令,可用于改变指针的数值。 E〉应用举例——[例3-1]:用于非线性校正的表格的数据存放在VW0开始的100字中,表格的偏移量(表格中字的序号,第1个字的序号为0)在VD200中,在I0.0的上升沿,用间接寻址将表格中相对于偏移量的数据值传送到VW210中去。 [提示]: 按照所访问的数据长度使用不同的指令:当访问字节时,使用增加指令使指针值加1;当访问字或者计数器、定时器的当前值时,用加法或者增加指令使指针值加2;当访问双字时,使用加法或者增加指令使指针值加4。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储器
    +关注

    关注

    38

    文章

    7120

    浏览量

    161914
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10411

    浏览量

    206464

原文标题:PLC中存储器的数据类型与寻址方式

文章出处:【微信号:工控PLC学习,微信公众号:工控PLC学习】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    STM32F103DMA模块存储器存储器可以实现循环吗?

    STM32F103 参考手册循环模式部分描述:DMA模块存储器存储器不能与循环模式同时使用。但是经过实际测试,是可以实现循环的,请问怎么理解这句话呢?
    发表于 04-02 06:23

    如何使用SCR XRAM作为程序存储器数据存储器

    1) 允许一个物理内存(即 XRAM) 可同时作为程序存储器数据存储器进行访问 如何使用 SCR XRAM 作为程序存储器数据
    发表于 01-30 08:18

    ARM指令的寻址方式有几种?试分别举例说明

    ARM指令的寻址方式有几种?试分别举例说明  ARM指令集的寻址方式有基址寻址、立即寻址、寄存器
    的头像 发表于 01-29 18:10 576次阅读

    PLC功能指令:数据类型和寻址方式

    要了解存储器寻址方法,须先掌握其编址方法。S7 -200 SMART PLC的存储单元编址有一定的规律,它将存储器按功能不同划分成若干个区,如I区(输入继电器区)、Q区(输出继电器区
    发表于 12-07 09:43 321次阅读
    PLC功能指令:<b class='flag-5'>数据</b>类型和<b class='flag-5'>寻址</b><b class='flag-5'>方式</b>

    存储信息的方式有哪些种类

    存储信息的方式有多种种类,它们在不同的场景和需求下提供了各自的优势和特点。 一、传统存储方式 纸张存储:最古老的
    的头像 发表于 12-01 13:36 2191次阅读

    为什么web3时代的数据存储方式,Filecoin是理想的方式

    为什么web3时代的数据存储方式,Filecoin是理想的方式? 随着区块链技术和去中心化应用程序(dapps)的普及,数据管理和
    的头像 发表于 10-26 11:16 208次阅读

    视频监控数据有哪些存储方式?哪种存储方式最优?

    视频监控数据有哪些存储方式?哪种存储方式最优? 随着社会的发展,视频监控技术已经成为城市安全管理中不可缺少的一部分。随之而来的是海量的视频监
    的头像 发表于 10-26 11:16 1943次阅读

    MCU整数是用什么方式存储的?

    MCU整数是用什么方式存储
    发表于 10-10 07:33

    存储器的工作原理、分类及结构

    存储器是计算机中的重要组成部分,用于存储程序、数据和控制信息等。根据存储信息的介质和访问方式的不同,存储
    发表于 09-09 16:18 2464次阅读

    西门子博途: 存储器间接寻址的应用

    对于存储器间接寻址,可以在变量中存储地址。变量可以是 WORD 或 DWORD 数据类型。变量可以位于存储器区域“
    发表于 07-15 11:20 3017次阅读

    如何保存数据SRAM存储器通过SW?

    ************************************************* ************************************* * 详细说明: * 这个例子的目的是展示如何保存数据 SRAM
    发表于 06-05 09:47

    SOC设计之外部存储器

    存储器的主要技术指标 * **存储容量** 存储器可以容纳的二进制信息量(寻址空间,由CPU的地址线决定) * **实际
    的头像 发表于 05-26 11:28 867次阅读
    SOC设计之外部<b class='flag-5'>存储器</b>

    单板硬件设计:存储器( NAND FLASH)

    单板设计,无论是涉及到一个简易的CPU、MCU小系统或者是复杂的单板设计,都离不开存储器设计: 1、存储器介绍 存储器的分类大致可以划分
    发表于 05-19 15:59

    CH32V103基础教程28-DMA (外设到存储器

    关于DMA,具有三种数据传输方式存储器存储器存储器到外设、外设到存储器
    发表于 04-20 16:37

    CH32V103基础教程27-DMA (存储器到外设)

    。关于DMA存储器到外设传输方式,程序,首先定义一个静态的源数据,存放在内部 FLASH,然后通过DMA的
    发表于 04-20 16:35