PLC中存储器的数据类型与寻址⽅式
⼀、数据在存储器中的存储⽅式
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。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。