S7-200数据存储与寻址方式

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

S7-200数据存储与寻址方式1.I/O点数扩展和编址S7-200CPU22X系列的每种主机所提供的本机I/O点的I/O地址是固定的,进行扩展时,可以在CPU右边连接多个扩展模块。每个扩展模块的组态地址编号取决于各模块的类型和该模块在I/O链中所处的位置。输入与输出模块的地址不会冲突,模拟量控制模块地址也不会影响数字量。编址方法是同样类型输入或输出点的模块在链中按所处的位置而递增,这种递增是按字节进行的,如果CPU或模块在为物理I/0点分配地址时未用完一个字节,那些未用的位也不能分配给I/O链中的后续模块。例如,某一控制系统选用CPU224,系统所需的输入/输出点数为:数字量输入24点、数字量输出20点、模拟量输入6点和模拟量输出2点。本系统可有多种不同模块的选取组合,并且各模块在I/O链中的位置排列方式也可能有多种,表1-1所示为其对应的各模块的编址情况。表1-1主机I/O模块1I/O模块2I/O模块3I/O模块4I/O模块5I/OI0.0Q0.0I0.1Q0.1I0.2Q0.2I0.3Q0.3I0.4Q0.4I0.5Q0.5I0.6Q0.6I0.7Q0.7I1.0Q1.0I1.1Q1.1I1.2I1.3I2.0I2.1I2.2I2.3I2.4I2.5I2.6I2.7Q2.0Q2.1Q2.2Q2.3Q2.4Q2.5Q2.6Q2.7AIW0AQW0AIW2AIW4AIW6I3.0Q3.0I3.1Q3.1I3.2Q3.2I3.3Q3.3AIW8AQW4AIW10AIVV12AJW14A.同类型输入或输出的模块按顺序进行编制。B.数字量模块总是保留以8位(1个字节)递增的过程映象寄存器空间。如果模块没有给保留字节中每一位提供相应的物理点,那些未用位不能分配给I/O链中的后续模块。对于输入模块,这些保留字节中未使用的位会在每个输入刷新周期中被清零。C.模拟量I/O点总是以两点递增的方式来分配空间。如果模块没有给每个点分配相应的物理点,则这些I/O点会消失并且不能够分配给I/O链中的后续模块。2.S7-200PLC的寻址方式及内部数据存储区S7-200CPU将信息存储在不同的存储单元,每个单元都有惟一的地址。S7-200CPU使用数据地址访问所有的数据,称为寻址。输入/输出点、中间运算数据等各种数据类型具有各自的地址定义,大部分指令都需要指定数据地址。本节将从S7-200的数据长度、寻址、寻址方式和内部数据存储区几个方面进行介绍。2.1数据长度S7-200寻址时,可以使用不同的数据长度。不同的数据长度表示的数值范围不同。S7-200指令也分别需要不同的数据长度。S7-200系列在存储单元所存放的数据类型有布尔型(BOOL)、整数型(INT)、实数型和字符串型四种。数据长度和数值范围如表1-2所列。表1-2数据长度和数值范围数据类型数据长度字节(8位值)字(16位值)双字(32位值)无符号整数0~2550~FF0~655350~FFFF0~42949672950~FFFFFFFF有符号整数-128~+12780~7F-32768~+327678000~7FFF-217483648~+214748364780000000~7FFFFFFF实数IEEE32位浮点数+1.175495E-38~+3.402823E+38(正数)-1.175495E-38~-3.402823E+38(负数)A.实数的格式实数(浮点数)由32位单精度数表示,其格式按照ANSI/IEEE754-1985标准中所描述的形式。实数按照双字长度来存取。对于S7-200来说,浮点数精确到小数点后第六位。因而当使用一个浮点数常数时,最多可以指定到小数点后第六位。B.实数运算的精度在计算中涉及到非常大和非常小的数,则有可能导致计算结果不精确。C.字符串的格式字符串指的是一系列字符,每个字符以字节的形式存储。字符串的第一个字节定义了字符串的长度,也就是字符的个数。一个字符串的长度可以是0到254个字符,再加上长度字节,一个字符串的最大长度为255个字节。而一个字符串常量的最大长度为126字节。D.布尔型数据(0或1)。E.S7-200CPU不支持数据类型检测例如:可以在加法指令中使用VW100中的值作为有符号整数,同时也可以在异或指令中将VW100中的数据当作无符号的二进制数。●S7-200提供各种变换指令,使用户能方便地进行数据制式及表达方式的变换。2.2常数在S7-200的许多指令中,都可以使用常数值。常数可以是字节、字或者双字。S7-200以二进制数的形式存储常数,可以分别表示十进制数、十六进制数、ASCII码或者实数(浮点数)。S7-200指令中的常数表示法如表2-7所示。2.3寻址方式在S7-200系列中,寻址方式分为两种:直接寻址和间接寻址。直接寻址方式是指在指令中直接使用存储器或寄存器的元件名称和地址编号,直接查找数据。间接寻址是指使用地址指针来存取存储器中的数据,使用前,首先将数据所在单元的内存地址放入地址指针寄存器中,然后根据此地址存取数据。本书仅介绍直接寻址。直接寻址时,操作数的地址应按规定的格式表示。指令中数据类型应与指令相符匹配。在S7-200系列中,可以按位、字节、字和双字对存储单元进行寻址。寻址时,数据地址以代表存储区类型的字母开始,随后是表示数据长度的标记,然后是存储单元编号;对于按位寻址,还需要在分隔符后指定位编号。在表示数据长度时,分别用B、W、D字母作为字节、字和双字的标识符。1)位寻址位寻址是指按位对存储单元进行寻址,位寻址也称为字节.位寻址,一个字节占有8个位。位寻址时,一般将该位看作是一个独立的软元件,像一个继电器一样,看作它有线圈及常开、常闭触点,且当该位置1时,即线圈“得电”时,常开触点接通,常闭触点断开。由于取用这类元件的触点只是访问该位的“状态”,因此可以认为这些元件的触点有无数多对。字节.位寻址一般用来表示“开关量”或“逻辑量”。I3.4表示输入映像寄存器3号字节的4号位。位寻址的格式:[区域标识][字节地址].[位地址]2)字节寻址(8bit)字节寻址由存储区标识符、字节标识符、字节地址组合而成。如VB100,字节寻址的格式:[区域标识][字节标识符].[字节地址]3)字寻址(16bit)字寻址由存储区标识符、字标识符及字节起始地址组合而成。如VW100,字寻址的格式:[区域标识][字标识符].[字节起始地址]4)双字寻址(32bit)双字寻址由存储区标识符、双字标识符及字节起始地址组合而成。如VD100,双字寻址的格式:[区域标识][双字标识符].[字节起始地址]为使用方便和使数据与存储器单元长度统一,S7-200系列中,一般存储单元都具有位寻址、字节寻址、字寻址及双子寻址4种寻址方式。寻址时,不同的寻址方式情况下,选用同一字节地址作为起始地址时,其所表示的地址空间是不同的。在S7-200中,一些存储数据专用的存储单元不支持位寻址方式,主要有模拟量输入/输出、累加器、定时器和计数器的当前值存储器等。而累加器不论采用何种寻址方式,都要占用32位,模拟量单元寻址时均以偶数标志。此外,定时器、计数器具有当前值存储器及位存储器,属于同一个器件的存储器采用同一标号寻址。2.3S7-200系列PLC数据存储区及元件功能1)输入继电器(I)输入继电器用来接受外部传感器或开关元件发来的信号,是专设的输入过程映像寄存器。它只能由外部信号驱动程序驱动。在每次扫描周期的开始,CPU总对物理输入进行采样,并将采样值写入输入过程映像寄存器中。输入继电器一般采用八进制编号,一个端子占用一个点。它有4种寻址方式即可以按位、字节、字或双字来存取输入过程映像寄存器中的数据。位:I〔字节地址].[位地址〕如:I0.1字节、字或双字:I[长度][起始字节地址]如:IB3IW4ID02)输出继电器(Q)输出继电器是用来将PLC的输出信号传递给负载,是专设的输出过程映像寄存器。它只能用程序指令驱动。在每次扫描周期的结尾,CPU将输出映像寄存器中的数值复制到物理输出点上,并将采样值写入,以驱动负载。输出继电器一般采用八进制编号,一个端子占用一个点。它有4种寻址方式即可以按位、字节、字或双字来存取输出过程映像寄存器中的数据。位:Q〔字节地址].[位地址〕如:Q0.2字节、字或双字:Q[长度][起始字节地址]如:QB2QW6QD43)变量存储区(V)用户可以用变量存储区存储程序执行过程中控制逻辑操作的中间结果,也可以用它来保存与工序或任务相关的其他数据。它有4种寻址方式即可以按位、字节、字或双字来存取变量存储区中的数据。位:V[字节地址].[位地址]如:V10.2字节、字或双字:V[数据长度][起始字节地址]如:VB100、VW200,VD3004)位存储区(M)在逻辑运算中通常需要一些存储中间操作信息的元件,它们并不直接驱动外部负载,只起中间状态的暂存作用,类似于继电器接触系统中的中间继电器。在S7-200系列PLC中,可以用位存储器作为控制继电器来存储中间操作状态和控制信息。一般以位为单位使用。位存储区有4种寻址方式即可以按位、字节、字或双字来存取位存储器中的数据。位:M〔字节地址].[位地址]如:M0.3字节、字或双字:M长度][起始字节地址]如:MB4MW10MD45)、特殊标志位(SM)特殊标志位为用户提供一些特殊的控制功能及系统信息,用户对操作的一些特殊要求也要通过SM通知系统。特殊标志位分为只读区和可读可写区两部分。只读区特殊标志位,用户只能使用其触点,如:SM0.0RUN监控,PLC在RUN状态时,SM0.0总为1。SM0.1初始化脉冲,PLC由STOP转为RUN时,SM0.1接通一个扫描周期。SM0.2当RAM中保存的数据丢失时,SM0.2接通一个扫描周期。SM0.3PLC上电进入RUN时,SM0.3接通一个扫描周期。SM0.4该位提供了一个周期为1min,占空比为0.5的时钟。SM0.5该位提供了一个周期为1S,占空比为0.5的时钟。SM0.6该位为扫描时钟,本次扫描置1下次扫描置0交替循环,可作为扫描计数器的输入。SM0.7该位指示CPU工作方式开关的位置,0=TERM,1=RUN。通常用来在RUN状态下启动自由口通信方式。可读可写特殊标志位用于特殊控制功能,如用于自由口设置的SMB30,用于定时中断时间设置的SMB34/SMB35,用于高速计数器设置的SMB36~SMB62,用于脉冲输出和脉冲调制的SMB66~SMB85等。6)定时器区(T)在S7-200PLC中,定时器作用相当于时间继电器,可用于时间增量的累计。其分辨率分为三种:1ms、10ms、100ms。定时器有以下两种寻址形式。A.当前值寻址:16位有符号整数,存储定时器所累计的时间。B.定时器位寻址:根据当前值和预置值的比较结果置位或者复位。两种寻址使用同样的格式:T[定时器编号]例如:T377)计数器区(C)在S7-200CPU中,计数器用于累计从输入端或内部元件送来的脉冲数。它有增计数器、减计数器及增/减计数器3种类型。由于计数器频率扫描周期的限制,当需要对高频信号计数时可以用高频计数器(HSC)。计数器有以下两种寻址形式。A.当前值寻址:16位有符号整数,存储累计脉冲数。B.计数器位寻址:根据当前值和预置值的比较结果置位或者复位。同定时器一样,两种寻址方式使用同样的格式,格式:C[计数器编号]例如:C08)高速计数器(HC)高速计数器用于对频率高于扫描周期的外界信号进行计数,高速计数器使用主机上的专用端子接收这些高速信号。高速计数器是对高速事件计数,它独立于CPU的扫描周期,其数据为32位有符号的高速计算器的当前值。格式:HC[高速计数器号]例如:HC19)累加器(AC)累加器是用来暂存数据的寄存器,可以同子程序之间传递参数,以及存储计算结果的中间值。S7-200PLC提供了4个32位累加器AC0~AC3。累加器可以按字节、字和双字的形式来存取累加器中的数值。格式:AC[累加器号]。例如:AC110)局部变量存储区(L)局部变量存储器与变量存储器很类似,主要区别在

1 / 9
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功