西门子授权代理商
西门子授权代理商
西门子授权代理商
西门子200PLC存储器
(1)S7-200程序结构。S7-200用户程序可以采用主、子程序结构或普通线性化结构。当采用普通线性化结构时,只需要编制主程序OBI;当采用主、子程序式分块结构时,PLC程序由主程序(OBI)、子程序(SDRn)、中断程序(INRn)等组成。
S7-200PLC的主、子程序结构对程序块的内部排列有规定的要求。主程序(OB1)必须进行编写,且位于程序的*前面;随后是子程序(SBRn)与中断程序(INRn)。在S7-200中,子程序(SBRn)、中断程序(INRn)可以根据需要进行选用与编写。
1) 主程序:S7-200 PLC主程序代号规定为OBI。早期的S7-200PLC用户程序不分块,需要在主程序之后接着安排子程序与中断程序,主程序的结束应使用指令MEND作为标记。但如果使用的是Micro/WIN32编程软件、主程序、子程序、中断程序都可以通过独立的区域进行编程,通过编程软件的自动编译功能可以对程序进行自动的编排与调整,主程序的结束无须再编写指令MEND,如图5-30(a)所示。
主程序OB1在S7~200PLC中为用户程序的组织、管理者、必须位于PLC用户程序的*前面以保证每次执行PLC循环时,对OB1进行扫描。
2)子程序:S7-200PLC的子程序代号为SRBn(n为十进制数值,根据CPU的不同,可以是0~63或0~127),子程序号用来区别不同的子程序。
同样,早期的$7-200PLC是在子程序结束处使用指令RET作为返回标记,如图5-30(b)所示,子程序SRBn必须编在主程序OBI的结束指令MEND之后。采用了Micro/WTN32编程软件后,这些由编程软件进行自动编排与调整。
子程序SRBn在S7-200PLC中为可选部分,可以编写也可以不编写。子程序的执行通过主程序OB1对该子程序的调用实现,并非每次PLC循环都需要执行全部子程序。
3)中断程序:S7-200PLC的中断程序代号为INTn(n为十进制数值,可以是0~127),用于区别不同的中断程序。早期的中断程序结束是使用指令RETI作为返回标记,中断程序INTn同样必须编在主程序 OBI的结束指令MEND之后,且习惯上是放在子程序SBRn之后(也可以放在子程序之前)。
中断程序INTn在S7-200PLC中同样为可以选择的部分,它需要通过主程序OB1的调用才能执行,并非每次PLC循环都需要执行全部中断程序。
S7-200PLC的程序结构与执行过程如图5-30(c)所示。
4)局部变量堆栈:在进行PLC程序设计时,程序中有很多为了简化逻辑块结构而设置的临时状态、数据存储单元,这些存储单元实际上只是为了方便编程、检查而设的临时存储单元,它与逻辑外部的程序无关,在S7中将其称为"局部变量"或"临时变量(Temp)"。
根据需要,设计者可以在S7-200PLC的OBI、SBRa、INTa中使用"临时变量"。"临时变量"存储在局部变量数据堆栈(L)中,这一区域为全部程序块所公用,只可以用于OB1或SBRn、INTn块内部使用的中间运算结果寄存(这些中间运算结果不可以用于块外部)。局部变量堆栈在程序块执行完成后,数据将被其他逻辑所需要的内容所替代。
如果需要保存可以用于其他逻辑块的状态,应使用PLC的内部标志寄存器M或变量存储器。
图5-30 S7-200 PLC的程序结构与执行过程
(a)自动编译的程序结构;(b)早期的程序结构;(c)程序的执行过程
(2) S7-200PLC的存储器结构。编制完成的PLC用户程序以及PLC执行程序所需要的数据、执行过程中产生的中间状态等都需要通过存储器进行存储、为了使读者了解CPU的内部管理情况。理将S7-200的存储器结构介绍如下。
1) S7-200PLC存储器类型。S7-200 PLC可以采用多种形式的存储器来进行PLC程序与数据的存储,以防止数据的丢失。S7-200PLC可以使用的存储器主要有如下类型。
● RAM:CPU模块本身带有动态数据存储器(RAM)。RAM用于存储PLC的运算、处理结果等数据。根据需要,RAM的数据可以通过电容器或电池盒(选件)进行保持,但其存储时间较短,一般只能保持几天。
● EEPROM(或Flash ROM):除RAM外,CPU模块本身带有的保持型存储器(EEPROM或FlashROM),可以进行数据的**性存储。保持型存储器用于存储PLC用户程序、PLC参数等重要数据;根据需要,也可以将PLC程序执行过程中所产生的局部变量Y、内部标志M、定时器T、计数器C等保存在保持型存储器中。
●存储器卡:存储器卡在S7-200PLC中为可选件,用户可以根据需要选用。存储器卡为保持型存储器可以作为PLC保持型存储器的扩展与后备,用于保存PLC用户程序、PLC参数、变量V、内部标志M、定时器T、计数器C等。
2)存储器分区。S7-200PLC的内部存储器分为程序存储区、数据存储区、参数存储区。其中、程序存储区用于存储PLC用户程序;数据存储区用于存储PLC运算、处理的中间结果(如输入输出映像,标志、变量的状态,计数器、定时器的中间值等);参数存储区用于存储PLC配置参数(包括程序保护密码、地址分配设定、停电保持区域的设定等)。
3个区的作用以及相互间的关系如图5-31所示。
图5-31 S7-200PLC存储器区域的作用及相互关系