第2章存储器的数据类型与寻址方式2.1S7-200的主要指标及接线端口2.1.1S7-200的主要指标1.S7-200PLC的结构2.S7-200的主要指标特性CPU221CPU222CPU224CPU226外形尺寸(mm)90x80x6290x80x62120.5x80x62190x80x62可在运行模式下编辑不可在运行模式下编辑4096字节4096字节4096字节4096字节8192字节12288字节16384字节24576字节数据存储区2048字节2048字节8192字节10240字节掉电保持时间50小时50小时100小时100小时本机I/O:数字量6入/4出8入/6出14入/10出24入/16出扩展模块0个模块2个模块7个模块7个模块高速计数器:单相/双相4路30KHz2路20KHz4路30KHz2路20KHz6路30KHz4路20KHz6路30KHz4路20KHz脉冲输出(DC)2路20KHz2路20KHz2路20KHz2路20KHz模拟电位器1122实时时钟配时钟卡配时钟卡内置内置通讯口1RS-4851RS-4851RS-4852RS-485浮点数运算有I/O映象区256(128入/128出)布尔指令执行速度0.22μs/指令2.1.2S7-200系列PLC的外部端子图DC/DC/DCAC/DC/RLY分别表示CPU电源的类型、输入端口的电源类型及输出端口器件的类型。DC为晶体管,RLY为继电器每种型号的CPU都有CPU221DC/DC/DC端子图CPU222AC/DC/RLY端子图CPU224AC/DC/RLY端子图CPU226AC/DC/RLY端子图2.2S7-200CPU存储器的数据区2.2.1数据类型1.数据类型及范围基本数据类型无符号整数基本数据类型有符号整数十进制十六进制十进制十六进制字节B(8位)0~2550~FF字节B(8位)-128~12780~7F字W(16位)0~655350~FFFF整型(16位)-32768~327678000~7FFF双字D(32位)0~42949672950~FFFFFFFF双整型(32位)-2147483648~214748364780000000~7FFFFFFF布尔型(1位)0或1实数(32位)-1038~10382.常数进制使用格式举例十进制十进制数值20047十六进制十六进制值16#4E4F二进制二进制值2#100111001001111ASCII码‘ASCII码文本’‘Howareyou?’实数或浮点格式ANSI/IEEE754-1985+1.175495E-38(正数)-1.175495E-38(负数)2.2.2数字量输入输出映象区(I/Q区)1.数字量输入映象区(I区)位I0.0~I0.7…I15.0~I15.7128点字节IB0、IB1、…IB1516个字IW0、IW2、…IW148个双字ID0、ID4、ID8、ID124个(2)字节(B)IB0表示数字量输入映象区第0个字节,共8位,其中第0位是最低位,第7位为最高位。IB[起始字节地址](1)位I[字节地址].[位地址]I1.0表示数字量输入映象区第1个字节的第0位。(3)字(W)IW[起始字节地址]一个字含两个字节,这两个字节的地址必须连续,其中低位字节是高8位,高位字节是低8位。如IW0中IB0是高8位,IB1是低8位(4)双字(DW)ID[起始字节地址]一个字含四个字节,这四个字节的地址必须连续,最低位字节在一个双字中是最高8位。如ID0中IB0是最高8位,IB1是高8位,IB2是低8位,IB3是最低8位2.数字量输出映象区(Q区)位Q0.0~Q0.7…Q15.0~Q15.7128点字节QB0、QB1、…QB1516个字QW0、QW2、…QW148个双字QD0、QD4、QW8、QD124个(1)位Q[字节地址].[位地址]Q0.0表示数字量输出映象区第0个字节的第0位。(2)字节(B)QB0表示数字量输出映象区第0个字节,共8位,其中第0位是最低位,第7位为最高位。QB[起始字节地址](3)字(W)QW[起始字节地址]一个字含两个字节,这两个字节的地址必须连续,其中低位字节是高8位,高位字节是低8位。如QW0中IB0是高8位,QB1是低8位(4)双字(DW)QD[起始字节地址]一个字含四个字节,这四个字节的地址必须连续,最低位字节在一个双字中是最高8位。如QD0中IB0是最高8位,QB1是高8位,QB2是低8位,QB3是最低8位2.2.3模拟量输入输出映象区(AI/AQ区)1.模拟量输入映象区(AI区)将测得的模拟量(如温度、压力)转换成1个字长(16位)的数字量存储。模拟量输入用区域标识符(AI)、数据长度(W)及字节的起始地址表示。AIW[起始字节地址]CPU221、222有16路模拟量输入:AIW0、AIW2、…AIW30CPU224、226有32路模拟量输入:AIW0、AIW2、…AIW62把1个字长(16位)的数字量按比例转换成模拟电压或电流输出。模拟量输出用区域标识符(AQ)、数据长度(W)及字节的起始地址表示。2.模拟量输出映象区(AQ区)AQW[起始字节地址]CPU221、222有16路模拟量输出:AQW0、AQW2、…AQW30CPU224、226有32路模拟量输出:AQW0、AQW2、…AQW622.2.4变量存储器区(V区)位V0.0~V0.7…V8191.0~V8191.765536点字节VB0、VB1、…VB81918192个字VW0、VW2、…VW81904096个双字VD0、VD4、…VD81882048个变量存储器区用于程序执行过程中存储逻辑运算的中间结果,也可以使用变量存储器保存与工作过程相关的数据。(1)位V[字节地址].[位地址]V1.0表示变量存储器第1个字节的第0位。(2)字节(B)VB0表示变量存储器第0个字节,共8位,其中第0位是最低位,第7位为最高位。VB[起始字节地址](3)字(W)VW[起始字节地址]一个字含两个字节,这两个字节的地址必须连续,其中低位字节是高8位,高位字节是低8位。如VW0中IB0是高8位,VB1是低8位(4)双字(DW)VD[起始字节地址]一个字含四个字节,这四个字节的地址必须连续,最低位字节在一个双字中是最高8位。如VD0中IB0是最高8位,VB1是高8位,VB2是低8位,VB3是最低8位2.2.5位存储器区(M区)PLC执行程序过程中,常常需要位控制,位存储器就是根据这个要求建立的。位M0.0~M0.7…M31.0~M31.7256点字节MB0、MB1、…MB3132个字MW0、MW2、…MW3016个双字MD0、MD4、…MD288个(1)位M[字节地址].[位地址]M1.0表示位存储器区第1个字节的第0位。(2)字节(B)MB0表示位存储器区第0个字节,共8位,其中第0位是最低位,第7位为最高位。MB[起始字节地址](3)字(W)MW[起始字节地址]一个字含两个字节,这两个字节的地址必须连续,其中低位字节是高8位,高位字节是低8位。如MW0中IB0是高8位,MB1是低8位(4)双字(DW)MD[起始字节地址]一个字含四个字节,这四个字节的地址必须连续,最低位字节在一个双字中是最高8位。如MD0中IB0是最高8位,MB1是高8位,MB2是低8位,MB3是最低8位2.2.6顺序控制继电器区(S区)顺序控制继电器区是S7-200系列为顺序控制继电器的数据而建立的一个存储区,用“S”表示,用于步进过程的控制。位S0.0~S0.7…S31.0~S31.7256点字节SB0、SB1、…SB3132个字SW0、SW2、…SW3016个双字SD0、SD4、…SD288个(1)位S[字节地址].[位地址]S1.0表示顺控区第1个字节的第0位。(2)字节(B)SB0表示顺控区第0个字节,共8位,其中第0位是最低位,第7位为最高位。SB[起始字节地址](3)字(W)SW[起始字节地址]一个字含两个字节,这两个字节的地址必须连续,其中低位字节是高8位,高位字节是低8位。如SW0中IB0是高8位,SB1是低8位(4)双字(DW)SD[起始字节地址]一个字含四个字节,这四个字节的地址必须连续,最低位字节在一个双字中是最高8位。如SD0中IB0是最高8位,SB1是高8位,SB2是低8位,SB3是最低8位2.2.7局部存储器区(L区)局部存储器和变量存储器很相似,主要区别是变量存储器是全局有效的,而局部存储器是局部有效的。其中前60个用作暂时存储器或给子程序传递参数,后四个字节(LB60~LB63)保留。位L0.0~L0.7…L63.0~L63.7512点字节LB0、LB1、…LB6364个字LW0、LW2、…LW6232个双字LD0、LD4、…LD6016个(1)位L[字节地址].[位地址]L1.0表示局部存储器区第1个字节的第0位。(2)字节(B)LB0表示局部存储器区第0个字节,共8位,其中第0位是最低位,第7位为最高位。LB[起始字节地址](3)字(W)LW[起始字节地址]一个字含两个字节,这两个字节的地址必须连续,其中低位字节是高8位,高位字节是低8位。如LW0中IB0是高8位,LB1是低8位(4)双字(DW)LD[起始字节地址]一个字含四个字节,这四个字节的地址必须连续,最低位字节在一个双字中是最高8位。如LD0中IB0是最高8位,LB1是高8位,LB2是低8位,LB3是最低8位2.2.8定时器存储器区(T区)S7-200定时器的精度分为1、10、100ms三种。S7-200系列PLC定时器的编号为T0~T255,共256个定时器,其定时器的地址由T和定时器编号组成。2.2.9计数器存储器区(C区)S7-200系列PLC计数器的编号为C0~C255,共256个计数器,其计数器的地址由C和计数器编号组成。2.2.10高速计数器区(HC区)高速计数器用来累计比CPU扫描速率更快的事件。若要存取高速计数器的值则必须给出高速计数器的地址,即存储器的类型(HC)和计数器编号(如HC0)。S7-200系列PLC有HC0~HC5共6个高速计数器。高速计数器的当前值为32位带符号整数值,当前值为只读值。2.2.11累加器区(AC区)可以按字节、字或双字来存取累加器数据中的数据,其存取数据的长度由所用指令决定。但是,以字节形式读/写累加器中的数据时,只能读/写累加器32位数据中的最低8位数据。如果是以字的形式读/写累加器中的数据,只能读/写累加器32位数据中的低16位数据。只有采取双字的形式读/写累加器中的数据时,才能一次读写全部32位数据。CPU提供了4个32位累加器(AC0、AC1、AC2、AC3)。2.2.12特殊存储器区(SM区)位SM0.0~SM0.7…SM549.0~SM549.74400点字节SMB0、SMB1、…SMB549550个字SMW0、SMW2、…SMW548275个双字SMD0、SMD4、…SMD544137个(1)位SM[字节地址].[位地址]SM1.0表示特殊存储器区第1个字节的第0位。(2)字节(B)SMB0表示特殊存储器区第0个字节,共8位,其中第0位是最低位,第7位为最高位。SMB[起始字节地址](3)字(W)SMW[起始字节地址]一个字含两个字节,这两个字节的地址必须连续,其中低位字节是高8位,高位字节是低8位。如SMW0中IB0是高8位,SMB1是低8位(4)双字(DW)SMD[起始字节地址]一个字含四个字节,这四个字节的地址必须连续,最低位字节在一个双字中是最高8位。如SMD0中IB0是最高8位,SMB1是高8位,SMB2是低8位,SMB3是最低8位2.3S7-200CPU存储器的直接寻址方式1.位寻址2.字节寻址字节寻址以存储区标识符、字节标识符、字节地址组合而成3.字寻址字寻址以存储区标识符、字标识符、字节地址组合而成4.双字寻址双字寻址以存储区标识符、双字标识符、字节地址组合而成2.4S7-200CPU存储器的间接寻址方式在直接寻址方式中,直接使用存储器或寄存器的标识符和地址编号来找到数