S7 CPU的存储器中划分为不同的地址区,在程序中通过指令,可以直接访问存储于地址区的数据。地址区包括过程映像输入区(I)、过程映像输出区(Q)、标志位存储区(M)、计数器(C)、定时器(T)、数据块(DB)、本地数据区(L)、外设地址输入区(PI)和外设地址输出(PQ),地址区可访问的单位及表示方法见表5-5。
表5-5 S7-300/400系列PLC地址区
(1)过程映像输入区(I)
过程映像输入区位于CPU的系统存储器,在循环执行用户程序之前,CPU首先扫描输入模块的信息,并将这些信息记录到过程映像输入区中,与输入模块的逻辑地址相匹配。使用过程映像输入区的好处是在一个程序执行周期中保持数据的完整性。使用地址标识符“I”(不分大小写)访问过程映像输入区,如果在程序中访问输入模块中一个输入点,在程序中表示方法如图5-11所示。
一个字节包含8个位,所以位地址的取值范围为0~7,一个输入点即为一个位信号,如果一个32点的输入模块设定的逻辑地址为8,那么第1个点的表示方法为I8.0;第10个点的表示方法为I9.1;第32个点的表示方法为I11.7。按字节访问地址表示方法为IB8、IB9、IB10、IB11(B为字节BYTE的首字母);按字访问表示方法为IW8、IW10(W为字WORD的首字母);按双字访问表示方法为ID8(D为双字DOUBLE WORD的首字母)。
(2)过程映像输出区(Q)
过程映像输出区位于CPU的系统存储器,在循环执行用户程序中,CPU将程序逻辑输出的值存放在过程映像输出区,在一个程序执行周期时,开始更新过程映像输出区并将所有的输出值发送到输出模块,保证输出模块输出的一致性。在S7-300系列PLC中,过程映像输出区固定为128个字节,在S7-400系列PLC中,过程映像输出区的大小可以设置,过程映像输出区与输出模块的逻辑地址应相匹配。
使用地址标识符“Q”(不分大小写)访问过程映像输出区,在程序中表示方法与输入信号相同,输入模块与输出模块分别属于两个地址区,模块逻辑地址可以相同。
(3)标志位存储区(M)
标志位存储区位于CPU的系统存储器,地址标识符为“M”,数据区的大小与CPU的类型有关,早期的S7-300系列PLC的标志位存储区只有256个字节,新的S7-CPU315-2DP(2AG10)的标志位存储区为2048个字节,CPU412-2DP的标志位存储区为4096个字节。在程序中,访问标志位存储区的表示方法与输入信号相同。M区中,掉电保持的数据区大小可以在CPU中设置。
(4)定时器(T)
定时器存储区位于CPU的系统存储器,地址标识符为“T”,定时器的数量与CPU的类型有关,定时器的表示方法为TX,T表示定时器标识符,X表示第几个定时器,每一个定时器占用一个字的存储空间。存储区中掉电保持的定时器个数可以在CPU中设置。
(5)计数器(C)
计数器存储区位于CPU的系统存储器,地址标识符为“C”,定时器的数量与CPU的类型有关,计数器的表示方法为CX,C表示计数器的标识符,X表示第几个计数器,每一个计数器占用一个字的存储空间。存储区中掉电保持的计数器个数可以在CPU中设置。
图5-11 输入模块地址表示方法
注意:(www.xing528.com)
如果在程序中访问M区、定时器、计数器地址超出CPU规定地址区范围,则CPU将报错,并提示程序不能下载。
(6)数据块存储区(DB)
数据块可以存储于装载存储器、工作存储器以及系统存储器中(块堆栈),共享数据块地址标识符为“DB”,函数块FB、SFB的背景数据块地址标识符为“DI”。以标识符DB为例,按位访问DB区的表示方法为DB1.DBX20.0(第一个数据块中,第21个字节的第一位,X表示位信号);按字节访问DB区的表示方法为DB1.DBB20(第一个数据块中,第21个字节,B为字节BYTE的首字母);按字访问DB区的表示方法为DB1.DBW8(W为字WORD的首字母);按双字访问DB区的表示方法为DB1.DBD8(D为双字DOUBLE WORD的首字母)。数据块的个数与数据块存储区的大小与CPU类型有关,每一个数据块的大小与使用S7-300CPU或S7-400CPU有关,通常S7-300系列PLC数据块的容量为32K,S7-400系列PLC数据块的容量为64K。数据块中的数据默认设置为掉电保持,不需要额外设置。
注意:
在语句表编程中,通过“DB”或“DI”区分两个打开的数据块,在其他应用中,函数块FB、SFB的背景数据块也可以使用“DB”表示。
(7)本地数据区(L)
本地数据区位于CPU的系统数据区,地址标识符为“L”,包括函数、函数块的临时变量、组织块中的开始信息、参数传送信息及梯形图编程的内部逻辑结果。在程序中访问本地数据区的表示方法与输入信号相同。
在S7-300系列PLC中,每一类优先级组织块及其程序调用相关函数所占用最大的本地数据区固定为256个字节,例如在主程序OB1中调用函数FC1和FC2,三者使用总的临时变量不能超过256个字节;在S7-400系列PLC中,每一类优先级组织块及其程序调用相关函数所占用的本地数据区大小可以设置,CPU可以使用的本地数据区大小与CPU的类型有关,如CPU414-3的本地数据区为16K。
注意:
如果使用本地数据区超出CPU的限制,则CPU将停机。
(8)外设地址输入区(PI)
外设地址输入区位于CPU的系统数据区,地址标识符为“PI”,与过程映像区功能相反,不经过过程映像区的扫描,程序访问外设地址区时,直接将输入模块当前的信息读入并作为逻辑运算的条件,例如在程序中直接读出模拟量输入的信息等,同样一个模块,逻辑地址的设定决定该模块数据信息的读取方式,例如S7-300系列PLC过程映像输入区为128个字节,如果设定模块逻辑地址大于128个字节,那么该模块只能通过外设输入区读取。访问外设输入地址区最小单位为字节,例如访问一个字节表示方法为PIBX(B为字节BYTE的首字母,X为外设地址区),访问一个字表示方法为PIW X(W为字WORD的首字母,X为外设地址区),访问一个双字表示方法为PID X(D为双字DOUBLE WORD的首字母,X为外设地址区)。
(9)外设地址输出区(PQ)
外设地址输出区位于CPU的系统数据区,地址标识符为“PQ”,与外设地址输入区的访问方式相同,访问字节、字和双字的表示方法为PQB X、PQW X和PQD X(X为外设地址区)。
注意:
在过程映像区内,I/O地址的数据也可以直接使用,立即读(PI)或立即写(PQ)的方式为直接访问,访问最小单位为字节。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。