PLC数据存储方式.ppt
- 格式:ppt
- 大小:639.52 KB
- 文档页数:28
PLC的数据存储结构在我们西门子PLC当中主要有,我们的I区,Q区,M 区,T区(定时器),C区(计数器)。
还有的就是V存储区(它是PLC内部数据存储区,也是按8进制分配如:v0.0-v0.7 .v1.0-v1.7)现在来看一下它们的结构。
1.位(BOOL\BITE)对于位它只存在‘0’和‘1’两种状态表现形式,类似于开关。
0代表断开,1代表接通。
如:M0.0,Q0.0,I0.0,…都是位的一种。
现在来看一下I0.0的位,当I0.0为‘0’时如下图:现在再来看一下I0.0为‘1’时如下图:同理,我们的M0.0,Q0.0,I0.0,都是这样的。
这就是位状态结构。
2.字节(BYTE)1个字节=8个位如:QB0,QB1IB0,IB1MB0,MB1VB0,VB1如何解释上面这句1个字节=8个位如图:1是一个I0.0的位转换为2进制就是一个‘0’那么在2里是不是发现,当写入的地址是IB0时我们的二进制里显示了8个‘0’,也就是说有8个位。
同理QB0,QB1IB0,IB1MB0,MB1VB0,VB1都是一样的含有8个位。
我们可以往VB0里写入数值比如说写入30如下图:数据范围字节:有符号-128-127无符号0-2553.字(WORD)1个字=2个字节=16个位如:QW0,QW2,QW4VW0,VW2,VW4MW0,MW2,MW4QW0/ \QB0 QB1/ \ / \Q0.7-Q0.0 Q1.7- Q1.0这个就是我们一个分配图、Q1.7-Q1.0,为低位,Q0.7-Q0.0,为高位。
记住这个格式。
数据范围:字有符号-32768-32767无符号0-655354.双字(DWORD)1个双字=2个字=4个字节=32位如下图:QD0/ \QW0 QW2/ \ / \ QB0 QB1 QB2 QB3/ \ / \Q0.7-Q0.0 Q1.7- Q1.0如上图所示,有些人就问为什么是QW0,QW2.为什么不写QW1!!注意看下面是不是有QB0和QB1.那么我如果在写QW1是不是QW1含QB1和QB2那么是不是QB1和QB1重复了。
位是计算机存储数据的最小单位。
用来存储二进制数的 1 和 0。
8位二进制数组成一个字节(Byte),其中第0位为最低位(LSB),第7位为最高位(MSB)。
1.位、字节、字与双字S7-200 PLC的数据存储方式IB0IB1IB2IB3IB4IB5IB6IB7IB8IB9IB10IB11IB12IB13IB14IB15位位是计算机存储数据的最小单位。
用来存储二进制数的 1 和 0。
8位二进制数组成一个字节(Byte),其中第0位为最低位(LSB),第7位为最高位(MSB)。
1.位、字节、字与双字S7-200 PLC的数据存储方式1 0 0 0 1 1 0 1一个字节(B)7 6 5 4 3 2 1 0LSBMSB位(bit)S7-200 PLC的数据存储方式位存储单元的地址由字节地址和位地址组成。
例如:IB3——I3.0~I3.7I3.5—— I为区域标示符, 表示输入继电器,字节地址为 3,位地址为 5IB0IB1IB2IB3IB4IB5IB6IB7IB8IB9IB10IB11IB12IB13IB14IB15I3.5相邻的两个字节组成一个字(Word)。
如QW0是由QB0和QB1组成的一个字。
相邻的两个字组成一个双字(Double Word)。
即一个双字由相邻的4个字节组成。
如双字VD100由VB100~VB103组成。
S7-200 PLC的数据存储方式15 QB0 8 7 QB1 031 VB100 VB101 VB102 VB103 0字QW0MSB(15) LSB(0)双字VD100MSB(31) LSB(0)W•寻址方式:直接寻址、间接寻址。
•位寻址:输入继电器(I)、输出继电器(Q)、位存储器(M)、特殊存储器(SM)、局部变量存储器(L)、变量存储器(V)、顺序控制继电器(S),如 I3.5。
•特殊器件寻址定时器(T)、计数器(C)、高速计数器(HC)、(编号寻址):累加器(AC),如T37,C20。
三菱PLC⾥类似数组的数据存储⽅式实现功能:数据先进的先出,⽐如将1、2、3依次存⼊D0、D1、D2,⽬前D0(1)、D1(2)、D2(3),取第⼀次数据D1之后D0(2)、D1(3)、D2(0),取第⼆次数据D1之后D0(3)、D1(0)、D2(0),即把数据寄存器D变成了⼀维数组。
⼀、组合⼀些基础的指令实现
⾸先需要了解⼀下变址寄存器(V、Z)、简单的流程控制指令(call、fend、P、sret)、逻辑运算指令(inc)、特殊软元件(M8000、M8002)
1、主程序
2、⼦程序存数据
3、⼦程序取数据
后⾯查看⼿册,发现了⼀个更⽅便的指令来实现,归类到移位指令的FIFO(file in file out)
⼆、FIFO指令实现
先看看这个指令的例⼦:
这个更加简单,K相当于定义数组长度,把D200的值存到D1(从D1开始依次往后),D0为当前“数组”的数据个数;D300是取数据的。
如有什么错误,不吝赐教。
西门子200PLC存储器的数据类型与寻址方式一.存储器的数据类型与寻址方式1.位、字节、字和双字二进制数1位(bit)只有0和1两种不同的取值,可用来表示开关量(或称数字量)的两种不同的状态:通和断。
8位二进制数组成1个字节(Byte),第0位最低位(LSB)、第7位为最高位(MSB)。
两个字节组成1字(Word)。
两个字组成1双字(D表示双字)。
数据的位数与取值范围B(字节),8位值:无符号数十进制:0~255;十六进制:0~FFW(字),16位值:无符号数十进制:0~65535;十六进制:0~FFFFD(双字),32位值:无符号数十进制:0~4294967295;十六进制:0~FFFFFFFF2.数据的存取方式位存储单元的地址由字节地址和位地址组成,如:I3.2中的I表示区域标识符input,字节地址为3,位地址为2。
这种存取方式称为“字节.位”寻址方式。
输入字节IB3(B是Byte的缩写)由I3.0~I3.7这8位组成。
相邻的两个字节组成一个字,VW100表示由VB100和VB101组成的1个字,V表示区域标识符;W表示字(Word);100表示起始字节的地址。
VD100表示由VB100~VB103组成的双字,V为区域标识符;D 表示存取双字(DoubleWord);100为起始字节的地址。
二.存储取的寻址(I、Q、V、M、SM、L均可按位、字节、字和双字来存取)1.输入映像寄存器(I)寻址输入映像寄存器的标识符为I(I0.0~I15.7),在每个扫期描周的开始,CP对输入点进行采样,并将采样值存入映像寄存器中。
2.输出映像寄存器(Q)寻址输出映像寄存器的标识符为Q(Q0.0~Q15.7),在扫期描周的末尾,CPU输出映像寄存器数据传输给输出模块,再由后者驱动外部负载。
3.量存储器(V)寻址在程序执行的过程中存放中间结果,或用来保存与工序或任务有关的其他数据。
4.位存储区(M)区寻址内部存储器标志位(M0.0~M31.7)用来保存控制继电器的中间操作状态或其他控制信息。
S7-200数据存储与寻址方式1.I/O 点数扩展和编址S7-200 CPU22X 系列的每种主机所提供的本机I/O点的I/O地址是固定的,进行扩展时,可以在CPU右边连接多个扩展模块。
每个扩展模块的组态地址编号取决于各模块的类型和该模块在I/O链中所处的位置。
输入与输出模块的地址不会冲突,模拟量控制模块地址也不会影响数字量。
编址方法是同样类型输入或输出点的模块在链中按所处的位置而递增,这种递增是按字节进行的,如果CPU或模块在为物理I/0点分配地址时未用完一个字节,那些未用的位也不能分配给I/O链中的后续模块。
例如,某一控制系统选用CPU224,系统所需的输入/输出点数为:数字量输入24点、数字量输出20点、模拟量输入6点和模拟量输出2点。
本系统可有多种不同模块的选取组合,并且各模块在I/O链中的位置排列方式也可能有多种,表1-1所示为其对应的各模块的编址情况。
表1-1A.同类型输入或输出的模块按顺序进行编制。
B. 数字量模块总是保留以8位(1个字节)递增的过程映象寄存器空间。
如果模块没有给保留字节中每一位提供相应的物理点,那些未用位不能分配给I/O链中的后续模块。
对于输入模块,这些保留字节中未使用的位会在每个输入刷新周期中被清零。
C. 模拟量I/O点总是以两点递增的方式来分配空间。
如果模块没有给每个点分配相应的物理点,则这些I/O点会消失并且不能够分配给I/O链中的后续模块。
2. S7-200 PLC的寻址方式及内部数据存储区S7-200 CPU将信息存储在不同的存储单元,每个单元都有惟一的地址。
S7-200CPU使用数据地址访问所有的数据,称为寻址。
输入/输出点、中间运算数据等各种数据类型具有各自的地址定义,大部分指令都需要指定数据地址。
本节将从S7-200的数据长度、寻址、寻址方式和内部数据存储区几个方面进行介绍。
2.1数据长度S7-200 寻址时,可以使用不同的数据长度。
不同的数据长度表示的数值范围不同。
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 = 1864、⼗六进制数A〉⼗六进制数的引⼊:将⼆进制数从右往左每4位⽤⼀个⼗六进制数表⽰,可以实现对多位⼆进制数的快速准确的读写。
B〉不同进制数的表⽰⽅法: ( 表3-2-1 不同进制数的表⽰⽅法 ) C〉⼗六进制数的表⽰:在S7-200中⽤16#来表⽰⼗六进制常数,例如 “2# 1010 1110 0111 0101 可转换为16# AEF7 ”。
D〉⼗六进制数的⼤⼩:将⼗六进制数的各位(从右往左第n位)乘以对应的位权(×16n-1),并将结果累加求和可得其⼤⼩。