S7-200 PLC寻址课件
- 格式:ppt
- 大小:1.02 MB
- 文档页数:28
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 寻址时,可以使用不同的数据长度。
不同的数据长度表示的数值范围不同。
图文详解S7-200SMART间接寻址方法PLC寻址分为直接和间接两种,前面已经介绍了直接寻址使用方法,本文介绍间接寻址如何使用,间接寻址类似于地球上经纬度定位方式,地球上任意一个地方都有一个与之相对于的经度和纬度值,这样定位不再分区域,可以延伸到全球。
间接寻址也是如此,PLC中只有一个存储数据的硬件(硬盘),所谓的I,Q,M,V等区只是西门子开发人员定义出来的逻辑分区,类似电脑C,D,E,F盘,其实都处在一个硬盘中,并且都有相对应得一个编号,如果能找到地址的编号,同样可以对其进行寻址,并且不再受存储区的限制,能够大批量的访问连续或有一定规律的地址,这就是间接寻址。
间接寻址分三步:1.建立指针,即获取需要访问存储区起始地址对应编号。
&为地址符号,是S7-200SMART中特殊的编程写法,&VB0代表VB0处在整个存储区的地址编号(指针),可以理解成我们的身份证号码,是一个很大的数值,必须存储在32位存储器中,如VD100,LD0,AC1(AC0不能做指针)等。
2. 间接访问。
通过访问指针指向地址来进行寻址。
间接寻址支持字节,字,双字方式访问,如下图所示:*为访问指针符号,*AC1代表AC1所指向地址的数值,以字节访问则代表一个字节,字访问代表一个字,双字访问代表一个双字。
3.指针偏移。
访问完一个地址后可以以该地址为起始,通过加/减方式对指针进行偏移,从而实现其它地址的访问。
通常字节偏移1,字偏移2,双字偏移4(位不支持间接寻址)总结:间接寻址与直接寻址各有千秋,直接寻址直观简单,适合单个或少量的寻址,不管有没有规律都可以使用,可以满足大部分寻址要求。
间接寻址适合批量且连续或有一定规律的地址,当寻址量较大时,可以将数据设计成有规律,用间接方式寻址可以少写很多步程序,使编程更加简单。
识别绝对和符号地址用户可以用绝对或符号方式识别程序中的指令操作数。
绝对参考使用内存区和位或字节位置识别地址。
符号参考使用字母数字字符组合识别某地址(符号地址)或数值(符号常数)。
程序编辑器如何显示地址举例I0.0 绝对地址由内存区和地址数目指定(SIMATIC程序编辑器)%I0.0 在IEC中,百分比符号位于绝对地址之前(IEC程序编辑器)#INPUT1 #符号位于局部变量之前(SIMATIC或IEC程序编辑器)INPUT1 全局符号名(SIMATIC或IEC程序编辑器)??.? or ????红色问号表示未定义的地址(必须在程序编译之前定义)全局范围与局部范围在符号表中指定的符号值(全局变量表)具有全局范围,在局部变量表中指定的符号值具有局部范围。
全局符号全局符号可在SIMATIC和IEC程序编辑器中使用。
在SIMATIC程序中,用户使用符号表进行全局符号赋值。
在IEC程序中。
用户使用全局变量表进行全局符号赋值。
在程序程序中使用符号之前,不必执行符号赋值;用户可以在任何时间进行符号赋值。
局部变量局部变量可在SIMATIC和IEC程序编辑器中使用。
局部变量在各自的POU的局部变量表中赋值,其范围局限于建立局部变量的POU。
每个POU都有单独的局部变量表。
举例:用户在称作SBR1的子程序局部变量表中定义一个称作INPUT1的变量。
当用户从SBR1内参考INPUT1时,程序编辑器将其识别为SBR1的一个局部变量。
然而,如果用户从程序中的其他位置(例如,从OB1或第二个子程序)参考INPUT1,程序编辑器不将其视作局部变量(因为它位于SBR1之外),而将INPUT1视作未定义的全局符号。
局部变量表的硬件支持STEP 7-Micro/WIN的局部变量表功能要求硬件支持。
用户必须有一台CPU 221、CPU 222、CPU 224或CPU 226才能使用局部变量表。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++。